]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Thu, 20 Apr 2023 10:16:01 +0000 (20:16 +1000)
committerGitHub <noreply@github.com>
Thu, 20 Apr 2023 10:16:01 +0000 (20:16 +1000)
125 files changed:
Content.Client/Actions/ActionsSystem.cs
Content.Client/Administration/Commands/UploadFile.cs
Content.Client/Administration/Commands/UploadFolder.cs
Content.Client/Administration/Managers/ClientAdminManager.cs
Content.Client/Administration/Systems/AdminVerbSystem.cs
Content.Client/Administration/Systems/KillSignSystem.cs
Content.Client/AirlockPainter/AirlockPainterSystem.cs
Content.Client/Atmos/Miasma/FliesSystem.cs
Content.Client/Atmos/Overlays/GasTileOverlay.cs
Content.Client/Audio/AmbientSoundSystem.cs
Content.Client/Changelog/ChangelogManager.cs
Content.Client/Changelog/ChangelogWindow.xaml.cs
Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs
Content.Client/Credits/CreditsWindow.xaml.cs
Content.Client/CrewManifest/CrewManifestUi.xaml.cs
Content.Client/Damage/DamageVisualsSystem.cs
Content.Client/DoAfter/DoAfterOverlay.cs
Content.Client/Examine/ExamineSystem.cs
Content.Client/Ghost/GhostComponent.cs
Content.Client/Guidebook/GuideEntry.cs
Content.Client/Guidebook/GuidebookSystem.cs
Content.Client/LateJoin/LateJoinGui.cs
Content.Client/Mapping/MappingSystem.cs
Content.Client/PDA/PDAMenu.xaml.cs
Content.Client/Parallax/Data/GeneratedParallaxTextureSource.cs
Content.Client/Parallax/Data/ImageParallaxTextureSource.cs
Content.Client/Pointing/PointingSystem.cs
Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs
Content.Client/Resources/ResourceCacheExtensions.cs
Content.Client/Screenshot/ScreenshotHook.cs
Content.Client/Stack/StackVisualizer.cs
Content.Client/Storage/Systems/ItemMapperSystem.cs
Content.Client/TextScreen/TextScreenSystem.cs
Content.Client/Weapons/Melee/MeleeWindupOverlay.cs
Content.IntegrationTests/Tests/GameObjects/Components/EntityPrototypeComponentsTest.cs
Content.IntegrationTests/Tests/PostMapInitTest.cs
Content.IntegrationTests/Tests/SaveLoadMapTest.cs
Content.IntegrationTests/Tests/SaveLoadSaveTest.cs
Content.Server/Abilities/Mime/MimePowersComponent.cs
Content.Server/Access/Systems/IdExaminableSystem.cs
Content.Server/Administration/Managers/AdminManager.cs
Content.Server/Administration/Notes/AdminNotesSystem.cs
Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs
Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs
Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs
Content.Server/Administration/Systems/AdminVerbSystem.cs
Content.Server/Bible/Components/SummonableComponent.cs
Content.Server/Body/Systems/InternalsSystem.cs
Content.Server/Botany/SeedPrototype.cs
Content.Server/Buckle/Systems/BuckleSystem.Buckle.cs
Content.Server/Clothing/Systems/ChameleonClothingSystem.cs
Content.Server/Construction/Conditions/EntityAnchored.cs
Content.Server/Construction/ConstructionSystem.Guided.cs
Content.Server/Construction/ConstructionSystem.Machine.cs
Content.Server/DetailExaminable/DetailExaminableystem.cs
Content.Server/DeviceNetwork/Systems/NetworkConfiguratorSystem.cs
Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
Content.Server/Entry/EntryPoint.cs
Content.Server/Foldable/FoldableSystem.cs
Content.Server/GameTicking/GameTicker.LobbyBackground.cs
Content.Server/GameTicking/Prototypes/LobbyBackgroundPrototype.cs
Content.Server/GameTicking/Rules/Configurations/NukeopsRuleConfiguration.cs
Content.Server/Ghost/Components/GhostComponent.cs
Content.Server/Guardian/GuardianHostComponent.cs
Content.Server/HealthExaminable/HealthExaminableSystem.cs
Content.Server/Humanoid/Systems/HumanoidSystem.Modifier.cs
Content.Server/Kitchen/EntitySystems/SharpSystem.cs
Content.Server/Light/EntitySystems/ExpendableLightSystem.cs
Content.Server/Light/EntitySystems/HandheldLightSystem.cs
Content.Server/Light/EntitySystems/UnpoweredFlashlightSystem.cs
Content.Server/MachineLinking/System/TwoWayLeverSystem.cs
Content.Server/Mapping/MappingSystem.cs
Content.Server/Maps/GameMapPrototype.cs
Content.Server/Medical/Stethoscope/Components/StethoscopeComponent.cs
Content.Server/Medical/Stethoscope/StethoscopeSystem.cs
Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
Content.Server/Nutrition/EntitySystems/FoodSystem.cs
Content.Server/Objectives/Conditions/DieCondition.cs
Content.Server/Objectives/Conditions/EscapeShuttleCondition.cs
Content.Server/Objectives/Conditions/KillPersonCondition.cs
Content.Server/Objectives/Conditions/RandomTraitorAliveCondition.cs
Content.Server/Objectives/Conditions/RandomTraitorProgressCondition.cs
Content.Server/PDA/Ringer/RingerSystem.cs
Content.Server/Power/EntitySystems/CableMultitoolSystem.cs
Content.Server/Power/EntitySystems/PowerReceiverSystem.cs
Content.Server/Prayer/PrayableComponent.cs
Content.Server/Procedural/DungeonAtlasTemplateComponent.cs
Content.Server/Procedural/DungeonSystem.cs
Content.Server/Rotatable/RotatableSystem.cs
Content.Server/Salvage/SalvageMapPrototype.cs
Content.Server/Shuttles/Components/GridFillComponent.cs
Content.Server/Shuttles/Components/StationArrivalsComponent.cs
Content.Server/Station/StationConfig.Shuttles.cs
Content.Server/Sticky/Systems/StickySystem.cs
Content.Server/Storage/EntitySystems/DumpableSystem.cs
Content.Server/Storage/EntitySystems/StorageSystem.cs
Content.Server/Strip/StrippableSystem.cs
Content.Server/Tabletop/TabletopSystem.cs
Content.Server/Weapons/Melee/MeleeWeaponSystem.cs
Content.Server/Weapons/Ranged/Systems/GunSystem.Battery.cs
Content.Server/Weapons/Ranged/Systems/GunSystem.Cartridges.cs
Content.Shared/Administration/NetworkResourceUploadMessage.cs
Content.Shared/Administration/SharedNetworkResourceManager.cs
Content.Shared/Cabinet/SharedItemCabinetSystem.cs
Content.Shared/Cargo/Prototypes/CargoShuttlePrototype.cs
Content.Shared/Chat/TypingIndicator/TypingIndicatorPrototype.cs
Content.Shared/Clothing/EntitySystems/ToggleableClothingSystem.cs
Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs
Content.Shared/Examine/ExamineSystemShared.Group.cs
Content.Shared/Examine/GroupExamineComponent.cs
Content.Shared/Explosion/ExplosionPrototype.cs
Content.Shared/Follower/FollowerSystem.cs
Content.Shared/Item/SharedItemSystem.cs
Content.Shared/Lock/LockSystem.cs
Content.Shared/Maps/ContentTileDefinition.cs
Content.Shared/Procedural/DungeonRoomPrototype.cs
Content.Shared/Storage/Components/ItemMapperComponent.cs
Content.Shared/Storage/EntitySystems/SharedEntityStorageSystem.cs
Content.Shared/Vehicle/Components/VehicleComponent.cs
Content.Shared/Verbs/VerbCategory.cs
Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Interactions.cs
Content.Tests/Shared/Alert/AlertManagerTests.cs
Content.Tests/Shared/Alert/AlertPrototypeTests.cs
Content.YAMLLinter/Program.cs
Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml

index f76205063b51d3ca3ac267d26d002c063ce6931c..f2be7be2258877e5cfefde1a59f4a299f543c542 100644 (file)
@@ -272,7 +272,7 @@ namespace Content.Client.Actions
             if (PlayerActions == null)
                 return;
 
-            var file = new ResourcePath(path).ToRootedPath();
+            var file = new ResPath(path).ToRootedPath();
             TextReader reader = userData
                 ? _resources.UserData.OpenText(file)
                 : _resources.ContentFileReadText(file);
index 5056ef540fc1059c8b40640014222ae1ea8a34fb..db501c8fb14097bdec5799395d1cf2df8112a8aa 100644 (file)
@@ -30,7 +30,7 @@ public sealed class UploadFile : IConsoleCommand
             return;
         }
 
-        var path = new ResourcePath(args[0]).ToRelativePath();
+        var path = new ResPath(args[0]).ToRelativePath();
 
         var dialog = IoCManager.Resolve<IFileDialogManager>();
 
index 02b094e9166be9e0f0faca2f7ff3ddefc824fd09..128da57577ffa9210a5ffe669a46c277424bdef8 100644 (file)
@@ -15,7 +15,7 @@ public sealed class UploadFolder : IConsoleCommand
     public string Description => Loc.GetString("uploadfolder-command-description");
     public string Help => Loc.GetString("uploadfolder-command-help");
 
-    private static readonly ResourcePath BaseUploadFolderPath = new("/UploadFolder");
+    private static readonly ResPath BaseUploadFolderPath = new("/UploadFolder");
 
     [Dependency] private IResourceManager _resourceManager = default!;
     [Dependency] private IConfigurationManager _configManager = default!;
@@ -37,7 +37,7 @@ public sealed class UploadFolder : IConsoleCommand
             shell.WriteLine( Loc.GetString("uploadfolder-command-help"));
             return;
         }
-        var folderPath = new ResourcePath(BaseUploadFolderPath + $"/{args[0]}");
+        var folderPath = new ResPath(BaseUploadFolderPath + $"/{args[0]}");
 
         if (!_resourceManager.UserData.Exists(folderPath.ToRootedPath()))
         {
@@ -63,7 +63,7 @@ public sealed class UploadFolder : IConsoleCommand
                 var netManager = IoCManager.Resolve<INetManager>();
                 var msg = netManager.CreateNetMessage<NetworkResourceUploadMessage>();
 
-                msg.RelativePath = new ResourcePath($"{filepath.ToString().Remove(0,14)}"); //removes /UploadFolder/ from path
+                msg.RelativePath = new ResPath($"{filepath.ToString().Remove(0,14)}"); //removes /UploadFolder/ from path
                 msg.Data = data;
 
                 netManager.ClientSendMessage(msg);
index 2242ef8cdad6d6baa9badf0a8fdf2ff8443d7af8..67d847fe51aa47ef31f70dcde71db2874f0bcf44 100644 (file)
@@ -72,7 +72,7 @@ namespace Content.Client.Administration.Managers
             _netMgr.RegisterNetMessage<MsgUpdateAdminStatus>(UpdateMessageRx);
 
             // Load flags for engine commands, since those don't have the attributes.
-            if (_res.TryContentFileRead(new ResourcePath("/clientCommandPerms.yml"), out var efs))
+            if (_res.TryContentFileRead(new ResPath("/clientCommandPerms.yml"), out var efs))
             {
                 _localCommandPermissions.LoadPermissionsFromStream(efs);
             }
index 3a19463b9fe05d176f03eb92a88c4bc8bbdf6338..e37b51af52622c1260596f9563cf0ce97a7088ef 100644 (file)
@@ -27,7 +27,7 @@ namespace Content.Client.Administration.Systems
                 Verb verb = new();
                 verb.Category = VerbCategory.Debug;
                 verb.Text = "View Variables";
-                verb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/vv.svg.192dpi.png"));
+                verb.Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/vv.svg.192dpi.png"));
                 verb.Act = () => _clientConsoleHost.ExecuteCommand($"vv {args.Target}");
                 verb.ClientExclusive = true; // opening VV window is client-side. Don't ask server to run this verb.
                 args.Verbs.Add(verb);
index 5d86c0d91efac268acb42b08fb9868a7ace794b9..59ee2e1714b9c193e33f378c10dfa97d5976dc15 100644 (file)
@@ -33,7 +33,7 @@ public sealed class KillSignSystem : EntitySystem
 
         var adj = sprite.Bounds.Height / 2 + ((1.0f/32) * 6.0f);
 
-        var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ResourcePath("Objects/Misc/killsign.rsi"), "sign"));
+        var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ResPath("Objects/Misc/killsign.rsi"), "sign"));
         sprite.LayerMapSet(KillSignKey.Key, layer);
 
         sprite.LayerSetOffset(layer, new Vector2(0.0f, adj));
index dd2995d482c8b901d930be1ea3a28e9d8109c50e..6831b0e4e1fa05145fcd2cf244ad97b41633d91a 100644 (file)
@@ -28,7 +28,7 @@ namespace Content.Client.AirlockPainter
                     continue;
                 }
 
-                RSIResource doorRsi = _resourceCache.GetResource<RSIResource>(TextureRoot / new ResourcePath(iconPath));
+                RSIResource doorRsi = _resourceCache.GetResource<RSIResource>(TextureRoot / new ResPath(iconPath));
                 if (!doorRsi.RSI.TryGetState("closed", out var icon))
                 {
                     Entries.Add(new AirlockPainterEntry(style, null));
index 493ca8bd4b1086c2264551fe3c030c9c951168cf..c6f94c4a010fe7f1815765b67ac6b91f0137faa4 100644 (file)
@@ -30,7 +30,7 @@ public sealed class FliesSystem : EntitySystem
         if (sprite.LayerMapTryGet(FliesKey.Key, out var _))
             return;
 
-        var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ResourcePath("Objects/Misc/flies.rsi"), "flies"));
+        var layer = sprite.AddLayer(new SpriteSpecifier.Rsi(new ("Objects/Misc/flies.rsi"), "flies"));
         sprite.LayerMapSet(FliesKey.Key, layer);
     }
 
index ac8eb70afc8d36e438a03041e2989300852bccc1..209b8ee6b0731d26d24055bca09f7e1532a0915d 100644 (file)
@@ -62,9 +62,9 @@ namespace Content.Client.Atmos.Overlays
                 SpriteSpecifier overlay;
 
                 if (!string.IsNullOrEmpty(gasPrototype.GasOverlaySprite) && !string.IsNullOrEmpty(gasPrototype.GasOverlayState))
-                    overlay = new SpriteSpecifier.Rsi(new ResourcePath(gasPrototype.GasOverlaySprite), gasPrototype.GasOverlayState);
+                    overlay = new SpriteSpecifier.Rsi(new (gasPrototype.GasOverlaySprite), gasPrototype.GasOverlayState);
                 else if (!string.IsNullOrEmpty(gasPrototype.GasOverlayTexture))
-                    overlay = new SpriteSpecifier.Texture(new ResourcePath(gasPrototype.GasOverlayTexture));
+                    overlay = new SpriteSpecifier.Texture(new (gasPrototype.GasOverlayTexture));
                 else
                     continue;
 
index a26b7cc515fcad69d6f153415aaa4b6af78be324..e357e63c25469e47655a5018efff69c90f61ebe5 100644 (file)
@@ -205,7 +205,7 @@ namespace Content.Client.Audio
             string key;
 
             if (ambientComp.Sound is SoundPathSpecifier path)
-                key = path.Path?.ToString() ?? string.Empty;
+                key = path.Path.ToString();
             else
                 key = ((SoundCollectionSpecifier) ambientComp.Sound).Collection ?? string.Empty;
 
