-
Notifications
You must be signed in to change notification settings - Fork 739
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1118 from acemod/multipleDevices
Multiple Devices
- Loading branch information
Showing
10 changed files
with
221 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
/* | ||
* Author: PabstMirror | ||
* Finds next valid index for the device array. | ||
* | ||
* Arguments: | ||
* 0: Offset from currentIndex (use 1 to find next valid after current) or a displayName string <STRING>or<NUMBER><OPTIONAL> | ||
* | ||
* Return Value: | ||
* The new index (-1 if no valid) <NUMBER> | ||
* | ||
* Example: | ||
* [] call ace_common_fnc_deviceKeyFindValidIndex | ||
* ["kestral4500"] call ace_common_fnc_deviceKeyFindValidIndex | ||
* | ||
* Public: No | ||
*/ | ||
#include "script_component.hpp" | ||
|
||
DEFAULT_PARAM(0,_searchOffsetOrName,0); | ||
|
||
private ["_validIndex", "_offsetBy", "_realIndex", "_offset"]; | ||
|
||
_validIndex = -1; | ||
|
||
if ((typeName _searchOffsetOrName) == "STRING") then { | ||
{ | ||
if ((_x select 0) == _searchOffsetOrName) exitWith { | ||
_validIndex = _forEachIndex; | ||
}; | ||
} forEach GVAR(deviceKeyHandlingArray); | ||
} else { | ||
if ((count GVAR(deviceKeyHandlingArray)) > 0) then { | ||
_baseIndex = if (GVAR(deviceKeyCurrentIndex) == -1) then {0} else {GVAR(deviceKeyCurrentIndex) + _searchOffsetOrName}; | ||
for "_offset" from _baseIndex to ((count GVAR(deviceKeyHandlingArray)) - 1 + _baseIndex) do { | ||
_realIndex = _offset % (count GVAR(deviceKeyHandlingArray)); | ||
if ([] call ((GVAR(deviceKeyHandlingArray) select _realIndex) select 2)) exitWith { | ||
_validIndex = _realIndex; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
GVAR(deviceKeyCurrentIndex) = _validIndex; | ||
|
||
GVAR(deviceKeyCurrentIndex) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
/* | ||
* Author: PabstMirror | ||
* Finds next valid index for the device array. | ||
* | ||
* Arguments: | ||
* 0: Localized Device Display Name <STRING> | ||
* 1: Image <STRING> | ||
* 2: Condtion Code (do they have the device) <CODE> | ||
* 3: Toggle Code (on home press) <CODE> | ||
* 4: Close Code (on ctrl-home press) <CODE> | ||
* | ||
* Return Value: | ||
* Nothing | ||
* | ||
* Example: | ||
* [(localize "STR_ACE_microdagr_itemName"), QUOTE(PATHTOF(images\microDAGR_item.paa)), _conditionCode, _toggleCode, _closeCode] call ace_common_fnc_deviceKeyRegisterNew | ||
* | ||
* Public: No | ||
*/ | ||
#include "script_component.hpp" | ||
|
||
PARAMS_5(_displayName,_iconImage,_conditionCode,_toggleCode,_closeCode); | ||
|
||
GVAR(deviceKeyHandlingArray) pushBack [_displayName,_iconImage,_conditionCode,_toggleCode,_closeCode]; | ||
[] call FUNC(deviceKeyFindValidIndex); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters