feat: lift the CircuitsV2 limits, Rec Royale night mode, RRO room blobs

CircuitsV2 limits are served as UGC.CircuitsV2.Limit.* gameconfig keys and
are editable from admin Settings. Retail drops any send over 5 RPCs/frame
or 1024 bytes/60 frames; both network budgets now default to 1,000,000,000.
The creation limits are raised too, each against the hazard the client
binary shows for it:

- Chips 3000 -> 30000: the chip-culling manager preallocates four
  List<Chip>(Chips), so the 1M clamp stays.
- Compute 50000 -> 500000: a per-frame budget with no allocation; the 10M
  cap keeps its counters from wrapping.
- CloudValues 100 -> 1000, InkPerChip 15 -> 0: InkPerChip is an ink COST,
  multiplied by min(chips, CloudValues), so lowering it is the increase.
  The clamps tighten to 10000 / 30000 to keep that product from overflowing
  (the room ink cap is a hard-coded 30000).
- UnculledChips / VisibleChips 500 -> 3000: render-cost counts only.

Room save uploads may now be up to 100 MB (Kestrel's 30 MB default would
413 a big circuits room). Contract and evidence:
docs/recroom-2023-circuitsv2-limits.md.

Also includes the Rec Royale night mode client feature
(docs/recroom-2023-scene-moods.md) and the admin blob enable/reset for
baked RRO sub-rooms.
This commit is contained in:
Alexa
2026-10-15 14:07:54 +03:00
parent cf3aa29ba2
commit 36e64e99ba
21 changed files with 7994 additions and 34 deletions
+29
View File
@@ -447,6 +447,35 @@ $cfg = [ordered]@{
DesktopScreenShareRaisePhotonRate = $true
DesktopScreenShareResolution = 0
DesktopScreenShareQuality = 0
# Rec Royale night mode (client-side visual). Applies one of the game's
# shipped night MoodSetting assets (sky dome, sun, fog, colour grading)
# to the Rec Royale map and unlocks weapon flashlights. Moods:
# Night_Calm_Outdoor_Mood, Night_Spooky_Outdoor_Mood,
# Night_Wild_Outdoor_Mood, Night_StuntRunner_Outdoor_Mood, OuterSpace_Mood.
# ToggleKey is an optional UnityEngine.KeyCode name (e.g. 'N') to flip it
# in-game; it also arms the feature when NightMode is $false.
RecRoyaleNightMode = $false
RecRoyaleNightMood = 'Night_Calm_Outdoor_Mood'
RecRoyaleNightScenes = @('RecRoyale')
RecRoyaleNightFlashlights = $true
RecRoyaleNightFog = $false # $true = also apply the mood's fog
# Darkening: EV offset added to the mood's post-exposure (dims baked
# lightmaps too), and multipliers on the mood's sun / ambient intensity.
RecRoyaleNightExposure = -3.5
RecRoyaleNightSunScale = 0.15
RecRoyaleNightAmbientScale = 0.2
# Post-exposure needs the scene Volume on and camera post-processing
# enabled; force both while night mode is active.
RecRoyaleNightForcePostProcessing = $true
# The engine only drives RenderSettings.sun; match every other
# directional light's rotation/colour to it and scale its intensity.
RecRoyaleNightMatchSunLights = $true
# Fog off entirely while night is on, and renderers whose object or
# material name contains any of these are hidden (Frontier's daytime
# cloud meshes). Empty array = hide nothing.
RecRoyaleNightDisableFog = $false
RecRoyaleNightHideObjects = @('Cloud')
RecRoyaleNightToggleKey = ''
}
Write-Step "Writing mod config -> $cfgPath"
[System.IO.File]::WriteAllText($cfgPath, ($cfg | ConvertTo-Json -Depth 4))