index 59fb7dc182dc02b464d8fe2b56e1443e1ae01c69..0e27ec7f6a719db50976177a9268bfa13f212077 100644 (file)
@@ -43,7 +43,7 @@ namespace Content.Client.Changelog
             NewChangelogEntries = false;
             NewChangelogEntriesChanged?.Invoke();
 
-            using var sw = _resource.UserData.OpenWriteText(new ResourcePath($"/changelog_last_seen_{_configManager.GetCVar(CCVars.ServerId)}"));
+            using var sw = _resource.UserData.OpenWriteText(new ($"/changelog_last_seen_{_configManager.GetCVar(CCVars.ServerId)}"));
 
             sw.Write(MaxId.ToString());
         }
@@ -60,7 +60,7 @@ namespace Content.Client.Changelog
 
             MaxId = changelog.Max(c => c.Id);
 
-            var path = new ResourcePath($"/changelog_last_seen_{_configManager.GetCVar(CCVars.ServerId)}");
+            var path = new ResPath($"/changelog_last_seen_{_configManager.GetCVar(CCVars.ServerId)}");
             if(_resource.UserData.TryReadAllText(path, out var lastReadIdText))
             {
                 LastReadId = int.Parse(lastReadIdText);
@@ -75,7 +75,7 @@ namespace Content.Client.Changelog
         {
             return Task.Run(() =>
             {
-                var yamlData = _resource.ContentFileReadYaml(new ResourcePath("/Changelog/Changelog.yml"));
+                var yamlData = _resource.ContentFileReadYaml(new ("/Changelog/Changelog.yml"));
 
                 if (yamlData.Documents.Count == 0)
                     return new List<ChangelogEntry>();
index 1cb8377c99db5d8e0126ee6a372864db9aa63dd7..88981268af68194f2ca21c9687096dbc05ae643f 100644 (file)
@@ -182,7 +182,7 @@ namespace Content.Client.Changelog
 
             return new TextureRect
             {
-                Texture = _resourceCache.GetTexture(new ResourcePath($"/Textures/Interface/Changelog/{file}")),
+                Texture = _resourceCache.GetTexture(new ResPath($"/Textures/Interface/Changelog/{file}")),
                 VerticalAlignment = VAlignment.Top,
                 TextureScale = (0.5f, 0.5f),
                 Margin = new Thickness(2, 4, 6, 2),
index 5f372067373cd1dc86614ec4dcf1df97b4743a47..d0913e5cdbeb5e7c6d088147dd1e3543726230e6 100644 (file)
@@ -38,7 +38,7 @@ namespace Content.Client.Chemistry.UI
 
             // Pill type selection buttons, in total there are 20 pills.
             // Pill rsi file should have states named as pill1, pill2, and so on.
-            var resourcePath = new ResourcePath(PillsRsiPath);
+            var resourcePath = new ResPath(PillsRsiPath);
             var pillTypeGroup = new ButtonGroup();
             PillTypeButtons = new Button[20];
             for (uint i = 0; i < PillTypeButtons.Length; i++)
index a2145b479d9b3f89ae39f8d18a04cf72c9cfb03c..1b2a63f40818d642668f10bd74fa9ebfc04d0c18 100644 (file)
@@ -103,7 +103,7 @@ namespace Content.Client.Credits
 
         private IEnumerable<PatronEntry> LoadPatrons()
         {
-            var yamlStream = _resourceManager.ContentFileReadYaml(new ResourcePath("/Credits/Patrons.yml"));
+            var yamlStream = _resourceManager.ContentFileReadYaml(new ("/Credits/Patrons.yml"));
             var sequence = (YamlSequenceNode) yamlStream.Documents[0].RootNode;
 
             return sequence
index 3a043b595feaaf3417651a10c038b65cd189a34a..2f6f5f9268e3a24bf876aa4be5fae5c5b6ccc06e 100644 (file)
@@ -121,7 +121,7 @@ public sealed partial class CrewManifestUi : DefaultWindow
 
             AddChild(gridContainer);
 
-            var path = new ResourcePath("/Textures/Interface/Misc/job_icons.rsi");
+            var path = new ResPath("/Textures/Interface/Misc/job_icons.rsi");
             cache.TryGetResource(path, out RSIResource? rsi);
 
             foreach (var entry in entries)
index aaef798101d2223e1a290b89a480dc190c49ccac..41f705c3f2a7efd8b75c06bfb5f881c0a924fe70 100644 (file)
@@ -328,7 +328,7 @@ public sealed class DamageVisualsSystem : VisualizerSystem<DamageVisualsComponen
     {
         var newLayer = spriteComponent.AddLayer(
             new SpriteSpecifier.Rsi(
-                new ResourcePath(sprite.Sprite), state
+                new (sprite.Sprite), state
             ), index);
         spriteComponent.LayerMapSet(mapKey, newLayer);
         if (sprite.Color != null)
@@ -461,7 +461,7 @@ public sealed class DamageVisualsSystem : VisualizerSystem<DamageVisualsComponen
             threshold = damageVisComp.Thresholds[1];
         spriteLayer = spriteComponent.AddLayer(
             new SpriteSpecifier.Rsi(
-                new ResourcePath(sprite.Sprite),
+                new (sprite.Sprite),
                 $"{statePrefix}_{threshold}"
             ),
             spriteLayer);
index 090a8bc6a563cd79264df1fb772fe83adca52de1..d6d4cb88cbb8c885af312d38b9af0c1fbc362f2d 100644 (file)
@@ -35,7 +35,7 @@ public sealed class DoAfterOverlay : Overlay
         _timing = timing;
         _transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
         _meta = _entManager.EntitySysManager.GetEntitySystem<MetaDataSystem>();
-        var sprite = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/progress_bar.rsi"), "icon");
+        var sprite = new SpriteSpecifier.Rsi(new ("/Textures/Interface/Misc/progress_bar.rsi"), "icon");
         _barTexture = _entManager.EntitySysManager.GetEntitySystem<SpriteSystem>().Frame0(sprite);
 
         _shader = protoManager.Index<ShaderPrototype>("unshaded").Instance();
index 39fc1408c4150144c5a719d885463772bebba55a..9b3e209c3bdeec15c0c06b72fac4193968c777b8 100644 (file)
@@ -117,7 +117,7 @@ namespace Content.Client.Examine
             // Center it on the entity if they use the verb instead.
             verb.Act = () => DoExamine(args.Target, false);
             verb.Text = Loc.GetString("examine-verb-name");
-            verb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/examine.svg.192dpi.png"));
+            verb.Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/examine.svg.192dpi.png"));
             verb.ShowOnExamineTooltip = false;
             verb.ClientExclusive = true;
             args.Verbs.Add(verb);
index aaf1da46e631e9e47863cba5ff8f2391a44ad99d..99f19d4a153fac0a7ddb187ad8a16fdc7026c174 100644 (file)
@@ -13,7 +13,7 @@ namespace Content.Client.Ghost
 
         public InstantAction ToggleLightingAction = new()
         {
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Interface/VerbIcons/light.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("Interface/VerbIcons/light.svg.192dpi.png")),
             DisplayName = "ghost-gui-toggle-lighting-manager-name",
             Description = "ghost-gui-toggle-lighting-manager-desc",
             UserPopup = "ghost-gui-toggle-lighting-manager-popup",
@@ -24,7 +24,7 @@ namespace Content.Client.Ghost
 
         public InstantAction ToggleFoVAction = new()
         {
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Interface/VerbIcons/vv.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("Interface/VerbIcons/vv.svg.192dpi.png")),
             DisplayName = "ghost-gui-toggle-fov-name",
             Description = "ghost-gui-toggle-fov-desc",
             UserPopup = "ghost-gui-toggle-fov-popup",
@@ -35,7 +35,7 @@ namespace Content.Client.Ghost
 
         public InstantAction ToggleGhostsAction = new()
         {
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("Mobs/Ghosts/ghost_human.rsi"), "icon"),
+            Icon = new SpriteSpecifier.Rsi(new ("Mobs/Ghosts/ghost_human.rsi"), "icon"),
             DisplayName = "ghost-gui-toggle-ghost-visibility-name",
             Description = "ghost-gui-toggle-ghost-visibility-desc",
             UserPopup = "ghost-gui-toggle-ghost-visibility-popup",
index da1b560c28dc08682c1b4b4697ec25b976896140..f6029e78cbb7b8c4c7737c237413ef6f5742e7ed 100644 (file)
@@ -10,7 +10,7 @@ public class GuideEntry
     /// <summary>
     ///     The file containing the contents of this guide.
     /// </summary>
-    [DataField("text", required: true)] public ResourcePath Text = default!;
+    [DataField("text", required: true)] public ResPath Text = default!;
 
     /// <summary>
     ///     The unique id for this guide.
index e6272f440c3d346f018efb87178acbf43a0c6a44..acaa51524b33924f18641a4a00ab28907a761128 100644 (file)
@@ -49,7 +49,7 @@ public sealed class GuidebookSystem : EntitySystem
         args.Verbs.Add(new()
         {
             Text = Loc.GetString("guide-help-verb"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/information.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/information.svg.192dpi.png")),
             Act = () => OnGuidebookOpen?.Invoke(component.Guides, null, null, component.IncludeChildren, component.Guides[0]),
             ClientExclusive = true,
             CloseMenu = true
index 5da927f9c33fae845ef3837f3ca7b78865456da5..b2d824064452ae43a34563530db99bfc268d53e6 100644 (file)
@@ -231,7 +231,7 @@ namespace Content.Client.LateJoin
                             Stretch = TextureRect.StretchMode.KeepCentered
                         };
 
-                        var specifier = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/job_icons.rsi"), prototype.Icon);
+                        var specifier = new SpriteSpecifier.Rsi(new ("/Textures/Interface/Misc/job_icons.rsi"), prototype.Icon);
                         icon.Texture = _sprites.Frame0(specifier);
                         jobSelector.AddChild(icon);
 
@@ -262,7 +262,7 @@ namespace Content.Client.LateJoin
                             {
                                 TextureScale = (0.4f, 0.4f),
                                 Stretch = TextureRect.StretchMode.KeepCentered,
-                                Texture = _sprites.Frame0(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Nano/lock.svg.192dpi.png"))),
+                                Texture = _sprites.Frame0(new SpriteSpecifier.Texture(new ("/Textures/Interface/Nano/lock.svg.192dpi.png"))),
                                 HorizontalExpand = true,
                                 HorizontalAlignment = HAlignment.Right,
                             });
index bf34ba3c6a035182c1a6b81658eabc84973692da..8a5100925d2f23bdae41ba73d18f73a0282c752d 100644 (file)
@@ -17,12 +17,12 @@ public sealed partial class MappingSystem : EntitySystem
     /// <summary>
     ///     The icon to use for space tiles.
     /// </summary>
-    private readonly SpriteSpecifier _spaceIcon = new SpriteSpecifier.Texture(new ResourcePath("Tiles/cropped_parallax.png"));
+    private readonly SpriteSpecifier _spaceIcon = new SpriteSpecifier.Texture(new ("Tiles/cropped_parallax.png"));
 
     /// <summary>
     ///     The icon to use for entity-eraser.
     /// </summary>
-    private readonly SpriteSpecifier _deleteIcon = new SpriteSpecifier.Texture(new ResourcePath("Interface/VerbIcons/delete.svg.192dpi.png"));
+    private readonly SpriteSpecifier _deleteIcon = new SpriteSpecifier.Texture(new ("Interface/VerbIcons/delete.svg.192dpi.png"));
 
     public string DefaultMappingActions = "/mapping_actions.yml";
 
@@ -80,7 +80,7 @@ public sealed partial class MappingSystem : EntitySystem
 
             var tileIcon = contentTileDef.IsSpace
                 ? _spaceIcon
-                : new SpriteSpecifier.Texture(contentTileDef.Sprite!);
+                : new SpriteSpecifier.Texture(contentTileDef.Sprite!.Value);
 
             ev.Action = new InstantAction()
             {
index b90b2aa7db0dd7c8b68e0e0dda5126fd0c8b58c4..5d30e67e1bf0715be3af195a33279ad29d60cf35 100644 (file)
@@ -28,11 +28,11 @@ namespace Content.Client.PDA
 
             ViewContainer.OnChildAdded += control => control.Visible = false;
 
-            HomeButton.IconTexture = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/home.png"));
-            FlashLightToggleButton.IconTexture = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/light.png"));
-            EjectPenButton.IconTexture = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/pencil.png"));
-            EjectIdButton.IconTexture = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/eject.png"));
-            ProgramCloseButton.IconTexture = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Nano/cross.svg.png"));
+            HomeButton.IconTexture = new SpriteSpecifier.Texture(new ("/Textures/Interface/home.png"));
+            FlashLightToggleButton.IconTexture = new SpriteSpecifier.Texture(new ("/Textures/Interface/light.png"));
+            EjectPenButton.IconTexture = new SpriteSpecifier.Texture(new ("/Textures/Interface/pencil.png"));
+            EjectIdButton.IconTexture = new SpriteSpecifier.Texture(new ("/Textures/Interface/eject.png"));
+            ProgramCloseButton.IconTexture = new SpriteSpecifier.Texture(new ("/Textures/Interface/Nano/cross.svg.png"));
 
 
             HomeButton.OnPressed += _ => ToHomeScreen();
index 702ba5f3ab7403df53b12ced96b081bdca7d6024..15ec9d959b93e43100af40e08f9135380183a6a8 100644 (file)
@@ -23,7 +23,7 @@ public sealed class GeneratedParallaxTextureSource : IParallaxTextureSource
     /// In client resources.
     /// </summary>
     [DataField("configPath")]
-    public ResourcePath ParallaxConfigPath { get; } = new("/parallax_config.toml");
+    public ResPath ParallaxConfigPath { get; } = new("/parallax_config.toml");
 
     /// <summary>
     /// ID for debugging, caching, and so forth.
@@ -37,13 +37,13 @@ public sealed class GeneratedParallaxTextureSource : IParallaxTextureSource
     /// Cached path.
     /// In user directory.
     /// </summary>
-    private ResourcePath ParallaxCachedImagePath => new($"/parallax_{Identifier}cache.png");
+    private ResPath ParallaxCachedImagePath => new($"/parallax_{Identifier}cache.png");
 
     /// <summary>
     /// Old parallax config path (for checking for parallax updates).
     /// In user directory.
     /// </summary>
-    private ResourcePath PreviousParallaxConfigPath => new($"/parallax_{Identifier}config_old");
+    private ResPath PreviousParallaxConfigPath => new($"/parallax_{Identifier}config_old");
 
     async Task<Texture> IParallaxTextureSource.GenerateTexture(CancellationToken cancel)
     {
@@ -113,7 +113,7 @@ public sealed class GeneratedParallaxTextureSource : IParallaxTextureSource
             for (var i = 0; i < debugImages!.Count; i++)
             {
                 var debugImage = debugImages[i];
-                using var debugImageStream = StaticIoC.ResC.UserData.OpenWrite(new ResourcePath($"/parallax_{Identifier}debug_{i}.png"));
+                using var debugImageStream = StaticIoC.ResC.UserData.OpenWrite(new ResPath($"/parallax_{Identifier}debug_{i}.png"));
                 debugImage.SaveAsPng(debugImageStream);
             }
         }
index 8ebb970fc77b59fc28d336770a0494078142c823..d4ac089236d8b0e9b2c2a675fe5b22fe8791548a 100644 (file)
@@ -16,7 +16,7 @@ public sealed class ImageParallaxTextureSource : IParallaxTextureSource
     /// Texture path.
     /// </summary>
     [DataField("path", required: true)]
-    public ResourcePath Path { get; } = default!;
+    public ResPath Path { get; } = default!;
 
     Task<Texture> IParallaxTextureSource.GenerateTexture(CancellationToken cancel)
     {
index 884c5ba83c2d56f0dee388ccad3a7f5d88d5dd27..f8bae5664bd30045090534ea0e208638eda26da6 100644 (file)
@@ -55,7 +55,7 @@ public sealed class PointingSystem : SharedPointingSystem
         Verb verb = new()
         {
             Text = Loc.GetString("pointing-verb-get-data-text"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/point.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/point.svg.192dpi.png")),
             ClientExclusive = true,
             Act = () => RaiseNetworkEvent(new PointingAttemptEvent(args.Target))
         };
index d95d72b9375d8f956a7cbccf78f0d40f4a84a3cb..b404b13fcf1168f9e5286774bb6265042433bece 100644 (file)
@@ -53,7 +53,7 @@ namespace Content.Client.Preferences.UI
         private readonly IEntityManager _entMan;
         private readonly IConfigurationManager _configurationManager;
         private readonly MarkingManager _markingManager;
-        
+
         private LineEdit _ageEdit => CAgeEdit;
         private LineEdit _nameEdit => CNameEdit;
         private LineEdit _flavorTextEdit = null!;
@@ -1060,7 +1060,7 @@ namespace Content.Client.Preferences.UI
             {
                 return;
             }
-            
+
             // facial hair color
             Color? facialHairColor = null;
             if ( Profile.Appearance.FacialHairStyleId != HairStyles.DefaultFacialHairStyle &&
@@ -1213,7 +1213,7 @@ namespace Content.Client.Preferences.UI
 
                 if (job.Icon != null)
                 {
-                    var specifier = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/job_icons.rsi"),
+                    var specifier = new SpriteSpecifier.Rsi(new ("/Textures/Interface/Misc/job_icons.rsi"),
                         job.Icon);
                     icon.Texture = specifier.Frame0();
                 }
index cb0626c1284b5f2552aa2e1561baa077bdfaf1cf..b2808e007e76d371948303ea4d3058d0211d44c1 100644 (file)
@@ -8,27 +8,27 @@ namespace Content.Client.Resources
     [PublicAPI]
     public static class ResourceCacheExtensions
     {
-        public static Texture GetTexture(this IResourceCache cache, ResourcePath path)
+        public static Texture GetTexture(this IResourceCache cache, ResPath path)
         {
             return cache.GetResource<TextureResource>(path);
         }
 
         public static Texture GetTexture(this IResourceCache cache, string path)
         {
-            return GetTexture(cache, new ResourcePath(path));
+            return GetTexture(cache, new ResPath(path));
         }
 
-        public static Font GetFont(this IResourceCache cache, ResourcePath path, int size)
+        public static Font GetFont(this IResourceCache cache, ResPath path, int size)
         {
             return new VectorFont(cache.GetResource<FontResource>(path), size);
         }
 
         public static Font GetFont(this IResourceCache cache, string path, int size)
         {
-            return cache.GetFont(new ResourcePath(path), size);
+            return cache.GetFont(new ResPath(path), size);
         }
 
-        public static Font GetFont(this IResourceCache cache, ResourcePath[] path, int size)
+        public static Font GetFont(this IResourceCache cache, ResPath[] path, int size)
         {
             var fs = new Font[path.Length];
             for (var i = 0; i < path.Length; i++)
@@ -39,9 +39,9 @@ namespace Content.Client.Resources
 
         public static Font GetFont(this IResourceCache cache, string[] path, int size)
         {
-            var rp = new ResourcePath[path.Length];
+            var rp = new ResPath[path.Length];
             for (var i = 0; i < path.Length; i++)
-                rp[i] = new ResourcePath(path[i]);
+                rp[i] = new ResPath(path[i]);
 
             return cache.GetFont(rp, size);
         }
index 31530c4e9a7c02709b352482b5ecdb15a7e25f25..753691a58e062a8116bf5eb2a0c840192df9e0b8 100644 (file)
@@ -18,7 +18,7 @@ namespace Content.Client.Screenshot
 {
     internal sealed class ScreenshotHook : IScreenshotHook
     {
-        private static readonly ResourcePath BaseScreenshotPath = new("/Screenshots");
+        private static readonly ResPath BaseScreenshotPath = new("/Screenshots");
 
         [Dependency] private readonly IInputManager _inputManager = default!;
         [Dependency] private readonly IClyde _clyde = default!;
index ae1c96f2616c0d92806f12167cd09986236a1906..a3437bb67cca7000884ba2205d402b1c74b80095 100644 (file)
@@ -76,7 +76,7 @@ namespace Content.Client.Stack
         /// </summary>
         [DataField("composite")] private bool _isComposite;
 
-        [DataField("sprite")] private ResourcePath? _spritePath;
+        [DataField("sprite")] private ResPath? _spritePath;
 
         [Obsolete("Subscribe to your component being initialised instead.")]
         public override void InitializeEntity(EntityUid entity)
index 5472126ada7a0bace0c75cff926635004b04e03f..71c1c5b3be55d91eb705a6115a7d88ef7787cf68 100644 (file)
@@ -48,7 +48,7 @@ public sealed class ItemMapperSystem : SharedItemMapperSystem
         foreach (var sprite in component.SpriteLayers)
         {
             spriteComponent.LayerMapReserveBlank(sprite);
-            spriteComponent.LayerSetSprite(sprite, new SpriteSpecifier.Rsi(component.RSIPath!, sprite));
+            spriteComponent.LayerSetSprite(sprite, new SpriteSpecifier.Rsi(component.RSIPath!.Value, sprite));
             spriteComponent.LayerSetVisible(sprite, false);
         }
     }
index ce3928b98bfc435e70db4f738651d14e76ae982e..20eb902579715cfb7c55a6a055e78f57b5474fd8 100644 (file)
@@ -88,7 +88,7 @@ public sealed class TextScreenSystem : VisualizerSystem<TextScreenVisualsCompone
             {
                 sprite.LayerMapReserveBlank(TextScreenLayerMapKey + i);
                 component.LayerStatesToDraw.Add(TextScreenLayerMapKey + i, null);
-                sprite.LayerSetRSI(TextScreenLayerMapKey + i, new ResourcePath("Effects/text.rsi"));
+                sprite.LayerSetRSI(TextScreenLayerMapKey + i, new ResPath("Effects/text.rsi"));
                 sprite.LayerSetColor(TextScreenLayerMapKey + i, component.Color);
                 sprite.LayerSetState(TextScreenLayerMapKey + i, DefaultState);
             }
index 6f800772525ce8ba20e4c9952928d688de953609..72439de23600f531bf28d1f75dae1c8ddb30b7cd 100644 (file)
@@ -29,7 +29,7 @@ public sealed class MeleeWindupOverlay : Overlay
         _player = playerManager;
         _melee = _entManager.EntitySysManager.GetEntitySystem<SharedMeleeWeaponSystem>();
         _transform = _entManager.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
-        var sprite = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/progress_bar.rsi"), "icon");
+        var sprite = new SpriteSpecifier.Rsi(new ("/Textures/Interface/Misc/progress_bar.rsi"), "icon");
         _texture = _entManager.EntitySysManager.GetEntitySystem<SpriteSystem>().Frame0(sprite);
         _shader = protoManager.Index<ShaderPrototype>("unshaded").Instance();
     }
index 40c181346d508e1abb0acec2bf7b806a05016b36..30006d59dca7aac2bf3a4408dcdd5ff4d240f69e 100644 (file)
@@ -24,7 +24,7 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components
             var client = pairTracker.Pair.Client;
 
             var sResourceManager = server.ResolveDependency<IResourceManager>();
-            var prototypePath = new ResourcePath("/Prototypes/");
+            var prototypePath = new ResPath("/Prototypes/");
             var paths = sResourceManager.ContentFindFiles(prototypePath)
                 .ToList()
                 .AsParallel()
index c1d7c2ac48168faec33032564e30394f09fcb0e6..a1d9045185fe91f60bbec942335f5d4aaea7c911 100644 (file)
@@ -89,7 +89,7 @@ namespace Content.IntegrationTests.Tests
             var server = pairTracker.Pair.Server;
 
             var resourceManager = server.ResolveDependency<IResourceManager>();
-            var mapFolder = new ResourcePath("/Maps");
+            var mapFolder = new ResPath("/Maps");
             var maps = resourceManager
                 .ContentFindFiles(mapFolder)
                 .Where(filePath => filePath.Extension == "yml" && !filePath.Filename.StartsWith(".", StringComparison.Ordinal))
@@ -299,7 +299,7 @@ namespace Content.IntegrationTests.Tests
 
                     var gameMaps = protoManager.EnumeratePrototypes<GameMapPrototype>().Select(o => o.MapPath).ToHashSet();
 
-                    var mapFolder = new ResourcePath("/Maps");
+                    var mapFolder = new ResPath("/Maps");
                     var maps = resourceManager
                         .ContentFindFiles(mapFolder)
                         .Where(filePath => filePath.Extension == "yml" && !filePath.Filename.StartsWith(".", StringComparison.Ordinal))
index caf8e672cd3183d1c21a3c4ac6bf5a48b7b48d5e..904dd0c1b5ea2ea7de1c10192451daa5195c1392 100644 (file)
@@ -27,9 +27,9 @@ namespace Content.IntegrationTests.Tests
             var xformSystem = sEntities.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
             var resManager = server.ResolveDependency<IResourceManager>();
 
-            await server.WaitPost(() =>
+            await server.WaitAssertion(() =>
             {
-                var dir = new ResourcePath(mapPath).Directory;
+                var dir = new ResPath(mapPath).Directory;
                 resManager.UserData.CreateDir(dir);
 
                 var mapId = mapManager.CreateMap();
@@ -50,14 +50,17 @@ namespace Content.IntegrationTests.Tests
                 Assert.Multiple(() => mapLoader.SaveMap(mapId, mapPath));
                 Assert.Multiple(() => mapManager.DeleteMap(mapId));
             });
+
             await server.WaitIdleAsync();
 
-            await server.WaitPost(() =>
+            await server.WaitAssertion(() =>
             {
                 Assert.Multiple(() => mapLoader.LoadMap(new MapId(10), mapPath));
 
             });
+
             await server.WaitIdleAsync();
+
             await server.WaitAssertion(() =>
             {
                 {
@@ -84,6 +87,7 @@ namespace Content.IntegrationTests.Tests
                     Assert.That(mapGrid.GetTileRef(new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(2, (TileRenderFlag)1, 254)));
                 }
             });
+
             await pairTracker.CleanReturnAsync();
         }
     }
index c85ca1952a801a339eedc82b4c10ef4a479beee5..a94c25f19fe3e33d4d2a7b520ac7248e70bc7191 100644 (file)
@@ -43,14 +43,14 @@ namespace Content.IntegrationTests.Tests
             string one;
             string two;
 
-            var rp1 = new ResourcePath("/save load save 1.yml");
+            var rp1 = new ResPath("/save load save 1.yml");
             await using (var stream = userData.Open(rp1, FileMode.Open))
             using (var reader = new StreamReader(stream))
             {
                 one = await reader.ReadToEndAsync();
             }
 
-            var rp2 = new ResourcePath("/save load save 2.yml");
+            var rp2 = new ResPath("/save load save 2.yml");
             await using (var stream = userData.Open(rp2, FileMode.Open))
             using (var reader = new StreamReader(stream))
             {
@@ -117,13 +117,13 @@ namespace Content.IntegrationTests.Tests
             string one;
             string two;
 
-            await using (var stream = userData.Open(new ResourcePath("/load save ticks save 1.yml"), FileMode.Open))
+            await using (var stream = userData.Open(new ResPath("/load save ticks save 1.yml"), FileMode.Open))
             using (var reader = new StreamReader(stream))
             {
                 one = await reader.ReadToEndAsync();
             }
 
-            await using (var stream = userData.Open(new ResourcePath("/load save ticks save 2.yml"), FileMode.Open))
+            await using (var stream = userData.Open(new ResPath("/load save ticks save 2.yml"), FileMode.Open))
             using (var reader = new StreamReader(stream))
             {
                 two = await reader.ReadToEndAsync();
@@ -189,7 +189,7 @@ namespace Content.IntegrationTests.Tests
             });
 
             await server.WaitIdleAsync();
-            await using (var stream = userData.Open(new ResourcePath(fileA), FileMode.Open))
+            await using (var stream = userData.Open(new ResPath(fileA), FileMode.Open))
             using (var reader = new StreamReader(stream))
             {
                 yamlA = await reader.ReadToEndAsync();
@@ -210,7 +210,7 @@ namespace Content.IntegrationTests.Tests
 
             await server.WaitIdleAsync();
 
-            await using (var stream = userData.Open(new ResourcePath(fileB), FileMode.Open))
+            await using (var stream = userData.Open(new ResPath(fileB), FileMode.Open))
             using (var reader = new StreamReader(stream))
             {
                 yamlB = await reader.ReadToEndAsync();
index e38935742b1c0bbe6281d1bea146d041cbe9ea6e..15db6b77093c4b411db63ce7113128c2c9bcba76 100644 (file)
@@ -28,7 +28,7 @@ namespace Content.Server.Abilities.Mime
         public InstantAction InvisibleWallAction = new()
         {
             UseDelay = TimeSpan.FromSeconds(30),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Structures/Walls/solid.rsi/full.png")),
+            Icon = new SpriteSpecifier.Texture(new("Structures/Walls/solid.rsi/full.png")),
             DisplayName = "mime-invisible-wall",
             Description = "mime-invisible-wall-desc",
             Priority = -1,
index 009718efad6d9db7c966ded7b3b276b9f6abac75..26b6d01ee635b3aaadc8881ac9b591044591fb40 100644 (file)
@@ -36,7 +36,7 @@ public sealed class IdExaminableSystem : EntitySystem
             Category = VerbCategory.Examine,
             Disabled = !detailsRange,
             Message = Loc.GetString("id-examinable-component-verb-disabled"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/character.svg.192dpi.png"))
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/character.svg.192dpi.png"))
         };
 
         args.Verbs.Add(verb);
index 04f66c27f4a294050245f6d0d579bec5ba897714..b79d1a7f20b531c0645bb6ea6bb5f79fb45010cd 100644 (file)
@@ -197,7 +197,7 @@ namespace Content.Server.Administration.Managers
             }
 
             // Load flags for engine commands, since those don't have the attributes.
-            if (_res.TryContentFileRead(new ResourcePath("/engineCommandPerms.yml"), out var efs))
+            if (_res.TryContentFileRead(new ResPath("/engineCommandPerms.yml"), out var efs))
             {
                 _commandPermissions.LoadPermissionsFromStream(efs);
             }
index e36c69883c0c01f501e85fbafc240b0ec5461c72..90abb5bc26f80835397bc25c2204134041b7b12b 100644 (file)
@@ -34,7 +34,7 @@ public sealed class AdminNotesSystem : EntitySystem
         {
             Text = Loc.GetString("admin-notes-verb-text"),
             Category = VerbCategory.Admin,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/examine.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/VerbIcons/examine.svg.192dpi.png")),
             Act = () => _console.RemoteExecuteCommand(user, $"{OpenAdminNotesCommand.CommandName} \"{target.UserId}\""),
             Impact = LogImpact.Low
         };
index b134d15fb3ee77d0ce7bd50e2ba1b3dfebb975be..01caaa4e07be63a352d0b6d5f1352fc4c3699bfb 100644 (file)
@@ -36,7 +36,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Make Traitor",
             Category = VerbCategory.Antag,
-            Icon = new SpriteSpecifier.Rsi((new ResourcePath("/Textures/Structures/Wallmounts/posters.rsi")), "poster5_contraband"),
+            Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/Structures/Wallmounts/posters.rsi"), "poster5_contraband"),
             Act = () =>
             {
                 if (targetMindComp.Mind == null || targetMindComp.Mind.Session == null)
@@ -53,7 +53,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Make Zombie",
             Category = VerbCategory.Antag,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Structures/Wallmounts/signs.rsi"), "bio"),
+            Icon = new SpriteSpecifier.Rsi(new("/Textures/Structures/Wallmounts/signs.rsi"), "bio"),
             Act = () =>
             {
                 TryComp(args.Target, out MindComponent? mindComp);
@@ -72,7 +72,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Make nuclear operative",
             Category = VerbCategory.Antag,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Structures/Wallmounts/signs.rsi"), "radiation"),
+            Icon = new SpriteSpecifier.Rsi(new("/Textures/Structures/Wallmounts/signs.rsi"), "radiation"),
             Act = () =>
             {
                 if (targetMindComp.Mind == null || targetMindComp.Mind.Session == null)
@@ -89,7 +89,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Make Pirate",
             Category = VerbCategory.Antag,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Clothing/Head/Hats/pirate.rsi"), "icon"),
+            Icon = new SpriteSpecifier.Rsi(new("/Textures/Clothing/Head/Hats/pirate.rsi"), "icon"),
             Act = () =>
             {
                 if (targetMindComp.Mind == null || targetMindComp.Mind.Session == null)
index 219b7a86d620df80f21429b77ff9ca2a407c2679..53bb5676258942db21e1dd0b5173bf3a2d87af4f 100644 (file)
@@ -102,7 +102,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Explode",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
             Act = () =>
             {
                 var coords = Transform(args.Target).MapPosition;
@@ -122,7 +122,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Chess Dimension",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Fun/Tabletop/chessboard.rsi"), "chessboard"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/Tabletop/chessboard.rsi"), "chessboard"),
             Act = () =>
             {
                 _godmodeSystem.EnableGodmode(args.Target); // So they don't suffocate.
@@ -150,7 +150,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Set Alight",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Fire/fire.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/Alerts/Fire/fire.png")),
                 Act = () =>
                 {
                     // Fuck you. Burn Forever.
@@ -172,7 +172,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Monkeyify",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Mobs/Animals/monkey.rsi"), "dead"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Mobs/Animals/monkey.rsi"), "dead"),
             Act = () =>
             {
                 _polymorphSystem.PolymorphEntity(args.Target, "AdminMonkeySmite");
@@ -186,7 +186,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Garbage Can",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Structures/Piping/disposal.rsi"), "disposal"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Structures/Piping/disposal.rsi"), "disposal"),
             Act = () =>
             {
                 _polymorphSystem.PolymorphEntity(args.Target, "AdminDisposalsSmite");
@@ -202,7 +202,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Lung Cancer",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Mobs/Species/Human/organs.rsi"), "lung-l"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Mobs/Species/Human/organs.rsi"), "lung-l"),
                 Act = () =>
                 {
                     _diseaseSystem.TryInfect(carrier, _prototypeManager.Index<DiseasePrototype>("StageIIIALungCancer"),
@@ -221,7 +221,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Electrocute",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Clothing/Hands/Gloves/Color/yellow.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Clothing/Hands/Gloves/Color/yellow.rsi"), "icon"),
                 Act = () =>
                 {
                     int damageToDeal;
@@ -266,7 +266,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Creampie",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Consumable/Food/Baked/pie.rsi"), "plain-slice"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Consumable/Food/Baked/pie.rsi"), "plain-slice"),
                 Act = () =>
                 {
                     _creamPieSystem.SetCreamPied(args.Target, creamPied, true);
@@ -283,7 +283,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Remove blood",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Fluids/tomato_splat.rsi"), "puddle-1"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Fluids/tomato_splat.rsi"), "puddle-1"),
                 Act = () =>
                 {
                     _bloodstreamSystem.SpillAllSolutions(args.Target, bloodstream);
@@ -306,7 +306,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Vomit organs",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Fluids/vomit_toxin.rsi"), "vomit_toxin-1"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Fluids/vomit_toxin.rsi"), "vomit_toxin-1"),
                 Act = () =>
                 {
                     _vomitSystem.Vomit(args.Target, -1000, -1000); // You feel hollow!
@@ -335,7 +335,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Remove hands",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/remove-hands.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/remove-hands.png")),
                 Act = () =>
                 {
                     var baseXform = Transform(args.Target);
@@ -357,7 +357,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Remove hands",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/remove-hand.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/remove-hand.png")),
                 Act = () =>
                 {
                     var baseXform = Transform(args.Target);
@@ -380,7 +380,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Stomach Removal",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Mobs/Species/Human/organs.rsi"), "stomach"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Mobs/Species/Human/organs.rsi"), "stomach"),
                 Act = () =>
                 {
                     foreach (var (component, _) in _bodySystem.GetBodyOrganComponents<StomachComponent>(args.Target, body))
@@ -400,7 +400,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Lungs Removal",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Mobs/Species/Human/organs.rsi"), "lung-r"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Mobs/Species/Human/organs.rsi"), "lung-r"),
                 Act = () =>
                 {
                     foreach (var (component, _) in _bodySystem.GetBodyOrganComponents<LungComponent>(args.Target, body))
@@ -423,7 +423,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Pinball",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Fun/toys.rsi"), "basketball"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/toys.rsi"), "basketball"),
                 Act = () =>
                 {
                     var xform = Transform(args.Target);
@@ -457,7 +457,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Yeet",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")),
                 Act = () =>
                 {
                     var xform = Transform(args.Target);
@@ -488,7 +488,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Become Bread",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Consumable/Food/Baked/bread.rsi"), "plain"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Consumable/Food/Baked/bread.rsi"), "plain"),
             Act = () =>
             {
                 _polymorphSystem.PolymorphEntity(args.Target, "AdminBreadSmite");
@@ -502,7 +502,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Become Mouse",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Mobs/Animals/mouse.rsi"), "icon-0"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Mobs/Animals/mouse.rsi"), "icon-0"),
             Act = () =>
             {
                 _polymorphSystem.PolymorphEntity(args.Target, "AdminMouseSmite");
@@ -518,7 +518,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Ghostkick",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/gavel.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/gavel.svg.192dpi.png")),
                 Act = () =>
                 {
                     _ghostKickManager.DoDisconnect(actorComponent.PlayerSession.ConnectedClient, "Smitten.");
@@ -534,7 +534,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Nyanify",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Clothing/Head/Hats/catears.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Clothing/Head/Hats/catears.rsi"), "icon"),
                 Act = () =>
                 {
                     var ears = Spawn("ClothingHeadHatCatEars", Transform(args.Target).Coordinates);
@@ -551,7 +551,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Kill sign",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Misc/killsign.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Misc/killsign.rsi"), "icon"),
                 Act = () =>
                 {
                     EnsureComp<KillSignComponent>(args.Target);
@@ -566,7 +566,7 @@ public sealed partial class AdminVerbSystem
                 Text = "Cluwne",
                 Category = VerbCategory.Smite,
 
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Clothing/Mask/cluwne.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Clothing/Mask/cluwne.rsi"), "icon"),
 
                 Act = () =>
                 {
@@ -581,7 +581,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Maid",
                 Category = VerbCategory.Smite,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Clothing/Uniforms/Jumpskirt/janimaid.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Clothing/Uniforms/Jumpskirt/janimaid.rsi"), "icon"),
                 Act = () =>
                 {
                     SetOutfitCommand.SetOutfit(args.Target, "JanitorMaidGear", EntityManager, (_, clothing) =>
@@ -601,7 +601,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Anger Pointing Arrows",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Interface/Misc/pointing.rsi"), "pointing"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Interface/Misc/pointing.rsi"), "pointing"),
             Act = () =>
             {
                 EnsureComp<PointingArrowAngeringComponent>(args.Target);
@@ -615,7 +615,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Dust",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Materials/materials.rsi"), "ash"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Materials/materials.rsi"), "ash"),
             Act = () =>
             {
                 EntityManager.QueueDeleteEntity(args.Target);
@@ -631,7 +631,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Buffering",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Misc/buffering_smite_icon.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/Misc/buffering_smite_icon.png")),
             Act = () =>
             {
                 EnsureComp<BufferingComponent>(args.Target);
@@ -645,7 +645,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Become Instrument",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Fun/Instruments/h_synthesizer.rsi"), "icon"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/Instruments/h_synthesizer.rsi"), "icon"),
             Act = () =>
             {
                 _polymorphSystem.PolymorphEntity(args.Target, "AdminInstrumentSmite");
@@ -659,7 +659,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Remove gravity",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Structures/Machines/gravity_generator.rsi"), "off"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Structures/Machines/gravity_generator.rsi"), "off"),
             Act = () =>
             {
                 var grav = EnsureComp<MovementIgnoreGravityComponent>(args.Target);
@@ -676,7 +676,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Reptilian Species Swap",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Fun/toys.rsi"), "plushie_lizard"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/toys.rsi"), "plushie_lizard"),
             Act = () =>
             {
                 _polymorphSystem.PolymorphEntity(args.Target, "AdminLizardSmite");
@@ -690,7 +690,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Locker stuff",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Structures/Storage/closet.rsi"), "generic"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Structures/Storage/closet.rsi"), "generic"),
             Act = () =>
             {
                 var xform = Transform(args.Target);
@@ -712,7 +712,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Headstand",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")),
             Act = () =>
             {
                 EnsureComp<HeadstandComponent>(args.Target);
@@ -726,7 +726,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Zoom in",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/zoom.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/zoom.png")),
             Act = () =>
             {
                 var eye = EnsureComp<EyeComponent>(args.Target);
@@ -744,7 +744,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Flip eye",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/flip.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/flip.png")),
             Act = () =>
             {
                 var eye = EnsureComp<EyeComponent>(args.Target);
@@ -762,7 +762,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Run Walk Swap",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/run-walk-swap.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/run-walk-swap.png")),
             Act = () =>
             {
                 var movementSpeed = EnsureComp<MovementSpeedModifierComponent>(args.Target);
@@ -782,7 +782,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Speak Backwards",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/help-backwards.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/help-backwards.png")),
             Act = () =>
             {
                 EnsureComp<BackwardsAccentComponent>(args.Target);
@@ -796,7 +796,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Disarm Prone",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Actions/disarm.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/Actions/disarm.png")),
             Act = () =>
             {
                 EnsureComp<DisarmProneComponent>(args.Target);
@@ -810,7 +810,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Super speed",
             Category = VerbCategory.Smite,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/super_speed.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/super_speed.png")),
             Act = () =>
             {
                 var movementSpeed = EnsureComp<MovementSpeedModifierComponent>(args.Target);
index 1d8305787fc2ff85e322153ab7872051d7460a9e..8e320f2bc058bd1714b80cd0d829989c4edbfe2e 100644 (file)
@@ -67,8 +67,8 @@ public sealed partial class AdminVerbSystem
                     Text = airlock.BoltsDown ? "Unbolt" : "Bolt",
                     Category = VerbCategory.Tricks,
                     Icon = airlock.BoltsDown
-                        ? new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/unbolt.png"))
-                        : new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/bolt.png")),
+                        ? new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/unbolt.png"))
+                        : new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/bolt.png")),
                     Act = () =>
                     {
                         _airlockSystem.SetBoltsWithAudio(args.Target, airlock, !airlock.BoltsDown);
@@ -86,7 +86,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = airlock.EmergencyAccess ? "Emergency Access Off" : "Emergency Access On",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/emergency_access.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/emergency_access.png")),
                     Act = () =>
                     {
                         _airlockSystem.ToggleEmergencyAccess(args.Target, airlock);
@@ -108,7 +108,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Rejuvenate",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/rejuvenate.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/rejuvenate.png")),
                     Act = () =>
                     {
                         RejuvenateCommand.PerformRejuvenate(args.Target);
@@ -126,7 +126,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Make Indestructible",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/plus.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/plus.svg.192dpi.png")),
                     Act = () =>
                     {
                         _godmodeSystem.EnableGodmode(args.Target);
@@ -143,7 +143,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Make Vulnerable",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/plus.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/plus.svg.192dpi.png")),
                     Act = () =>
                     {
                         _godmodeSystem.DisableGodmode(args.Target);
@@ -161,7 +161,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Refill Battery",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/fill_battery.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/fill_battery.png")),
                     Act = () =>
                     {
                         battery.CurrentCharge = battery.MaxCharge;
@@ -177,7 +177,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Drain Battery",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/drain_battery.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/drain_battery.png")),
                     Act = () =>
                     {
                         battery.CurrentCharge = 0;
@@ -193,7 +193,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Infinite Battery",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/infinite_battery.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/infinite_battery.png")),
                     Act = () =>
                     {
                         var recharger = EnsureComp<BatterySelfRechargerComponent>(args.Target);
@@ -213,7 +213,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Block Unanchoring",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/anchor.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/anchor.svg.192dpi.png")),
                     Act = () =>
                     {
                         RemComp(args.Target, anchor);
@@ -231,7 +231,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Refill Internals Oxygen",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Tanks/oxygen.rsi"), "icon"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Tanks/oxygen.rsi"), "icon"),
                     Act = () =>
                     {
                         RefillGasTank(args.Target, Gas.Oxygen, tank);
@@ -246,7 +246,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Refill Internals Nitrogen",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Tanks/red.rsi"), "icon"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Tanks/red.rsi"), "icon"),
                     Act = () =>
                     {
                         RefillGasTank(args.Target, Gas.Nitrogen, tank);
@@ -261,7 +261,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Refill Internals Plasma",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Tanks/plasma.rsi"), "icon"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Tanks/plasma.rsi"), "icon"),
                     Act = () =>
                     {
                         RefillGasTank(args.Target, Gas.Plasma, tank);
@@ -279,7 +279,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Refill Internals Oxygen",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Tanks/oxygen.rsi"), "icon"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Tanks/oxygen.rsi"), "icon"),
                     Act = () =>
                     {
                         foreach (var slot in _inventorySystem.GetSlots(args.Target))
@@ -311,7 +311,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Refill Internals Nitrogen",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Tanks/red.rsi"), "icon"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Tanks/red.rsi"), "icon"),
                     Act = () =>
                     {
                         foreach (var slot in _inventorySystem.GetSlots(args.Target))
@@ -343,7 +343,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Refill Internals Plasma",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Tanks/plasma.rsi"), "icon"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Tanks/plasma.rsi"), "icon"),
                     Act = () =>
                     {
                         foreach (var slot in _inventorySystem.GetSlots(args.Target))
@@ -376,7 +376,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Send to test arena",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")),
 
                 Act = () =>
                 {
@@ -397,7 +397,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Grant All Access",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Misc/id_cards.rsi"), "centcom"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Misc/id_cards.rsi"), "centcom"),
                     Act = () =>
                     {
                         GiveAllAccess(activeId.Value);
@@ -412,7 +412,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Revoke All Access",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Misc/id_cards.rsi"), "default"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Misc/id_cards.rsi"), "default"),
                     Act = () =>
                     {
                         RevokeAllAccess(activeId.Value);
@@ -430,7 +430,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Grant All Access",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Misc/id_cards.rsi"), "centcom"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Misc/id_cards.rsi"), "centcom"),
                     Act = () =>
                     {
                         GiveAllAccess(args.Target);
@@ -445,7 +445,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Revoke All Access",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Misc/id_cards.rsi"), "default"),
+                    Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Misc/id_cards.rsi"), "default"),
                     Act = () =>
                     {
                         RevokeAllAccess(args.Target);
@@ -464,7 +464,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Adjust Stack",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/adjust-stack.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/adjust-stack.png")),
                 Act = () =>
                 {
                     // Unbounded intentionally.
@@ -483,7 +483,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Fill Stack",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/fill-stack.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/fill-stack.png")),
                 Act = () =>
                 {
                     _stackSystem.SetCount(args.Target, _stackSystem.GetMaxCount(stack), stack);
@@ -499,7 +499,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Rename",
             Category = VerbCategory.Tricks,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/rename.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/rename.png")),
             Act = () =>
             {
                 _quickDialog.OpenDialog(player, "Rename", "Name", (string newName) =>
@@ -517,7 +517,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Redescribe",
             Category = VerbCategory.Tricks,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/redescribe.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/redescribe.png")),
             Act = () =>
             {
                 _quickDialog.OpenDialog(player, "Redescribe", "Description", (LongString newDescription) =>
@@ -535,7 +535,7 @@ public sealed partial class AdminVerbSystem
         {
             Text = "Redescribe",
             Category = VerbCategory.Tricks,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/rename_and_redescribe.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/rename_and_redescribe.png")),
             Act = () =>
             {
                 _quickDialog.OpenDialog(player, "Rename & Redescribe", "Name", "Description",
@@ -560,7 +560,7 @@ public sealed partial class AdminVerbSystem
                 {
                     Text = "Bar job slots",
                     Category = VerbCategory.Tricks,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/bar_jobslots.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/bar_jobslots.png")),
                     Act = () =>
                     {
                         foreach (var (job, _) in _stationJobsSystem.GetJobs(args.Target))
@@ -579,7 +579,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Locate Cargo Shuttle",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Clothing/Head/Soft/cargosoft.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Clothing/Head/Soft/cargosoft.rsi"), "icon"),
                 Act = () =>
                 {
                     var shuttle = Comp<StationCargoOrderDatabaseComponent>(args.Target).Shuttle;
@@ -602,7 +602,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Refill Battery",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/fill_battery.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/fill_battery.png")),
                 Act = () =>
                 {
                     foreach (var ent in childEnum)
@@ -624,7 +624,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Drain Battery",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/drain_battery.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/drain_battery.png")),
                 Act = () =>
                 {
                     foreach (var ent in childEnum)
@@ -646,7 +646,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Infinite Battery",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/infinite_battery.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/infinite_battery.png")),
                 Act = () =>
                 {
                     // this kills the sloth
@@ -675,7 +675,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Halt Movement",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/halt.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/halt.png")),
                 Act = () =>
                 {
                     _physics.SetLinearVelocity(args.Target, Vector2.Zero, body: physics);
@@ -698,7 +698,7 @@ public sealed partial class AdminVerbSystem
                     {
                         Text = "Unpause Map",
                         Category = VerbCategory.Tricks,
-                        Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/play.png")),
+                        Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/play.png")),
                         Act = () =>
                         {
                             _mapManager.SetMapPaused(map.MapId, false);
@@ -715,7 +715,7 @@ public sealed partial class AdminVerbSystem
                     {
                         Text = "Pause Map",
                         Category = VerbCategory.Tricks,
-                        Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/pause.png")),
+                        Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/pause.png")),
                         Act = () =>
                         {
                             _mapManager.SetMapPaused(map.MapId, true);
@@ -735,7 +735,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Snap Joints",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/AdminActions/snap_joints.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/AdminActions/snap_joints.png")),
                 Act = () =>
                 {
                     _jointSystem.ClearJoints(joints);
@@ -753,7 +753,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Make Minigun",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Weapons/Guns/HMGs/minigun.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Weapons/Guns/HMGs/minigun.rsi"), "icon"),
                 Act = () =>
                 {
                     gun.FireRate = 15;
@@ -771,7 +771,7 @@ public sealed partial class AdminVerbSystem
             {
                 Text = "Set Bullet Amount",
                 Category = VerbCategory.Tricks,
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Objects/Fun/caps.rsi"), "mag-6"),
+                Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/caps.rsi"), "mag-6"),
                 Act = () =>
                 {
                     _quickDialog.OpenDialog(player, "Set Bullet Amount", $"Amount (max {ballisticAmmo.Capacity}):", (int amount) =>
index 656c247a6a677b5d648e1ae6b292c8e794240d2b..8ef3c1069b452667f2df1d651ac58da5789fc3bc 100644 (file)
@@ -81,7 +81,7 @@ namespace Content.Server.Administration.Systems
                     Verb verb = new();
                     verb.Text = Loc.GetString("ahelp-verb-get-data-text");
                     verb.Category = VerbCategory.Admin;
-                    verb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/gavel.svg.192dpi.png"));
+                    verb.Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/gavel.svg.192dpi.png"));
                     verb.Act = () =>
                         _console.RemoteExecuteCommand(player, $"openahelp \"{targetActor.PlayerSession.UserId}\"");
                     verb.Impact = LogImpact.Low;
@@ -91,7 +91,7 @@ namespace Content.Server.Administration.Systems
                     Verb prayerVerb = new();
                     prayerVerb.Text = Loc.GetString("prayer-verbs-subtle-message");
                     prayerVerb.Category = VerbCategory.Admin;
-                    prayerVerb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/pray.svg.png"));
+                    prayerVerb.Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/pray.svg.png"));
                     prayerVerb.Act = () =>
                     {
                         _quickDialog.OpenDialog(player, "Subtle Message", "Message", "Popup Message", (string message, string popupMessage) =>
@@ -111,7 +111,7 @@ namespace Content.Server.Administration.Systems
                             ? Loc.GetString("admin-verbs-unfreeze")
                             : Loc.GetString("admin-verbs-freeze"),
                         Category = VerbCategory.Admin,
-                        Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")),
+                        Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/snow.svg.192dpi.png")),
                         Act = () =>
                         {
                             if (frozen)
@@ -147,7 +147,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("admin-verbs-teleport-to"),
                     Category = VerbCategory.Admin,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/open.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/open.svg.192dpi.png")),
                     Act = () => _console.ExecuteCommand(player, $"tpto {args.Target}"),
                     Impact = LogImpact.Low
                 });
@@ -157,7 +157,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("admin-verbs-teleport-here"),
                     Category = VerbCategory.Admin,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/close.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/close.svg.192dpi.png")),
                     Act = () => _console.ExecuteCommand(player, $"tpto {args.Target} {args.User}"),
                     Impact = LogImpact.Low
                 });
@@ -196,7 +196,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("delete-verb-get-data-text"),
                     Category = VerbCategory.Debug,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/delete_transparent.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/delete_transparent.svg.192dpi.png")),
                     Act = () => EntityManager.DeleteEntity(args.Target),
                     Impact = LogImpact.Medium,
                     ConfirmationPopup = true
@@ -211,7 +211,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("rejuvenate-verb-get-data-text"),
                     Category = VerbCategory.Debug,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/rejuvenate.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/rejuvenate.svg.192dpi.png")),
                     Act = () => RejuvenateCommand.PerformRejuvenate(args.Target),
                     Impact = LogImpact.Medium
                 };
@@ -270,7 +270,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("make-sentient-verb-get-data-text"),
                     Category = VerbCategory.Debug,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/sentient.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/sentient.svg.192dpi.png")),
                     Act = () => MakeSentientCommand.MakeSentient(args.Target, EntityManager),
                     Impact = LogImpact.Medium
                 };
@@ -285,7 +285,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("set-outfit-verb-get-data-text"),
                     Category = VerbCategory.Debug,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
                     Act = () => _euiManager.OpenEui(new SetOutfitEui(args.Target), player),
                     Impact = LogImpact.Medium
                 };
@@ -299,7 +299,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("in-range-unoccluded-verb-get-data-text"),
                     Category = VerbCategory.Debug,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/information.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/information.svg.192dpi.png")),
                     Act = () =>
                     {
                         var message = args.User.InRangeUnOccluded(args.Target)
@@ -319,7 +319,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("tube-direction-verb-get-data-text"),
                     Category = VerbCategory.Debug,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/information.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/information.svg.192dpi.png")),
                     Act = () => _disposalTubes.PopupDirections(args.Target, tube, args.User)
                 };
                 args.Verbs.Add(verb);
@@ -345,7 +345,7 @@ namespace Content.Server.Administration.Systems
                 Verb verb = new()
                 {
                     Text = Loc.GetString("configure-verb-get-data-text"),
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/settings.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/settings.svg.192dpi.png")),
                     Category = VerbCategory.Debug,
                     Act = () => _uiSystem.TryOpen(args.Target, ConfigurationUiKey.Key, actor.PlayerSession)
                 };
@@ -360,7 +360,7 @@ namespace Content.Server.Administration.Systems
                 {
                     Text = Loc.GetString("edit-solutions-verb-get-data-text"),
                     Category = VerbCategory.Debug,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/spill.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/spill.svg.192dpi.png")),
                     Act = () => OpenEditSolutionsEui(player, args.Target),
                     Impact = LogImpact.Medium // maybe high depending on WHAT reagents they add...
                 };
index 97c4ad41a36a301f67a6986b7c84fc114536f2bd..7b4ee11d99b436f7ec3975516974595b82284b2f 100644 (file)
@@ -30,7 +30,7 @@ namespace Content.Server.Bible.Components
         [DataField("summonAction")]
         public InstantAction SummonAction = new()
         {
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Clothing/Head/Hats/witch.rsi/icon.png")),
+            Icon = new SpriteSpecifier.Texture(new ("Clothing/Head/Hats/witch.rsi/icon.png")),
             DisplayName = "bible-summon-verb",
             Description = "bible-summon-verb-desc",
             Event = new SummonActionEvent(),
index 6b0c8e046e6fbc0d0e9f16ab16b58f4d50272483..561c5d7c6da667a540b3871cbfbadea7bb0b93cc 100644 (file)
@@ -49,7 +49,7 @@ public sealed class InternalsSystem : EntitySystem
                 ToggleInternals(uid, args.User, false, component);
             },
             Message = Loc.GetString("action-description-internals-toggle"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/dot.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/dot.svg.192dpi.png")),
             Text = Loc.GetString("action-name-internals-toggle"),
         };
 
index d47bc42f7e2fc59717aaee77113001c231cf779a..3eed7c9387112abbfc2506885b007b6fc2943db8 100644 (file)
@@ -206,7 +206,7 @@ public class SeedData
     #region Cosmetics
 
     [DataField("plantRsi", required: true)]
-    public ResourcePath PlantRsi { get; set; } = default!;
+    public ResPath PlantRsi { get; set; } = default!;
 
     [DataField("plantIconState")] public string PlantIconState { get; set; } = "produce";
 
index 28002c0ffaffb56cc8160b4429ea52d1aad45e60..eb62e902f0e927247b8266a42c608a54287f8905 100644 (file)
@@ -45,7 +45,7 @@ public sealed partial class BuckleSystem
         {
             Act = () => TryUnbuckle(uid, args.User, buckle: component),
             Text = Loc.GetString("verb-categories-unbuckle"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/unbuckle.svg.192dpi.png"))
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/unbuckle.svg.192dpi.png"))
         };
 
         if (args.Target == args.User && args.Using == null)
index 718627812f91b778d7760103a476e418a6045f78..d9aa0066a71a26f8c358a87ffcbea65d4ce87239 100644 (file)
@@ -48,7 +48,7 @@ public sealed class ChameleonClothingSystem : SharedChameleonClothingSystem
         args.Verbs.Add(new InteractionVerb()
         {
             Text = Loc.GetString("chameleon-component-verb-text"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/settings.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/settings.svg.192dpi.png")),
             Act = () => TryOpenUi(uid, args.User, component)
         });
     }
index 8cebfa5cf700fbe213bbb5ac7ec7978daf4a7ffa..78b7e33ee90eaeb6a45791f2781216b0d3c87521 100644 (file)
@@ -43,7 +43,7 @@ namespace Content.Server.Construction.Conditions
                 Localization = Anchored
                     ? "construction-step-condition-entity-anchored"
                     : "construction-step-condition-entity-unanchored",
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("Objects/Tools/wrench.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("Objects/Tools/wrench.rsi"), "icon"),
             };
         }
     }
index 3a684aa94fd6539204ad4e5463c171a0410e4c28..0877ec79ba0ce1a74f875c47c606099ddb1f3b9d 100644 (file)
@@ -46,7 +46,7 @@ namespace Content.Server.Construction
             //TODO VERBS add more construction verbs? Until then, removing construction category
             verb.Text = Loc.GetString("deconstructible-verb-begin-deconstruct");
             verb.Icon = new SpriteSpecifier.Texture(
-                new ResourcePath("/Textures/Interface/hammer_scaled.svg.192dpi.png"));
+                new ("/Textures/Interface/hammer_scaled.svg.192dpi.png"));
 
             verb.Act = () =>
             {
index dcaeab79a2d89b4e502b636e2a598c547893eb32..18dd4aef635bd5fcecfbfe99dc55a6e1cc255f42 100644 (file)
@@ -53,7 +53,7 @@ public sealed partial class ConstructionSystem
             Text = Loc.GetString("machine-upgrade-examinable-verb-text"),
             Message = Loc.GetString("machine-upgrade-examinable-verb-message"),
             Category = VerbCategory.Examine,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/pickup.svg.192dpi.png"))
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/pickup.svg.192dpi.png"))
         };
 
         args.Verbs.Add(verb);
index dec4929a2ab95f64d5daf85904aeefba5ff9c784..dfe8de6efc7c2968c35008af9c6c61659a54cb39 100644 (file)
@@ -32,7 +32,7 @@ namespace Content.Server.DetailExaminable
                 Category = VerbCategory.Examine,
                 Disabled = !detailsRange,
                 Message = Loc.GetString("detail-examinable-verb-disabled"),
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/examine.svg.192dpi.png"))
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/examine.svg.192dpi.png"))
             };
 
             args.Verbs.Add(verb);
index 54ac6107fb6c86eceacc631f6d1a91aada7cd8dd..3ba10dcbb976a513db828eadd8b607424fd98b44 100644 (file)
@@ -177,8 +177,8 @@ public sealed class NetworkConfiguratorSystem : SharedNetworkConfiguratorSystem
         {
             Text = Loc.GetString(isDeviceList ? "network-configurator-configure" : "network-configurator-save-device"),
             Icon = isDeviceList ?
-                new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/settings.svg.192dpi.png")) :
-                new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/in.svg.192dpi.png")),
+                new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/settings.svg.192dpi.png")) :
+                new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/in.svg.192dpi.png")),
             Act = () => OnUsed(uid, component, args.Target, args.User),
             Impact = LogImpact.Low
         };
@@ -200,7 +200,7 @@ public sealed class NetworkConfiguratorSystem : SharedNetworkConfiguratorSystem
         AlternativeVerb verb = new()
         {
             Text = Loc.GetString("network-configurator-save-device"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/in.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/in.svg.192dpi.png")),
             Act = () => TryAddNetworkDevice(args.Target, args.Using.Value, args.User),
             Impact = LogImpact.Low
         };
index 99c57378c1f2f15839ffbc95af9f8cf1fbe9433d..49aa7313a34c25736f748f88519779391be64f79 100644 (file)
@@ -95,7 +95,7 @@ namespace Content.Server.Disposal.Unit.EntitySystems
                 AlternativeVerb flushVerb = new();
                 flushVerb.Act = () => Engage(uid, component);
                 flushVerb.Text = Loc.GetString("disposal-flush-verb-get-data-text");
-                flushVerb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/delete_transparent.svg.192dpi.png"));
+                flushVerb.Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/delete_transparent.svg.192dpi.png"));
                 flushVerb.Priority = 1;
                 args.Verbs.Add(flushVerb);
 
index 0d43c5ebedf226066dda3b3398169e83dab5bc27..454ce3819805fb4d8708b0afadf3185d6b45690f 100644 (file)
@@ -125,7 +125,7 @@ namespace Content.Server.Entry
             var dest = configManager.GetCVar(CCVars.DestinationFile);
             if (!string.IsNullOrEmpty(dest))
             {
-                var resPath = new ResourcePath(dest).ToRootedPath();
+                var resPath = new ResPath(dest).ToRootedPath();
                 var file = resourceManager.UserData.OpenWriteText(resPath.WithName("chem_" + dest));
                 ChemistryJsonGenerator.PublishJson(file);
                 file.Flush();
index a7748ccce2a5bc7f75dd6a263affc65e96d510fc..04a967f6500c503b5505184646dd772ec07f3bd2 100644 (file)
@@ -90,7 +90,7 @@ namespace Content.Server.Foldable
             {
                 Act = () => TryToggleFold(uid, component),
                 Text = component.IsFolded ? Loc.GetString("unfold-verb") : Loc.GetString("fold-verb"),
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/fold.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/fold.svg.192dpi.png")),
 
                 // If the object is unfolded and they click it, they want to fold it, if it's folded, they want to pick it up
                 Priority = component.IsFolded ? 0 : 2,
index 068a5ff700a892aa342d35dadaed61f48493d8bf..7f2ccfe235b7d7197e7919de75db694972dc98b9 100644 (file)
@@ -11,7 +11,7 @@ public sealed partial class GameTicker
     public string? LobbyBackground { get; private set; }
 
     [ViewVariables]
-    private List<ResourcePath>? _lobbyBackgrounds;
+    private List<ResPath>? _lobbyBackgrounds;
 
     private static readonly string[] WhitelistedBackgroundExtensions = new string[] {"png", "jpg", "jpeg"};
 
index ffde20912a470c6d49c8caae49c0202a833ecaef..27f9930df5c7f15fd7e835b94037dc61c900b2b9 100644 (file)
@@ -17,5 +17,5 @@ public sealed class LobbyBackgroundPrototype : IPrototype
     /// The sprite to use as the background. This should ideally be 1920x1080.
     /// </summary>
     [DataField("background", required: true)]
-    public ResourcePath Background = default!;
+    public ResPath Background = default!;
 }
index 43652c0eb7cd0c29ec9ea668c63b653e3e7fa424..09ccd7ad31b56d83bae83feded71e0a2bbfc48b6 100644 (file)
@@ -74,11 +74,11 @@ public sealed class NukeopsRuleConfiguration : GameRuleConfiguration
     [DataField("normalNames", customTypeSerializer: typeof(PrototypeIdSerializer<DatasetPrototype>))]
     public string NormalNames = "SyndicateNamesNormal";
 
-    [DataField("outpostMap", customTypeSerializer: typeof(ResourcePathSerializer))]
-    public ResourcePath? NukieOutpostMap = new("/Maps/nukieplanet.yml");
+    [DataField("outpostMap", customTypeSerializer: typeof(ResPathSerializer))]
+    public ResPath NukieOutpostMap = new("/Maps/nukieplanet.yml");
 
-    [DataField("shuttleMap", customTypeSerializer: typeof(ResourcePathSerializer))]
-    public ResourcePath? NukieShuttleMap = new("/Maps/infiltrator.yml");
+    [DataField("shuttleMap", customTypeSerializer: typeof(ResPathSerializer))]
+    public ResPath NukieShuttleMap = new("/Maps/infiltrator.yml");
 
     [DataField("greetingSound", customTypeSerializer: typeof(SoundSpecifierTypeSerializer))]
     public SoundSpecifier? GreetSound = new SoundPathSpecifier("/Audio/Misc/nukeops.ogg");
index b0d51556f0998be4f07cf09e9254c4930f5b0f4b..02f123d6a9f2dd7cbe6c296624ce7e23b6c9c6e9 100644 (file)
@@ -21,7 +21,7 @@ namespace Content.Server.Ghost.Components
         public InstantAction Action = new()
         {
             UseDelay = TimeSpan.FromSeconds(120),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Interface/Actions/scream.png")),
+            Icon = new SpriteSpecifier.Texture(new ("Interface/Actions/scream.png")),
             DisplayName = "action-name-boo",
             Description = "action-description-boo",
             CheckCanInteract = false,
index bb56d5ec4b1f44b7213300d3bc1b8973e26cb0d2..e317f59be866013e895e1b5b025adf0c25e272a2 100644 (file)
@@ -29,7 +29,7 @@ namespace Content.Server.Guardian
         {
             DisplayName = "action-name-guardian",
             Description = "action-description-guardian",
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Interface/Actions/manifest.png")),
+            Icon = new SpriteSpecifier.Texture(new ("Interface/Actions/manifest.png")),
             UseDelay = TimeSpan.FromSeconds(2),
             CheckCanInteract = false, // allow use while stunned, etc. Gets removed on death anyways.
             Event =  new GuardianToggleActionEvent(),
index d49f5364eb4f289bef7e64c3d346352b5a55ba20..60ea41829f9bb9179c6a29a39adda8a8345995ca 100644 (file)
@@ -36,7 +36,7 @@ public sealed class HealthExaminableSystem : EntitySystem
             Category = VerbCategory.Examine,
             Disabled = !detailsRange,
             Message = Loc.GetString("health-examinable-verb-disabled"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/rejuvenate.svg.192dpi.png"))
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/rejuvenate.svg.192dpi.png"))
         };
 
         args.Verbs.Add(verb);
index cd5cbda3187eab487663be185b7feddfeccc22f3..e7c421d0922d41af396573dbea744e87e040c05a 100644 (file)
@@ -29,7 +29,7 @@ public sealed partial class HumanoidAppearanceSystem
         {
             Text = "Modify markings",
             Category = VerbCategory.Tricks,
-            Icon = new SpriteSpecifier.Rsi(new ResourcePath("/Textures/Mobs/Customization/reptilian_parts.rsi"), "tail_smooth"),
+            Icon = new SpriteSpecifier.Rsi(new ("/Textures/Mobs/Customization/reptilian_parts.rsi"), "tail_smooth"),
             Act = () =>
             {
                 _uiSystem.TryOpen(uid, HumanoidMarkingModifierKey.Key, actor.PlayerSession);
index 5a798132b9b2363396c61c9d8c408fda200e9399..c61fb5b3829209d49dbba44515878993cf5302c8 100644 (file)
@@ -155,7 +155,7 @@ public sealed class SharpSystem : EntitySystem
             },
             Message = message,
             Disabled = disabled,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/cutlery.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/cutlery.svg.192dpi.png")),
             Text = Loc.GetString("butcherable-verb-name"),
         };
 
index 19ab08005ab8b75af34d9c4a816f1d30929b2fa3..8d04e896c30bdc5074f7dbe3172eb34d4b7bd2b9 100644 (file)
@@ -184,7 +184,7 @@ namespace Content.Server.Light.EntitySystems
             ActivationVerb verb = new()
             {
                 Text = Loc.GetString("expendable-light-start-verb"),
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/light.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/light.svg.192dpi.png")),
                 Act = () => TryActivate(component)
             };
             args.Verbs.Add(verb);
index e37e6c8692092ef7f3d1b845be8782d27cb8c3a5..0902602953f078806c5e9280da7c175bc2851521 100644 (file)
@@ -182,7 +182,7 @@ namespace Content.Server.Light.EntitySystems
             ActivationVerb verb = new()
             {
                 Text = Loc.GetString("verb-common-toggle-light"),
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/light.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/light.svg.192dpi.png")),
                 Act = component.Activated
                     ? () => TurnOff(uid, component)
                     : () => TurnOn(args.User, uid,  component)
index 6f61560d7f9e0adfcae62402cc1f2f740956fc39..7bb1ec52eb0a5b3180a15aff25ddd6598d4e62c7 100644 (file)
@@ -49,7 +49,7 @@ namespace Content.Server.Light.EntitySystems
 
             ActivationVerb verb = new();
             verb.Text = Loc.GetString("toggle-flashlight-verb-get-data-text");
-            verb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/light.svg.192dpi.png"));
+            verb.Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/light.svg.192dpi.png"));
             verb.Act = () => ToggleLight(uid, component);
             verb.Priority = -1; // For things like PDA's, Open-UI and other verbs that should be higher priority.
 
index 764b4f172c71c25333a392210cf00f5c452996c6..f217ed7a42e9f061fbf9e6723b978dd4845d53f7 100644 (file)
@@ -66,7 +66,7 @@ namespace Content.Server.MachineLinking.System
                 Category = VerbCategory.Lever,
                 Message = Loc.GetString("two-way-lever-cant"),
                 Disabled = component.State == TwoWayLeverState.Left,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath($"/Textures/Interface/VerbIcons/{_leftToggleImage}")),
+                Icon = new SpriteSpecifier.Texture(new ($"/Textures/Interface/VerbIcons/{_leftToggleImage}")),
                 Text = Loc.GetString("two-way-lever-left"),
             };
 
@@ -87,7 +87,7 @@ namespace Content.Server.MachineLinking.System
                 Category = VerbCategory.Lever,
                 Message = Loc.GetString("two-way-lever-cant"),
                 Disabled = component.State == TwoWayLeverState.Right,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath($"/Textures/Interface/VerbIcons/{_rightToggleImage}")),
+                Icon = new SpriteSpecifier.Texture(new ($"/Textures/Interface/VerbIcons/{_rightToggleImage}")),
                 Text = Loc.GetString("two-way-lever-right"),
             };
 
index 423f14717c554c1ec9afb90d06af8850d15ad798..5b4609bcd67c34274de8697ced85d36c9d530b66 100644 (file)
@@ -82,7 +82,7 @@ public sealed class MappingSystem : EntitySystem
             }
 
             var saveDir = Path.Combine(_cfg.GetCVar(CCVars.AutosaveDirectory), name);
-            _resMan.UserData.CreateDir(new ResourcePath(saveDir).ToRootedPath());
+            _resMan.UserData.CreateDir(new ResPath(saveDir).ToRootedPath());
 
             var path = Path.Combine(saveDir, $"{DateTime.Now.ToString("yyyy-M-dd_HH.mm.ss")}-AUTO.yml");
             _currentlyAutosaving[map] = (CalculateNextTime(), name);
index d609a80cd31672aa9bba7f68ea32542a1ea1b477..e289b7d1b1e93d1c4da76587ccb954e15c682acc 100644 (file)
@@ -31,7 +31,7 @@ public sealed partial class GameMapPrototype : IPrototype
     /// Relative directory path to the given map, i.e. `/Maps/saltern.yml`
     /// </summary>
     [DataField("mapPath", required: true)]
-    public ResourcePath MapPath { get; } = default!;
+    public ResPath MapPath { get; } = default!;
 
     [DataField("stations", required: true)]
     private Dictionary<string, StationConfig> _stations = new();
index 6e27ecc6b106f82ee709f3c94b1790053e2aace4..b16d49f38df24d09bc801a11df7945ee539590ca 100644 (file)
@@ -17,7 +17,7 @@ namespace Content.Server.Medical.Components
 
         public EntityTargetAction Action = new()
         {
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Clothing/Neck/Misc/stethoscope.rsi/icon.png")),
+            Icon = new SpriteSpecifier.Texture(new ("Clothing/Neck/Misc/stethoscope.rsi/icon.png")),
             DisplayName = "stethoscope-verb",
             Priority = -1,
             Event = new StethoscopeActionEvent(),
index b89c463dff0bc4369ada8b6a17208e86ae375108..273b2d508b9ee4dcb50417bef041779c203d51f0 100644 (file)
@@ -83,7 +83,7 @@ namespace Content.Server.Medical
                     StartListening(component.Stethoscope, uid, args.Target, stetho); // start doafter
                 },
                 Text = Loc.GetString("stethoscope-verb"),
-                Icon = new SpriteSpecifier.Rsi(new ResourcePath("Clothing/Neck/Misc/stethoscope.rsi"), "icon"),
+                Icon = new SpriteSpecifier.Rsi(new ("Clothing/Neck/Misc/stethoscope.rsi"), "icon"),
                 Priority = 2
             };
             args.Verbs.Add(verb);
index e4ce6784af0d8951447a60bf0844a5daedcb488e..41212e536b0a7b5a04fced99abd51bff6a5e9076 100644 (file)
@@ -411,7 +411,7 @@ namespace Content.Server.Nutrition.EntitySystems
                 {
                     TryDrink(ev.User, ev.User, component, uid);
                 },
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/drink.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/drink.svg.192dpi.png")),
                 Text = Loc.GetString("drink-system-verb-drink"),
                 Priority = 2
             };
index 7975f8898cf27463e03f8aa106f11229236d696d..a78aa7712467968f4262886564942464e7b2ccb1 100644 (file)
@@ -281,7 +281,7 @@ namespace Content.Server.Nutrition.EntitySystems
                 {
                     TryFeed(ev.User, ev.User, uid, component);
                 },
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/cutlery.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/cutlery.svg.192dpi.png")),
                 Text = Loc.GetString("food-system-verb-eat"),
                 Priority = -1
             };
index 340b5ba60cec348ce92082d69b82f0cd838680f2..cc5ddd9abf0810fc6a92a42a840c072295642315 100644 (file)
@@ -19,7 +19,7 @@ namespace Content.Server.Objectives.Conditions
 
         public string Description => Loc.GetString("objective-condition-die-description");
 
-        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ResourcePath("Mobs/Ghosts/ghost_human.rsi"), "icon");
+        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Mobs/Ghosts/ghost_human.rsi"), "icon");
 
         public float Progress => (_mind?.CharacterDeadIC ?? true) ? 1f : 0f;
 
index ea86c2c7d64d9a5c852ca5093016a5318d2e9f00..e5e8964f4e0a8409d03b203aa7df9a4710e2cc6c 100644 (file)
@@ -24,7 +24,7 @@ namespace Content.Server.Objectives.Conditions
 
         public string Description => Loc.GetString("objective-condition-escape-shuttle-description");
 
-        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ResourcePath("Structures/Furniture/chairs.rsi"), "shuttle");
+        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Structures/Furniture/chairs.rsi"), "shuttle");
 
         private bool IsAgentOnShuttle(TransformComponent agentXform, EntityUid? shuttle)
         {
index 2ae101f40f98b9e2eb053f3674dba73512dea220..a3a057961bbad5874cabc6dd204d34a510d3a19b 100644 (file)
@@ -30,7 +30,7 @@ namespace Content.Server.Objectives.Conditions
 
         public string Description => Loc.GetString("objective-condition-kill-person-description");
 
-        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ResourcePath("Objects/Weapons/Guns/Pistols/viper.rsi"), "icon");
+        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Objects/Weapons/Guns/Pistols/viper.rsi"), "icon");
 
         public float Progress => (Target?.CharacterDeadIC ?? true) ? 1f : 0f;
 
index 8906a2b7377a522d2ef96c63664187e6042e2413..d653df357dfd7be0d7d3c9d4c8c2cf8b9e8b533f 100644 (file)
@@ -39,7 +39,7 @@ namespace Content.Server.Objectives.Conditions
 
         public string Description => Loc.GetString("objective-condition-other-traitor-alive-description");
 
-        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ResourcePath("Objects/Misc/bureaucracy.rsi"), "folder-white");
+        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Objects/Misc/bureaucracy.rsi"), "folder-white");
 
         public float Progress => (!_target?.CharacterDeadIC ?? true) ? 1f : 0f;
 
index e11dba815d64154bfcf4c0f5070b6b1f8c57aebb..fd19603387eacab6f77e628bc4ba92fe17df66b9 100644 (file)
@@ -59,7 +59,7 @@ namespace Content.Server.Objectives.Conditions
 
         public string Description => Loc.GetString("objective-condition-other-traitor-progress-description");
 
-        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ResourcePath("Objects/Misc/bureaucracy.rsi"), "folder-white");
+        public SpriteSpecifier Icon => new SpriteSpecifier.Rsi(new ("Objects/Misc/bureaucracy.rsi"), "folder-white");
 
         public float Progress
         {
index dd4394149bccf0de5df9b8f71df121b29f35bb79..eb5e38e5a8ee42d8a568e063519aafb69dce3af6 100644 (file)
@@ -130,7 +130,7 @@ namespace Content.Server.PDA.Ringer
 
         private string GetSound(Note note)
         {
-            return new ResourcePath("/Audio/Effects/RingtoneNotes/" + note.ToString().ToLower()) + ".ogg";
+            return new ResPath("/Audio/Effects/RingtoneNotes/" + note.ToString().ToLower()) + ".ogg";
         }
     }
 }
