Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
6077e33
Add local officer preset reordering
Guffawaffle Aug 31, 2026
c2a4434
Harden preset reorder input and state writes
Guffawaffle Aug 31, 2026
87b95b5
Scope preset state to config profiles
Guffawaffle Aug 31, 2026
76910a0
Keep officer preset identity order canonical
Guffawaffle Aug 31, 2026
6d7fef7
Fix macOS officer preset array build
Guffawaffle Aug 31, 2026
0a91c7d
Merge branch 'dev' into feature/reorder-officer-presets
Guffawaffle Sep 2, 2026
4e71efa
Add shared mod state store
Guffawaffle Sep 4, 2026
c96d5cf
Contain state serialization failures
Guffawaffle Sep 4, 2026
f92e901
Merge branch 'feature/mod-state' into feature/reorder-officer-presets
Guffawaffle Sep 4, 2026
d8edd48
Use shared mod state for officer preset order
Guffawaffle Sep 4, 2026
55f83dd
Reject unsupported mod state versions
Guffawaffle Sep 4, 2026
59f48e2
Enforce mod state version on reads and updates
Guffawaffle Sep 4, 2026
481f8a5
Merge branch 'feature/mod-state' into feature/reorder-officer-presets
Guffawaffle Sep 4, 2026
73f6285
Fail closed after preset view bind errors
Guffawaffle Sep 4, 2026
bc773da
Merge upstream dev into officer preset branch
Guffawaffle Oct 2, 2026
d3b8aa2
Separate preset installation and restore canonical save sources
Guffawaffle Oct 2, 2026
251eac6
Preserve Mac Ctrl-click alongside native Command input
Guffawaffle Oct 2, 2026
d65ac2a
Identify preset reordering compatibility failures
Guffawaffle Oct 9, 2026
4a1e98f
Align officer preset PR with current upstream dev
Guffawaffle Oct 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions example_community_patch_settings_da.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Forhindr "Escape" i at spørge, om spillet skal afsluttes
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_de.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Verhindert, dass die Escape-Taste zum Beenden des Spiels auffordert
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_en-GB-x-cockney.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Prevent "escape" from prompting to exit the game
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_en-x-minionese.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Prevent "escape" from prompting to exit the game
disable_escape_exit = true

Expand Down
7 changes: 7 additions & 0 deletions example_community_patch_settings_en.toml
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,8 @@ chatpatches = true
dailyfactionbulkclaimhooks = true
doubleclickassignshiphooks = true
forbiddentechconfirmhooks = true
# Install local preset ordering hooks; the feature remains opt-in under [ui]
officerpresetreorderhooks = true
freeresizehooks = true
galacticanomalytimerhooks = true
game_version = true
Expand Down Expand Up @@ -672,6 +674,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click (Command on Mac) moves it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Prevent "escape" from prompting to exit the game
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_es.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Impide que "Escape" pregunte si deseas salir del juego
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_fr.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Empêcher "échap" de proposer de quitter le jeu
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_nl.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Zorgt ervoor dat het gebruiken van "escape" het spel niet sluit
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_ru.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Не показывать запрос выхода из игры при нажатии Escape
disable_escape_exit = true

Expand Down
5 changes: 5 additions & 0 deletions example_community_patch_settings_tlh.toml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ auto_confirm_discovery = true
# Open the bulk gift claim flyout automatically
auto_open_bulk_claim_flyout = false

# EXPERIMENTAL: Allow officer presets to be reordered in the presets screen
# Shift-click a preset's edit-name button to move it up; Ctrl-click to move it down
# The chosen order is stored locally and does not change Scopely's preset slots
allow_officer_preset_reordering = false

# Prevent "escape" vo' prompting Daq exit game
disable_escape_exit = true

Expand Down
6 changes: 5 additions & 1 deletion mods/src/config.cc
Original file line number Diff line number Diff line change
Expand Up @@ -997,6 +997,8 @@ void Config::Load()
get_config_or_default(config, parsed, "patches", "artifactexchangehooks", DCP::artifactexchangehooks, write_config);
this->installAudioEventHooks =
get_config_or_default(config, parsed, "patches", "audioeventhooks", DCP::audioeventhooks, write_config);
this->installOfficerPresetReorderHooks = get_config_or_default(
config, parsed, "patches", "officerpresetreorderhooks", DCP::officerpresetreorderhooks, write_config);
this->installInstantCargoCounterHooks =
get_config_or_default(config, parsed, "patches", "instantcargocounterhooks", DCP::instantcargocounterhooks, write_config);
this->installCargoFormatHooks =
Expand Down Expand Up @@ -1122,7 +1124,9 @@ void Config::Load()
spdlog::warn("audio alerts require patches.toastbannerhooks = true");
}
this->auto_open_bulk_claim_flyout = get_config_or_default(config, parsed, "ui", "auto_open_bulk_claim_flyout",
DCU::auto_open_bulk_claim_flyout, write_config);
DCU::auto_open_bulk_claim_flyout, write_config);
this->allow_officer_preset_reordering = get_config_or_default(
config, parsed, "ui", "allow_officer_preset_reordering", DCU::allow_officer_preset_reordering, write_config);

read_daily_bulk_claim_factions(config, parsed, this->daily_bulk_claim_factions, DCU::daily_bulk_claim_factions,
write_config);
Expand Down
2 changes: 2 additions & 0 deletions mods/src/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ class Config final
NotificationSound alert_armada_battle_lost = NotificationSound::None;
bool auto_open_bulk_claim_flyout;
bool auto_confirm_ft_upgrade;
bool allow_officer_preset_reordering;

std::vector<std::string> daily_bulk_claim_factions;

Expand Down Expand Up @@ -293,6 +294,7 @@ class Config final
bool installForbiddenTechConfirmationHooks;
bool installInstantWarpConfirmationHooks;
bool installAudioEventHooks;
bool installOfficerPresetReorderHooks;
bool installArtifactExchangeHooks;

std::string config_settings_url;
Expand Down
2 changes: 2 additions & 0 deletions mods/src/defaultconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ namespace Patches
constexpr bool doubleclickassignshiphooks = true;
constexpr bool forbiddentechconfirmhooks = true;
constexpr bool audioeventhooks = true;
constexpr bool officerpresetreorderhooks = true;
constexpr bool artifactexchangehooks = true;
constexpr bool instantcargocounterhooks = true;
constexpr bool cargoformathooks = true; // on by default: cargo number precision override
Expand Down Expand Up @@ -255,6 +256,7 @@ namespace UI
constexpr bool auto_confirm_ft_upgrade = false;
constexpr bool auto_open_bulk_claim_flyout = false;
constexpr const char* daily_bulk_claim_factions = "";
constexpr bool allow_officer_preset_reordering = false;
constexpr bool daily_bulk_claim_toggle_default_on = false;
constexpr bool disable_escape_exit = true;
// Maximum gap between Escape presses that opens the exit prompt.
Expand Down
Loading
Loading