Skip to content

Add local-only lobby checkboxes/dropdowns - #1074

Open
11EJDE11 wants to merge 6 commits into
replays/storage-optionsfrom
replays/local-lobby-options
Open

Add local-only lobby checkboxes/dropdowns#1074
11EJDE11 wants to merge 6 commits into
replays/storage-optionsfrom
replays/local-lobby-options

Conversation

@11EJDE11

@11EJDE11 11EJDE11 commented Sep 7, 2026

Copy link
Copy Markdown
Member

Adds LocalGameLobbyCheckBox and LocalGameLobbyDropDown: lobby options that write to spawn.ini and are remembered per user, but are never broadcast to other players.

A GameLobbyCheckBox is part of the shared game options - it is sent in game option messages, only the host can change it. Some options are purely local, such as whether this player records a replay. Those need to be settable by non-hosts, must not be broadcast, and should be remembered between sessions.

Any GameSessionCheckBox or GameSessionDropDown can now persist through a UserSettingKey, which stores the value in [LocalGameOptions]. That is deliberately independent of SaveSkirmishGameOptions / SaveCampaignGameOptions, which persist whole lobbies under the control's own name and are loaded after the control initialises - setting both for one control would let the older mechanism overwrite the remembered value.

@Metadorius

Copy link
Copy Markdown
Member

What is the use case for such? Currently we do local options through user settings (via literal settings menu), this kind of blurs the line (and honestly calls for a greater restructure I outlined, with shared game options/settings that can be mixed and matched).

@SadPencil

Copy link
Copy Markdown
Member

Can you introduce more about the UserSettingKey, probably with an example? Also, whether it is possible to automatically determine such a key without letting modders naming it?

@11EJDE11

11EJDE11 commented Sep 7, 2026

Copy link
Copy Markdown
Member Author

What is the use case for such? Currently we do local options through user settings (via literal settings menu), this kind of blurs the line (and honestly calls for a greater restructure I outlined, with shared game options/settings that can be mixed and matched).

Use case is for a "Record replay" checkbox shown in the lobby. It needs to write to spawn.ini and not be broadcasted.
Where had you outlined a restructure? I can take a look.

@11EJDE11
11EJDE11 force-pushed the replays/local-lobby-options branch from eeb42d2 to 697fc1d Compare September 8, 2026 02:36
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

Nightly build for this pull request:

  • artifacts.zip
    This comment is automatic and is meant to allow guests to get latest automatic builds without registering. It is updated on every successful build.

@11EJDE11
11EJDE11 force-pushed the replays/local-lobby-options branch from 697fc1d to 42e6a1a Compare September 9, 2026 22:55
@11EJDE11
11EJDE11 force-pushed the replays/local-lobby-options branch from 42e6a1a to 2af029b Compare September 10, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants