Page MenuHomeFeedback Tracker

Bug: Zeus interface does not correctly restore previously selected side
New, NormalPublic

Description

On Arma 3 version 2.00, the Zeus interface does not correctly restore the selected side from when the display was last open.

Details

Severity
Minor
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Category
Zeus - General
Steps To Reproduce
  1. Start a mission as a curator.
  2. Open Zeus interface.
  3. Select mode UNITS and side BLUFOR.
  4. Close Zeus interface.
  5. Open Zeus interface.
  6. Observe that the selected side is OPFOR and not BLUFOR.
  7. Close Zeus interface.
  8. Open Zeus interface.
  9. Observe that the selected side is now BLUFOR and not OPFOR.
Additional Information

I believe the issue occurs because of the following code, lines 211-239 from \a3\ui_f_curator\ui\displays\rscdisplaycurator.sqf. This code incorrectly uses RscDisplayCurator_sections side value as 0 meaning BLUFOR and 1 meaning OPFOR. The if (_side > 0) then check is unnecessary and also contributes to the issue.

//--- Default menu section
with missionnamespace do {
	if (isnil "RscDisplayCurator_sections") then {RscDisplayCurator_sections = [0,0];};
};
_sections = missionnamespace getvariable "RscDisplayCurator_sections";
_mode = _sections param [0,0,[0]];
_side = _sections param [1,0,[0]];
_modeIDC = [
	IDC_RSCDISPLAYCURATOR_MODEUNITS,
	IDC_RSCDISPLAYCURATOR_MODEGROUPS,
	IDC_RSCDISPLAYCURATOR_MODEMODULES,
	IDC_RSCDISPLAYCURATOR_MODEMARKERS,
	IDC_RSCDISPLAYCURATOR_MODERECENT
] select (_mode max 0 min 4);
_sideIDC = [
	IDC_RSCDISPLAYCURATOR_SIDEBLUFOR,
	IDC_RSCDISPLAYCURATOR_SIDEOPFOR,
	IDC_RSCDISPLAYCURATOR_SIDEINDEPENDENT,
	IDC_RSCDISPLAYCURATOR_SIDECIVILIAN,
	IDC_RSCDISPLAYCURATOR_SIDEEMPTY
] select (_side max 0 min 4);

_modeControl = if (_mode > 0) then {_display displayctrl _modeIDC} else {_display displayctrl IDC_RSCDISPLAYCURATOR_MODEUNITS};
ctrlactivate _modeControl;
["modeChanged",[_modeControl],""] call RscDisplayCurator_script;

_sideControl = if (_side > 0) then {_display displayctrl _sideIDC} else {_display displayctrl IDC_RSCDISPLAYCURATOR_SIDEBLUFOR};
ctrlactivate _sideControl;
["sideChanged",[_sideControl],""] call RscDisplayCurator_script;

When fixing this issue, the default opened mode and side should be kept as UNITS and BLUFOR, respectively. This may require changing the default RscDisplayCurator_sections value to [0,1] from [0,0].

Event Timeline