index a3134191549e127dde3dc734ba03fa3dea96c816..15b967bb1d5cbb0c873c14a64aa661317de7c2a1 100644 (file)
@@ -52,7 +52,7 @@ namespace Content.Server.Power.EntitySystems
                     Message = Loc.GetString("cable-multitool-system-verb-tooltip"),
                     Text = Loc.GetString("cable-multitool-system-verb-name"),
                     Category = VerbCategory.Examine,
-                    Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/zap.svg.192dpi.png")),
+                    Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/zap.svg.192dpi.png")),
                     Act = () =>
                     {
                         var markup = FormattedMessage.FromMarkup(GenerateCableMarkup(uid));
index 9accaed63e3819b475f8089260a3e237777f55f9..35412d174283c15b9797d8dc6bbc4d1b7fe43c18 100644 (file)
@@ -46,7 +46,7 @@ namespace Content.Server.Power.EntitySystems
             {
                 Text = Loc.GetString("verb-debug-toggle-need-power"),
                 Category = VerbCategory.Debug,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")), // "smite" is a lightning bolt
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")), // "smite" is a lightning bolt
                 Act = () => component.NeedsPower = !component.NeedsPower
             });
         }
@@ -127,7 +127,7 @@ namespace Content.Server.Power.EntitySystems
                 {
                     TogglePower(uid, user: args.User);
                 },
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/Spare/poweronoff.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/Spare/poweronoff.svg.192dpi.png")),
                 Text = Loc.GetString("power-switch-component-toggle-verb"),
                 Priority = -3
             };
index 48a5eeedbe447760f22928756f054f7adcd1b5d7..e458e59fd533f388fc03ae6da57d07b81f82b782 100644 (file)
@@ -41,7 +41,7 @@ namespace Content.Server.Prayer
         /// </summary>
         [DataField("verbImage")]
         [ViewVariables(VVAccess.ReadOnly)]
-        public SpriteSpecifier? VerbImage = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/pray.svg.png"));
+        public SpriteSpecifier? VerbImage = new SpriteSpecifier.Texture(new ("/Textures/Interface/pray.svg.png"));
     }
 }
 
index 188cad296411cc7928d89f8ce19ccf612e3ba32e..95f48da643520d6af46c065f8c305853d2320e73 100644 (file)
@@ -9,5 +9,5 @@ namespace Content.Server.Procedural;
 public sealed class DungeonAtlasTemplateComponent : Component
 {
     [DataField("path", required: true)]
-    public ResourcePath? Path;
+    public ResPath Path;
 }
index 29e8c3ac6e579cc839e3b6683388e4925067d2c2..083c635b7879f9d1e0c515653c64d0bee7af54e4 100644 (file)
@@ -145,7 +145,7 @@ public sealed partial class DungeonSystem : EntitySystem
         while (query.MoveNext(out var uid, out comp))
         {
             // Exists
-            if (comp.Path?.Equals(proto.AtlasPath) == true)
+            if (comp.Path.Equals(proto.AtlasPath))
                 return Transform(uid).MapID;
         }
 
