Radicade Public Code

This commit is contained in:
JogmansonReal
2026-10-16 23:33:13 -07:00
commit 55175acdf6
832 changed files with 363261 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
using Microsoft.AspNetCore.Mvc;
using RadicadeServer.DB;
using RadicadeServer.RecNet.Config;
using RadicadeServer.RecNet.Keepsakes;
namespace RadicadeServer.API.Config
{
[Route("api/gameconfigs/")]
public class GameConfigAPI : Controller
{
private static readonly Dictionary<string, string> Local2023Overrides = new()
{
["RRUI.UseRRUIHomeScreen"] = "true",
["USE_NEW_HOME_SCREEN"] = "true",
["new_watch_architecture_enabled"] = "true",
["watch_layer.new_watch_architecture_enabled"] = "true",
["HAS_SEEN_HOME_SCREEN_CHOICE"] = "true",
["AntiHile.QD"] = "false",
["Radicade.Invites.UseRRUIDialog"] = "true",
["Radicade.Invites.ShowOnlineFriendsBeforeJoining"] = "true",
["Lifecycle.PSF.FriendRoomInviteRateLimitingCount"] = "2147483647",
["AndroidMobile.enforceFileWatcher"] = "0",
["AndroidMobile.enforceHashCheck"] = "0",
["AndroidMobile.runFileWatcher"] = "0",
["AndroidMobile.runHashCheck"] = "0",
["Desktop_Oculus.enforceFileWatcher"] = "0",
["Desktop_Oculus.enforceHashCheck"] = "0",
["Desktop_Oculus.runFileWatcher"] = "0",
["Desktop_Oculus.runHashCheck"] = "0",
["Desktop_Steam.enforceFileWatcher"] = "0",
["Desktop_Steam.enforceHashCheck"] = "0",
["Desktop_Steam.runFileWatcher"] = "0",
["Desktop_Steam.runHashCheck"] = "0",
["OculusQuest.enforceFileWatcher"] = "0",
["OculusQuest.enforceHashCheck"] = "0",
["OculusQuest.runFileWatcher"] = "0",
["OculusQuest.runHashCheck"] = "0",
["Steam.enforceFileWatcher"] = "0",
["Steam.enforceHashCheck"] = "0",
["Steam.runFileWatcher"] = "0",
["Steam.runHashCheck"] = "0",
};
private readonly RecDBContext db;
public GameConfigAPI(RecDBContext context)
{
db = context;
}
private static IEnumerable<KeyValuePair<string, string>> KeepsakeConfigValues()
{
var enabled = KeepsakeFeature.Enabled;
yield return new("KeepsakeFeatureEnabled", enabled ? "true" : "false");
yield return new("KeepsakeRoomLimit", enabled ? "100" : "0");
yield return new("ProgressionEvents.EnableKeepsakeManager", enabled ? "true" : "false");
}
[HttpGet("v1/all")]
public IActionResult GetAllGameConfigs()
{
var overrides = new Dictionary<string, string>(Local2023Overrides);
foreach (var (key, value) in KeepsakeConfigValues()) overrides[key] = value;
var configs = db.GameConfig
.AsEnumerable()
.Select(x => new ConfigVal(
x.Key,
overrides.TryGetValue(x.Key, out var value)
? value
: SplitTestConfigs.FilterHardOverridesFor2023Client(x.Key, x.Value)))
.GroupBy(x => x.Key)
.Select(group =>
{
if (overrides.TryGetValue(group.Key, out var value))
return new ConfigVal(group.Key, value);
return group.Last();
})
.ToList();
foreach (var (key, value) in overrides)
{
if (!configs.Any(x => x.Key == key))
configs.Add(new ConfigVal(key, value));
}
return Ok(configs);
}
}
}