diff --git a/Content.Benchmarks/DynamicTreeBenchmark.cs b/Content.Benchmarks/DynamicTreeBenchmark.cs new file mode 100644 index 0000000000..948015eb7b --- /dev/null +++ b/Content.Benchmarks/DynamicTreeBenchmark.cs @@ -0,0 +1,66 @@ +using BenchmarkDotNet.Attributes; +using Robust.Shared.Maths; +using Robust.Shared.Physics; + +namespace Content.Benchmarks +{ + [SimpleJob, MemoryDiagnoser] + public class DynamicTreeBenchmark + { + private static readonly Box2[] aabbs1 = + { + ((Box2) default).Enlarged(1), //2x2 square + ((Box2) default).Enlarged(2), //4x4 square + new Box2(-3, 3, -3, 3), // point off to the bottom left + new Box2(-3, -3, -3, -3), // point off to the top left + new Box2(3, 3, 3, 3), // point off to the bottom right + new Box2(3, -3, 3, -3), // point off to the top right + ((Box2) default).Enlarged(1), //2x2 square + ((Box2) default).Enlarged(2), //4x4 square + ((Box2) default).Enlarged(1), //2x2 square + ((Box2) default).Enlarged(2), //4x4 square + ((Box2) default).Enlarged(1), //2x2 square + ((Box2) default).Enlarged(2), //4x4 square + ((Box2) default).Enlarged(1), //2x2 square + ((Box2) default).Enlarged(2), //4x4 square + ((Box2) default).Enlarged(3), //6x6 square + new Box2(-3, 3, -3, 3), // point off to the bottom left + new Box2(-3, -3, -3, -3), // point off to the top left + new Box2(3, 3, 3, 3), // point off to the bottom right + new Box2(3, -3, 3, -3), // point off to the top right + }; + + private B2DynamicTree _b2Tree; + private DynamicTree _tree; + + [GlobalSetup] + public void Setup() + { + _b2Tree = new B2DynamicTree(); + _tree = new DynamicTree((in int value) => aabbs1[value], capacity: 16); + + for (var i = 0; i < aabbs1.Length; i++) + { + var aabb = aabbs1[i]; + _b2Tree.CreateProxy(aabb, i); + _tree.Add(i); + } + } + + [Benchmark] + public void BenchB2() + { + object state = null; + _b2Tree.Query(ref state, (ref object _, DynamicTree.Proxy __) => true, new Box2(-1, -1, 1, 1)); + } + + [Benchmark] + public void BenchQ() + { + foreach (var _ in _tree.QueryAabb(new Box2(-1, -1, 1, 1), true)) + { + + } + } + } +} diff --git a/Content.Server/GameTicking/GameTicker.cs b/Content.Server/GameTicking/GameTicker.cs index bc05a4b17b..70a352e630 100644 --- a/Content.Server/GameTicking/GameTicker.cs +++ b/Content.Server/GameTicking/GameTicker.cs @@ -22,6 +22,7 @@ using Content.Server.Interfaces.GameTicking; using Content.Server.Mobs; using Content.Server.Mobs.Roles; using Content.Server.Players; +using Content.Shared; using Content.Shared.Chat; using Content.Shared.Network.NetMessages; using Content.Shared.Preferences; @@ -128,13 +129,6 @@ namespace Content.Server.GameTicking DebugTools.Assert(!_initialized); - _configurationManager.RegisterCVar("game.lobbyenabled", false, CVar.ARCHIVE); - _configurationManager.RegisterCVar("game.lobbyduration", 20, CVar.ARCHIVE); - _configurationManager.RegisterCVar("game.defaultpreset", "Suspicion", CVar.ARCHIVE); - _configurationManager.RegisterCVar("game.fallbackpreset", "Sandbox", CVar.ARCHIVE); - - _configurationManager.RegisterCVar("game.enablewin", true, CVar.CHEAT); - PresetSuspicion.RegisterCVars(_configurationManager); _netManager.RegisterNetMessage(nameof(MsgTickerJoinLobby)); @@ -147,7 +141,7 @@ namespace Content.Server.GameTicking _netManager.RegisterNetMessage(nameof(MsgRequestWindowAttention)); _netManager.RegisterNetMessage(nameof(MsgTickerLateJoinStatus)); - SetStartPreset(_configurationManager.GetCVar("game.defaultpreset")); + SetStartPreset(_configurationManager.GetCVar(CCVars.GameLobbyDefaultPreset)); RestartRound(); diff --git a/Content.Shared/CCVars.cs b/Content.Shared/CCVars.cs new file mode 100644 index 0000000000..18e710acfa --- /dev/null +++ b/Content.Shared/CCVars.cs @@ -0,0 +1,25 @@ +using Robust.Shared; +using Robust.Shared.Configuration; + +namespace Content.Shared +{ + // ReSharper disable once InconsistentNaming + [CVarDefs] + public sealed class CCVars : CVars + { + public static readonly CVarDef + GameLobbyEnabled = CVarDef.Create("game.lobbyenabled", false, CVar.ARCHIVE); + + public static readonly CVarDef + GameLobbyDuration = CVarDef.Create("game.lobbyduration", 20, CVar.ARCHIVE); + + public static readonly CVarDef + GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "Suspicion", CVar.ARCHIVE); + + public static readonly CVarDef + GameLobbyFallbackPreset = CVarDef.Create("game.fallbackpreset", "Sandbox", CVar.ARCHIVE); + + public static readonly CVarDef + GameLobbyEnableWin = CVarDef.Create("game.enablewin", true, CVar.ARCHIVE); + } +} diff --git a/auth.ps1 b/auth.ps1 new file mode 100755 index 0000000000..34750cd963 --- /dev/null +++ b/auth.ps1 @@ -0,0 +1,39 @@ +#!/usr/bin/env pwsh + +# Old version +<# +# Constants +$loginToken = "kSiBszXoB5hOQBAMBC//f2YcxD76Ec36rlKy+f8sjhY=" +$authServer = "http://localhost:5000/" +$localServer = "http://localhost:1212/" +$userName = "PJB" + +$authUrl = $authServer + "api/session/getToken" +$localUrl = $localServer + "info" + +$pubKey = Invoke-WebRequest $localUrl | + select -exp Content | + ConvertFrom-Json | + select -exp auth | + select -exp public_key + +$postData = @{"ServerPublicKey"=$pubkey} | ConvertTo-Json + +$token = Invoke-WebRequest $authUrl ` + -Method Post -Body $postData ` + -Headers @{"Authorization"="SS14Auth $loginToken"} ` + -ContentType "application/json" | + select -exp Content + +echo $token + +bin/Content.Client/Content.Client --launcher --username $userName ` + --cvar "auth.token=$token" ` + --cvar "auth.serverpubkey=$pubKey" +#> + +$loginToken = "kSiBszXoB5hOQBAMBC//f2YcxD76Ec36rlKy+f8sjhY=" +$authServer = "http://localhost:5000/" +$userName = "PJB" +$userId = "957ebebb-1a06-4a6e-b8ae-f76d98d01adf" +