index f6785e4b4a058559499768dd52baba394ce1e549..a9df60c45b716e72ed26569889087c24f412cc16 100644 (file)
@@ -31,7 +31,7 @@ namespace Content.Server.Rotatable
                 Act = () => TryFlip(uid, component, args.User),
                 Text = Loc.GetString("flippable-verb-get-data-text"),
                 Category = VerbCategory.Rotate,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/flip.svg.192dpi.png")),
                 Priority = -3, // show flip last
                 DoContactInteraction = true
             };
@@ -56,7 +56,7 @@ namespace Content.Server.Rotatable
                 DoContactInteraction = true,
                 Act = () => EntityManager.GetComponent<TransformComponent>(uid).LocalRotation = Angle.Zero,
                 Category = VerbCategory.Rotate,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/refresh.svg.192dpi.png")),
                 Text = "Reset",
                 Priority = -2, // show CCW, then CW, then reset
                 CloseMenu = false,
@@ -68,7 +68,7 @@ namespace Content.Server.Rotatable
             {
                 Act = () => EntityManager.GetComponent<TransformComponent>(uid).LocalRotation -= component.Increment,
                 Category = VerbCategory.Rotate,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/rotate_cw.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/rotate_cw.svg.192dpi.png")),
                 Priority = -1,
                 CloseMenu = false, // allow for easy double rotations.
             };
