mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
d3ce75daef
- Overhauls the spectator module entirely to share a similar UX to BI's "End Game Spectator" while maintaining some of the extended flexibility of ACE Spectator. - Simplifies spectator setup by reducing the number of settings. More advanced setup is still possible via the API functions provided.
39 lines
1.1 KiB
Plaintext
39 lines
1.1 KiB
Plaintext
/*
|
|
* Author: SilentSpike
|
|
* Used to update the docked camera buttons
|
|
* Disables unavailable, highlights current
|
|
*
|
|
* Arguments:
|
|
* None
|
|
*
|
|
* Return Value:
|
|
* None
|
|
*
|
|
* Example:
|
|
* [] call ace_spectator_fnc_ui_updateCamButtons
|
|
*
|
|
* Public: No
|
|
*/
|
|
|
|
#include "script_component.hpp"
|
|
|
|
// These correspond to the camera mode indices
|
|
#define ENUM_IDCs [IDC_FREE, IDC_FPS, IDC_FOLLOW]
|
|
#define ENUM_ACTIVE [CAM_ICON_FREE_SELECTED, CAM_ICON_FPS_SELECTED, CAM_ICON_FOLLOW_SELECTED]
|
|
#define ENUM_INACTIVE [CAM_ICON_FREE, CAM_ICON_FPS, CAM_ICON_FOLLOW]
|
|
|
|
private _current = ENUM_IDCs select GVAR(camMode);
|
|
|
|
{
|
|
if (_forEachIndex in GVAR(availableModes)) then {
|
|
// Highlight the current camera mode button
|
|
private _icon = ([ENUM_INACTIVE, ENUM_ACTIVE] select (_x == _current)) select _forEachIndex;
|
|
|
|
(CTRL_CAM_TYPES controlsGroupCtrl _x) ctrlSetText _icon;
|
|
(CTRL_CAM_TYPES controlsGroupCtrl _x) ctrlShow true;
|
|
} else {
|
|
// Disable any inactive camera modes
|
|
(CTRL_CAM_TYPES controlsGroupCtrl _x) ctrlShow false;
|
|
};
|
|
} forEach ENUM_IDCs;
|