BIS fnc bitflagsFlip: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Change game version to 1.66)
m (Text replacement - " |r1=[[" to " |r1= [[")
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:BIS_fnc_bitflagsFlip}}{{Function|Comments=
{{RV|type=function
____________________________________________________________________________________________


| arma3 |=
|game1= arma3
|1.66|Game version=
|version1= 1.66


|arg= |MPARGUMENTS=  
|gr1= Bitwise


|eff= |MPEFFECTS=
|descr= Flips one or more flags (set gets unset and vice versa) in the given flagset, represented with decimal or hexadecimal number<br>
____________________________________________________________________________________________
 
| Flips one or more flags (set gets unset and vice versa) in the given flagset, represented with decimal or hexadecimal number<br>
(Hexadecimal number representation is simply auto-converted into decimal by the engine)<br>
(Hexadecimal number representation is simply auto-converted into decimal by the engine)<br>
To check which flags are present in given flagset use [[BIS_fnc_bitflagsToArray]]<br><br>
To check which flags are present in given flagset use [[BIS_fnc_bitflagsToArray]]<br><br>
Line 16: Line 12:
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''' |=
|s1=[flagset, flag] call [[BIS_fnc_bitflagsFlip]]


|p1= flagset: [[Number]] - flagset |Parameter1=
|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 |RETURNVALUE=
|r1= [[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>|EXAMPLE1=
[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]]|SEEALSO=
|seealso= [[BIS fnc bitflagsSet]], [[BIS fnc bitflagsCheck]], [[BIS fnc bitflagsToArray]], [[BIS fnc bitflagsUnset]]
 
|  |MPBEHAVIOUR=
____________________________________________________________________________________________
}}
}}
<h3 style='display:none'>Bottom Section</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
[[Category:{{Name|arma3}}: Functions|{{uc:bitflagsFlip}}]]
[[Category:Functions|{{uc:bitflagsFlip}}]]

Revision as of 23:25, 7 August 2021

Hover & click on the images for description

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

See also:
BIS fnc bitflagsSetBIS fnc bitflagsCheckBIS fnc bitflagsToArrayBIS fnc bitflagsUnset

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