@@ -79,7 +79,7 @@ namespace Content.Server.Rotatable
             {
                 Act = () => EntityManager.GetComponent<TransformComponent>(uid).LocalRotation += component.Increment,
                 Category = VerbCategory.Rotate,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/rotate_ccw.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/rotate_ccw.svg.192dpi.png")),
                 Priority = 0,
                 CloseMenu = false, // allow for easy double rotations.
             };
index dc6a5e5f4f5e90321b3f660e6a1b2e9fcfd7cc98..40ea2122c689c531e66d32498235885df463e5f1 100644 (file)
@@ -14,7 +14,7 @@ namespace Content.Server.Salvage
         /// Relative directory path to the given map, i.e. `Maps/Salvage/template.yml`
         /// </summary>
         [DataField("mapPath", required: true)]
-        public ResourcePath MapPath { get; } = default!;
+        public ResPath MapPath { get; } = default!;
 
         /// <summary>
         /// Map rectangle in world coordinates (to check if it fits)
index c1493a98d7331a3b7ca9880779541adc2af44113..6154c7a283e41661027662b21d2005697012f3e7 100644 (file)
@@ -9,5 +9,5 @@ namespace Content.Server.Shuttles.Components;
 [RegisterComponent, Access(typeof(ShuttleSystem))]
 public sealed class GridFillComponent : Component
 {
-    [DataField("path")] public ResourcePath Path = new("/Maps/Shuttles/escape_pod_small.yml");
+    [DataField("path")] public ResPath Path = new("/Maps/Shuttles/escape_pod_small.yml");
 }
index 5ba5c194ed6b877932b03b2a8e622b46ba133a76..ff88c798f4073cd110d8b6195b2632b40c087945 100644 (file)
@@ -12,5 +12,5 @@ public sealed class StationArrivalsComponent : Component
     [DataField("shuttle")]
     public EntityUid Shuttle;
 
-    [DataField("shuttlePath")] public ResourcePath ShuttlePath = new("/Maps/Shuttles/arrivals.yml");
+    [DataField("shuttlePath")] public ResPath ShuttlePath = new("/Maps/Shuttles/arrivals.yml");
 }
index 7c97bb295c91ba0af93542a1adf55c6d01af8d2e..5b25abd4c55cb022f5e1774cabece6c812f35fe5 100644 (file)
@@ -8,6 +8,6 @@ public sealed partial class StationConfig
     /// <summary>
     /// Emergency shuttle map path for this station.
     /// </summary>
-    [DataField("emergencyShuttlePath", customTypeSerializer: typeof(ResourcePathSerializer))]
-    public ResourcePath EmergencyShuttlePath { get; set; } = new("/Maps/Shuttles/emergency.yml");
+    [DataField("emergencyShuttlePath", customTypeSerializer: typeof(ResPathSerializer))]
+    public ResPath EmergencyShuttlePath { get; set; } = new("/Maps/Shuttles/emergency.yml");
 }
index fb9c5fab370410cfc393aa69e79b1ee2e220242d..8d89d20615524ff1d7a4bae5de296a715e6852cd 100644 (file)
@@ -56,7 +56,7 @@ public sealed class StickySystem : EntitySystem
         {
             DoContactInteraction = true,
             Text = Loc.GetString("comp-sticky-unstick-verb-text"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/eject.svg.192dpi.png")),
             Act = () => StartUnsticking(uid, args.User, component)
         });
     }
index 69a27425429db8aefcddd9dbdb84a188f6218790..dabc8dbd61258515af6567ba6b0b9b20b4a2eeb1 100644 (file)
@@ -57,7 +57,7 @@ namespace Content.Server.Storage.EntitySystems
                     StartDoAfter(uid, args.Target, args.User, dumpable);//Had multiplier of 0.6f
                 },
                 Text = Loc.GetString("dump-verb-name"),
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/drop.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/drop.svg.192dpi.png")),
             };
             args.Verbs.Add(verb);
         }
index 5373c46e4948b9a170ba50a14a7eb8727c9f1ab9..fc05ba91219ca4fbcfe2ef0c55400c580153806d 100644 (file)
@@ -124,13 +124,13 @@ namespace Content.Server.Storage.EntitySystems
             {
                 verb.Text = Loc.GetString("verb-common-close-ui");
                 verb.Icon = new SpriteSpecifier.Texture(
-                    new ResourcePath("/Textures/Interface/VerbIcons/close.svg.192dpi.png"));
+                    new ("/Textures/Interface/VerbIcons/close.svg.192dpi.png"));
             }
             else
             {
                 verb.Text = Loc.GetString("verb-common-open-ui");
                 verb.Icon = new SpriteSpecifier.Texture(
-                    new ResourcePath("/Textures/Interface/VerbIcons/open.svg.192dpi.png"));
+                    new ("/Textures/Interface/VerbIcons/open.svg.192dpi.png"));
             }
             args.Verbs.Add(verb);
         }
index 338ff50698080ac6c10a6daec0cd48cbf27249e3..dc0816a87e11364f7ce93b66a7da164af750ef09 100644 (file)
@@ -132,7 +132,7 @@ namespace Content.Server.Strip
             Verb verb = new()
             {
                 Text = Loc.GetString("strip-verb-get-data-text"),
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
                 Act = () => StartOpeningStripper(args.User, component, true),
             };
             args.Verbs.Add(verb);
@@ -149,7 +149,7 @@ namespace Content.Server.Strip
             ExamineVerb verb = new()
             {
                 Text = Loc.GetString("strip-verb-get-data-text"),
-                Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
+                Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
                 Act = () => StartOpeningStripper(args.User, component, true),
                 Category = VerbCategory.Examine,
             };
index 5aac809cf2625ece800dd4464077b8da89e54d80..c0dec008b00c43c2b99ee36cd9f507bcb304b17e 100644 (file)
@@ -59,7 +59,7 @@ namespace Content.Server.Tabletop
 
             ActivationVerb verb = new();
             verb.Text = Loc.GetString("tabletop-verb-play-game");
-            verb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/die.svg.192dpi.png"));
+            verb.Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/die.svg.192dpi.png"));
             verb.Act = () => OpenSessionFor(actor.PlayerSession, uid);
             args.Verbs.Add(verb);
         }
index c354a82bcc7fc2ae3452ad42dc265d142e44f433..20205ea29d410be0eddb1c49739e608867e55f41 100644 (file)
@@ -79,7 +79,7 @@ public sealed class MeleeWeaponSystem : SharedMeleeWeaponSystem
             Text = Loc.GetString("damage-examinable-verb-text"),
             Message = Loc.GetString("damage-examinable-verb-message"),
             Category = VerbCategory.Examine,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
         };
 
         args.Verbs.Add(verb);
index 39482048c944e2445b1900796b95d047dd62a407..fa34dcaf58b54c80aca32283cc99ded05789b015 100644 (file)
@@ -94,7 +94,7 @@ public sealed partial class GunSystem
             Text = Loc.GetString("damage-examinable-verb-text"),
             Message = Loc.GetString("damage-examinable-verb-message"),
             Category = VerbCategory.Examine,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
         };
 
         args.Verbs.Add(verb);
index 2a5d646499e6bc98adf396e942a86d081d071095..497e66901cbc0354b584aff924e7a0a6f1bf7335 100644 (file)
@@ -38,7 +38,7 @@ public sealed partial class GunSystem
             Text = Loc.GetString("damage-examinable-verb-text"),
             Message = Loc.GetString("damage-examinable-verb-message"),
             Category = VerbCategory.Examine,
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new ("/Textures/Interface/VerbIcons/smite.svg.192dpi.png")),
         };
 
         args.Verbs.Add(verb);
index 54f37d9cb0911d6f3700b58634d6eb891881239d..9f5f64213b284e29ea2935d053f2468e431d49bd 100644 (file)
@@ -11,13 +11,13 @@ public sealed class NetworkResourceUploadMessage : NetMessage
     public override MsgGroups MsgGroup => MsgGroups.Command;
 
     public byte[] Data { get; set; } = Array.Empty<byte>();
-    public ResourcePath RelativePath { get; set; } = ResourcePath.Self;
+    public ResPath RelativePath { get; set; } = ResPath.Self;
 
     public NetworkResourceUploadMessage()
     {
     }
 
-    public NetworkResourceUploadMessage(byte[] data, ResourcePath relativePath)
+    public NetworkResourceUploadMessage(byte[] data, ResPath relativePath)
     {
         Data = data;
         RelativePath = relativePath;
@@ -27,7 +27,8 @@ public sealed class NetworkResourceUploadMessage : NetMessage
     {
         var dataLength = buffer.ReadVariableInt32();
         Data = buffer.ReadBytes(dataLength);
-        RelativePath = new ResourcePath(buffer.ReadString(), buffer.ReadString());
+        // What is the second argument here?
+        RelativePath = new ResPath(buffer.ReadString());
     }
 
     public override void WriteToBuffer(NetOutgoingMessage buffer, IRobustSerializer serializer)
@@ -35,6 +36,6 @@ public sealed class NetworkResourceUploadMessage : NetMessage
         buffer.WriteVariableInt32(Data.Length);
         buffer.Write(Data);
         buffer.Write(RelativePath.ToString());
-        buffer.Write(RelativePath.Separator);
+        buffer.Write(ResPath.Separator);
     }
 }
index e1dc13a836933fa5ae80fa39e2612779b85a8fe7..3ed35eb691dfb422d6fbef5ac05a691f04c15a49 100644 (file)
@@ -19,7 +19,7 @@ public abstract class SharedNetworkResourceManager : IDisposable
     /// <summary>
     ///     The prefix for any and all downloaded network resources.
     /// </summary>
-    private static readonly ResourcePath Prefix = ResourcePath.Root / "Uploaded";
+    private static readonly ResPath Prefix = ResPath.Root / "Uploaded";
 
     protected readonly MemoryContentRoot ContentRoot = new();
 
@@ -47,6 +47,6 @@ public abstract class SharedNetworkResourceManager : IDisposable
     public sealed class ReplayResourceUploadMsg
     {
         public byte[] Data = default!;
-        public ResourcePath RelativePath = default!;
+        public ResPath RelativePath = default!;
     }
 }
