BIS fnc bitflagsFlip: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "_{10,} " to "") |
Lou Montana (talk | contribs) m (Text replacement - " *\| *([Cc]omments|COMMENTS|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments \("local" or "global"\)|Multiplayer Effects \("local" or "global"\)|Multiplayer Execution \("server" o...) |
||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:BIS_fnc_bitflagsFlip}}{{Function | {{DISPLAYTITLE:BIS_fnc_bitflagsFlip}}{{Function | ||
| arma3 |Game= | | arma3 |Game= | ||
|1.66 | |1.66 | ||
|gr1= Bitwise | |gr1= Bitwise | ||
|arg= |MPARGUMENTS= | |arg= |MPARGUMENTS= | ||
Line 16: | Line 16: | ||
Due to various limitations of the Real Virtuality engine this function is | Due to various limitations of the Real Virtuality engine this function is | ||
intended to work with unsigned 24 bit integers only. This means that the | intended to work with unsigned 24 bit integers only. This means that the | ||
supported range is 2^0...2^24 (1...16777216) | supported range is 2^0...2^24 (1...16777216) | ||
| [flagset, flag] call '''BIS_fnc_bitflagsFlip''' | | [flagset, flag] call '''BIS_fnc_bitflagsFlip''' | ||
|p1= flagset: [[Number]] - flagset | |p1= flagset: [[Number]] - flagset | ||
|p2= flag: [[Number]] - one or more flags to flip | |p2= flag: [[Number]] - one or more flags to flip | ||
| [[Number]] - new flagset with given flag or flags flipped | | [[Number]] - new flagset with given flag or flags flipped | ||
|x1=<code>[1 + 16, 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 25 (which is 1 + 8 + 16) | |x1=<code>[1 + 16, 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 25 (which is 1 + 8 + 16) | ||
[25, 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 17 (which is 1 + 16) | [25, 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 17 (which is 1 + 16) | ||
[2 + 4 + 8, 2 + 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 4 | [2 + 4 + 8, 2 + 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 4 | ||
[4, 2 + 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 14 (which is 2 + 4 + 8)</code> | [4, 2 + 8] [[call]] [[BIS_fnc_bitflagsFlip]]; // 14 (which is 2 + 4 + 8)</code> | ||
| [[BIS fnc bitflagsSet]], [[BIS fnc bitflagsCheck]], [[BIS fnc bitflagsToArray]], [[BIS fnc bitflagsUnset]] | | [[BIS fnc bitflagsSet]], [[BIS fnc bitflagsCheck]], [[BIS fnc bitflagsToArray]], [[BIS fnc bitflagsUnset]] | ||
| |MPBEHAVIOUR= | | |MPBEHAVIOUR= |
Revision as of 22:36, 17 January 2021
Description
- Description:
- Flips one or more flags (set gets unset and vice versa) in the given flagset, represented with decimal or hexadecimal number
(Hexadecimal number representation is simply auto-converted into decimal by the engine)
To check which flags are present in given flagset use BIS_fnc_bitflagsToArray
Limitations:
Due to various limitations of the Real Virtuality engine this function is intended to work with unsigned 24 bit integers only. This means that the supported range is 2^0...2^24 (1...16777216) - Execution:
- call
- Groups:
- Bitwise
Syntax
- Syntax:
- [flagset, flag] call BIS_fnc_bitflagsFlip
- Parameters:
- flagset: Number - flagset
- flag: Number - one or more flags to flip
- Return Value:
- Number - new flagset with given flag or flags flipped
Examples
- Example 1:
[1 + 16, 8] call BIS_fnc_bitflagsFlip; // 25 (which is 1 + 8 + 16) [25, 8] call BIS_fnc_bitflagsFlip; // 17 (which is 1 + 16) [2 + 4 + 8, 2 + 8] call BIS_fnc_bitflagsFlip; // 4 [4, 2 + 8] call BIS_fnc_bitflagsFlip; // 14 (which is 2 + 4 + 8)
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note