index 0ba03e20760444f90ef9a5cdc18e58da5f37e30a..96461f2249730db0f201d73f29ee95b90bef9119 100644 (file)
@@ -107,13 +107,13 @@ public abstract class SharedItemCabinetSystem : EntitySystem
         {
             toggleVerb.Text = Loc.GetString("verb-common-close");
             toggleVerb.Icon =
-                new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/close.svg.192dpi.png"));
+                new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/VerbIcons/close.svg.192dpi.png"));
         }
         else
         {
             toggleVerb.Text = Loc.GetString("verb-common-open");
             toggleVerb.Icon =
-                new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/open.svg.192dpi.png"));
+                new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/VerbIcons/open.svg.192dpi.png"));
         }
         args.Verbs.Add(toggleVerb);
     }
index 5d28411126a6b1c14e73b1e6f65b4e72f9b3253f..b740c3a0f9517f7d150b3139ac3cc1c81cdc4754 100644 (file)
@@ -13,7 +13,7 @@ public sealed class CargoShuttlePrototype : IPrototype
     public string ID { get; } = default!;
 
     [DataField("path")]
-    public ResourcePath Path = default!;
+    public ResPath Path = default!;
 
     [DataField("nameDataset", customTypeSerializer:typeof(PrototypeIdSerializer<DatasetPrototype>))]
     public string NameDataset = "CargoShuttleNames";
index 56a32492d0b9c13d5c69857ded20905aeb784740..578fdbecee9b80986ab895cd8260f7867a824ee5 100644 (file)
@@ -13,7 +13,7 @@ public sealed class TypingIndicatorPrototype : IPrototype
     public string ID { get; } = default!;
 
     [DataField("spritePath")]
-    public ResourcePath SpritePath = new("/Textures/Effects/speech.rsi");
+    public ResPath SpritePath = new("/Textures/Effects/speech.rsi");
 
     [DataField("typingState", required: true)]
     public string TypingState = default!;
index fa5c2f647cb1b59b55ce9a957ca9410a4434e5ef..68648950d8dc83ddc6e7c55376dbbb2de1618481 100644 (file)
@@ -74,7 +74,7 @@ public sealed class ToggleableClothingSystem : EntitySystem
 
         var verb = new EquipmentVerb()
         {
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/outfit.svg.192dpi.png")),
             Text = Loc.GetString(text),
         };
 
index 4dc4beec3983e6d3d05925f20574f81cdaa8c5b2..1551b30bb6673b25c2a4741f1b5a6bbfbe5f951d 100644 (file)
@@ -433,7 +433,7 @@ namespace Content.Shared.Containers.ItemSlots
                     {
                         verb.Text = Loc.GetString(slot.InsertVerbText);
                         verb.Icon = new SpriteSpecifier.Texture(
-                            new ResourcePath("/Textures/Interface/VerbIcons/insert.svg.192dpi.png"));
+                            new("/Textures/Interface/VerbIcons/insert.svg.192dpi.png"));
                     }
                     else if (slot.EjectOnInteract)
                     {
@@ -441,7 +441,7 @@ namespace Content.Shared.Containers.ItemSlots
                         // category, we will use a single "Place <item>" verb.
                         verb.Text = Loc.GetString("place-item-verb-text", ("subject", verbSubject));
                         verb.Icon = new SpriteSpecifier.Texture(
-                            new ResourcePath("/Textures/Interface/VerbIcons/drop.svg.192dpi.png"));
+                            new("/Textures/Interface/VerbIcons/drop.svg.192dpi.png"));
                     }
                     else
                     {
@@ -549,7 +549,7 @@ namespace Content.Shared.Containers.ItemSlots
                     insertVerb.Text = Loc.GetString(slot.InsertVerbText);
                     insertVerb.Icon =
                         new SpriteSpecifier.Texture(
-                            new ResourcePath("/Textures/Interface/VerbIcons/insert.svg.192dpi.png"));
+                            new("/Textures/Interface/VerbIcons/insert.svg.192dpi.png"));
                 }
                 else if(slot.EjectOnInteract)
                 {
@@ -558,7 +558,7 @@ namespace Content.Shared.Containers.ItemSlots
                     insertVerb.Text = Loc.GetString("place-item-verb-text", ("subject", verbSubject));
                     insertVerb.Icon =
                         new SpriteSpecifier.Texture(
-                            new ResourcePath("/Textures/Interface/VerbIcons/drop.svg.192dpi.png"));
+                            new("/Textures/Interface/VerbIcons/drop.svg.192dpi.png"));
                 }
                 else
                 {
index 78e5ce0d96496339809364c50880e77705749207..4b050da2f4b237abbd43b9e343e19bb3a6a29ec3 100644 (file)
@@ -149,7 +149,7 @@ namespace Content.Shared.Examine
                 Text = verbText,
                 Message = hoverMessage,
                 Category = VerbCategory.Examine,
-                Icon = new SpriteSpecifier.Texture(new ResourcePath(iconTexture)),
+                Icon = new SpriteSpecifier.Texture(new(iconTexture)),
             };
 
             verbsEvent.Verbs.Add(examineVerb);
index 0bd260102f6fe4e1c46a72e51b30906f234c129d..529ad6075d5bed80814ad21046dd4ed0dd6a4c97 100644 (file)
@@ -55,7 +55,7 @@ namespace Content.Shared.Examine
         ///     The icon path for the Examine Group.
         /// </summary>
         [DataField("icon")]
-        public SpriteSpecifier Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/examine-star.png"));
+        public SpriteSpecifier Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/examine-star.png"));
 
         /// <summary>
         ///     The text shown in the context verb menu.
index c4b532280ef7c84525cc1c1cbdb24d875d1bc9fc..927b963f9e11ee251c9775c3a94e51ab90411c9d 100644 (file)
@@ -66,7 +66,7 @@ public sealed class ExplosionPrototype : IPrototype
     public readonly SoundSpecifier Sound = new SoundCollectionSpecifier("explosion");
 
     [DataField("texturePath")]
-    public readonly ResourcePath TexturePath = new("/Textures/Effects/fire.rsi");
+    public readonly ResPath TexturePath = new("/Textures/Effects/fire.rsi");
 
     /// <summary>
     ///     How intense does the explosion have to be at a tile to advance to the next fire texture state?
index d5739f780631ccbbbba6a4098adb0740c1dc352f..4e5f0931a77a6f7c2c1547e94ed0aac5d02d7bf7 100644 (file)
@@ -38,7 +38,7 @@ public sealed class FollowerSystem : EntitySystem
             }),
             Impact = LogImpact.Low,
             Text = Loc.GetString("verb-follow-text"),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/open.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/open.svg.192dpi.png")),
         };
 
         ev.Verbs.Add(verb);
index 4a88249842928901ba8b60e1fbecdc3bfeec2f6c..229a25bffd57c65fb3ee701fdb64e275bdb7ec79 100644 (file)
@@ -119,7 +119,7 @@ public abstract class SharedItemSystem : EntitySystem
         InteractionVerb verb = new();
         verb.Act = () => _handsSystem.TryPickupAnyHand(args.User, args.Target, checkActionBlocker: false,
             handsComp: args.Hands, item: component);
-        verb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/pickup.svg.192dpi.png"));
+        verb.Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/pickup.svg.192dpi.png"));
 
         // if the item already in a container (that is not the same as the user's), then change the text.
         // this occurs when the item is in their inventory or in an open backpack
index c80fbee965e523fe1556616c7ea93befe104beeb..2af6366982b6271ac8db7c79ace9726b36198788 100644 (file)
@@ -226,8 +226,8 @@ public sealed class LockSystem : EntitySystem
                 () => TryLock(uid, args.User, component),
             Text = Loc.GetString(component.Locked ? "toggle-lock-verb-unlock" : "toggle-lock-verb-lock"),
             Icon = component.Locked ?
-                new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/unlock.svg.192dpi.png")) :
-                new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/lock.svg.192dpi.png")),
+                new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/unlock.svg.192dpi.png")) :
+                new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/lock.svg.192dpi.png")),
         };
         args.Verbs.Add(verb);
     }
index 4a4555c560972cf98de46c56ee8e50474d8e75a5..6335c329a8cd8906e065d2d6c1053605cba55769 100644 (file)
@@ -27,9 +27,9 @@ namespace Content.Shared.Maps
 
         [DataField("name")]
         public string Name { get; private set; } = "";
-        [DataField("sprite")] public ResourcePath? Sprite { get; }
+        [DataField("sprite")] public ResPath? Sprite { get; }
 
-        [DataField("edgeSprites")] public Dictionary<Direction, ResourcePath> EdgeSprites { get; } = new();
+        [DataField("edgeSprites")] public Dictionary<Direction, ResPath> EdgeSprites { get; } = new();
 
         [DataField("isSubfloor")] public bool IsSubFloor { get; private set; }
 
index 425194e90aa409a5c305a658f2465b22836a5dcb..2fc2bcc88094985277593b368eb4b7745f86d585 100644 (file)
@@ -18,7 +18,7 @@ public sealed class DungeonRoomPrototype : IPrototype
     /// <summary>
     /// Path to the file to use for the room.
     /// </summary>
-    [DataField("atlas", required: true)] public ResourcePath AtlasPath = default!;
+    [DataField("atlas", required: true)] public ResPath AtlasPath;
 
     /// <summary>
     /// Tile offset into the atlas to use for the room.
index c5c9e55664ae36e08e57521b79267c389da62398..ba9bdfdbbeecaa5997fc9b16d4b18014ea2ce79f 100644 (file)
@@ -58,7 +58,7 @@ namespace Content.Shared.Storage.Components
     {
         [DataField("mapLayers")] public readonly Dictionary<string, SharedMapLayerData> MapLayers = new();
 
-        [DataField("sprite")] public ResourcePath? RSIPath;
+        [DataField("sprite")] public ResPath? RSIPath;
 
         /// <summary>
         ///     If this exists, shown layers will only consider entities in the given containers.
index 9abcc1a380222014534315ff251c6911faa68719..7b17cf4b7eb9670072bd395ada307331912dd142 100644 (file)
@@ -146,13 +146,13 @@ public abstract class SharedEntityStorageSystem : EntitySystem
         if (component.Open)
         {
             verb.Text = Loc.GetString("verb-common-close");
-            verb.Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/close.svg.192dpi.png"));
+            verb.Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/close.svg.192dpi.png"));
         }
         else
         {
             verb.Text = Loc.GetString("verb-common-open");
             verb.Icon = new SpriteSpecifier.Texture(
-                new ResourcePath("/Textures/Interface/VerbIcons/open.svg.192dpi.png"));
+                new("/Textures/Interface/VerbIcons/open.svg.192dpi.png"));
         }
         verb.Act = () => ToggleOpen(args.User, args.Target, component);
         args.Verbs.Add(verb);
index f4b75e731a54a1c45c5a909e2d7cc9a15c189196..30dfabc4bff92ceacfd5a224d39a552657d11b7c 100644 (file)
@@ -49,7 +49,7 @@ namespace Content.Shared.Vehicle.Components
         public InstantAction HornAction = new()
         {
             UseDelay = TimeSpan.FromSeconds(3.4),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("Objects/Fun/bikehorn.rsi/icon.png")),
+            Icon = new SpriteSpecifier.Texture(new("Objects/Fun/bikehorn.rsi/icon.png")),
             DisplayName = "action-name-honk",
             Description = "action-desc-honk",
             Event = new HonkActionEvent(),
index 63a1cbced60d867842a60d361aaf70e1758b35bc..d22041396fa266bdaf0997de6693a32fe8242e4d 100644 (file)
@@ -31,7 +31,7 @@ namespace Content.Shared.Verbs
         public VerbCategory(string text, string? icon, bool iconsOnly = false)
         {
             Text = Loc.GetString(text);
-            Icon = icon == null ? null : new SpriteSpecifier.Texture(new ResourcePath(icon));
+            Icon = icon == null ? null : new SpriteSpecifier.Texture(new(icon));
             IconsOnly = iconsOnly;
         }
 
index ae873f6f60ed25af007e138962b55801e8398f34..4ffbe8fc63139ec3abce921cafca9fee41325a20 100644 (file)
@@ -35,7 +35,7 @@ public abstract partial class SharedGunSystem
         {
             Act = () => SelectFire(uid, component, nextMode, args.User),
             Text = Loc.GetString("gun-selector-verb", ("mode", GetLocSelector(nextMode))),
-            Icon = new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/VerbIcons/fold.svg.192dpi.png")),
+            Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/fold.svg.192dpi.png")),
         };
 
         args.Verbs.Add(verb);
index 405bdc3437665fccd118bbc63deabc9ecbabe1d0..2d5f6af5a7f1cb871c6cc415f20bc0239b7fe452 100644 (file)
@@ -46,14 +46,14 @@ namespace Content.Tests.Shared.Alert
             prototypeManager.LoadFromStream(new StringReader(PROTOTYPES));
 
             Assert.That(alertsSystem.TryGet(AlertType.LowPressure, out var lowPressure));
-            Assert.That(lowPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
+            Assert.That(lowPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
             Assert.That(alertsSystem.TryGet(AlertType.HighPressure, out var highPressure));
-            Assert.That(highPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
+            Assert.That(highPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
 
             Assert.That(alertsSystem.TryGet(AlertType.LowPressure, out lowPressure));
-            Assert.That(lowPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
+            Assert.That(lowPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ("/Textures/Interface/Alerts/Pressure/lowpressure.png"))));
             Assert.That(alertsSystem.TryGet(AlertType.HighPressure, out highPressure));
-            Assert.That(highPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
+            Assert.That(highPressure.Icons[0], Is.EqualTo(new SpriteSpecifier.Texture(new ("/Textures/Interface/Alerts/Pressure/highpressure.png"))));
         }
     }
 }
index dffab940cc952b96e48a7fad1207773bffc22e6a..d95acb8aff49e58a5e4de8bde0a5f3f2a9487b7c 100644 (file)
@@ -50,7 +50,7 @@ namespace Content.Tests.Shared.Alert
         public void GetsIconPath(short? severity, string expected)
         {
             var alert = GetTestPrototype();
-            Assert.That(alert.GetIcon(severity), Is.EqualTo(new SpriteSpecifier.Texture(new ResourcePath(expected))));
+            Assert.That(alert.GetIcon(severity), Is.EqualTo(new SpriteSpecifier.Texture(new (expected))));
         }
 
         [TestCase(null, "/Textures/Interface/Alerts/Human/human.rsi/human0.png")]
index 25ca37614e8d7b590c27e9873e1e65ff4436d2d7..8dd980864bb8e76df6c29ee51a5511cbfbb846c3 100644 (file)
@@ -48,7 +48,7 @@ namespace Content.YAMLLinter
 
             await client.WaitPost(() =>
             {
-                clientErrors = cPrototypeManager.ValidateDirectory(new ResourcePath("/Prototypes"));
+                clientErrors = cPrototypeManager.ValidateDirectory(new ResPath("/Prototypes"));
             });
 
             await pairTracker.CleanReturnAsync();
@@ -66,7 +66,7 @@ namespace Content.YAMLLinter
 
             await server.WaitPost(() =>
             {
-                serverErrors = sPrototypeManager.ValidateDirectory(new ResourcePath("/Prototypes"));
+                serverErrors = sPrototypeManager.ValidateDirectory(new ResPath("/Prototypes"));
             });
 
             await pairTracker.CleanReturnAsync();
index 8d636f8fb29f49f566de2a49b553204b583370f8..0f95a8712950476fe6c86e94a31eca91491bba6f 100644 (file)
@@ -19,8 +19,6 @@
     state: on
   - type: Appearance
   - type: Rotatable
-  - type: Physics
-  - type: Fixtures
   - type: SignalTimer
     canEditLabel: false
   - type: SignalTransmitter
@@ -40,7 +38,7 @@
     usesApcPower: true
   - type: ExtensionCableReceiver
   - type: ActivatableUIRequiresPower
-      
+
 - type: entity
   id: ScreenTimer
   parent: SignalTimer