Bits: Difference between revisions
Jump to navigation
Jump to search
Hendricks266 (talk | contribs) m neatness |
Dr. Kylstien (talk | contribs) special case for weapon selection keys |
||
Line 1: | Line 1: | ||
''''''bits'''''' returns a bit-field indicating which buttons the player is pressing. A particular button press can be checked by using [[ifvarand]] with the following values: | ''''''bits'''''' returns a bit-field indicating which buttons the player is pressing. A particular button press can be checked by using [[ifvarand]] with the following values: | ||
// bits | // bits | ||
define INPUT_JUMP 1 | define INPUT_JUMP 1 | ||
Line 42: | Line 41: | ||
define INPUT_INVENTORY 1073741824 | define INPUT_INVENTORY 1073741824 | ||
define INPUT_ESC 2147483648 | define INPUT_ESC 2147483648 | ||
'''This technique does not work properly with the weapon selection keys''', however. They share four bits in the second-to-lowest byte, which represent the number of the corresponding weapon. They can be decoded as follows: | |||
getinput[THISACTOR].bits temp | |||
shiftvarr temp 8 | |||
andvar temp 0xF | |||
switch temp | |||
case 1: | |||
//"1" pressed | |||
break | |||
case 2: | |||
//"2" pressed | |||
break | |||
//etc. | |||
case 10: | |||
//"0" pressed | |||
break | |||
case 11: | |||
//previous weapon | |||
break | |||
case 12: | |||
//next weapon | |||
break | |||
endswitch | |||
[[Category:Input structure members]] | [[Category:Input structure members]] |
Revision as of 16:49, 28 September 2008
'bits' returns a bit-field indicating which buttons the player is pressing. A particular button press can be checked by using ifvarand with the following values:
// bits define INPUT_JUMP 1 define INPUT_CROUCH 2 define INPUT_FIRE 4 define INPUT_AIM_UP 8 define INPUT_AIM_DOWN 16 define INPUT_RUNNING 32 define INPUT_LOOK_LEFT 64 define INPUT_LOOK_RIGHT 128 define INPUT_WEAPON_1 256 define INPUT_WEAPON_2 512 define INPUT_WEAPON_3 768 define INPUT_WEAPON_4 1024 define INPUT_WEAPON_5 1280 define INPUT_WEAPON_6 1536 define INPUT_WEAPON_7 1792 define INPUT_WEAPON_8 2048 define INPUT_WEAPON_9 2304 define INPUT_WEAPON_10 2560 define INPUT_WEAPON_PREV 2816 define INPUT_WEAPON_NEXT 3072 define INPUT_STEROIDS 4096 define INPUT_LOOK_UP 8192 define INPUT_LOOK_DOWN 16384 define INPUT_NIGHTVISION 32768 define INPUT_MEDKIT 65536 define INPUT_RESERVED 131072 define INPUT_CENTER_VIEW 262144 define INPUT_HOLSTER_WEAPON 524288 define INPUT_INVENTORY_LEFT 1048576 define INPUT_PAUSE 2097152 define INPUT_QUICK_KICK 4194304 define INPUT_AIM_MODE 8388608 define INPUT_HOLODUKE 16777216 define INPUT_JETPACK 33554432 define INPUT_QUIT 67108864 define INPUT_INVENTORY_RIGHT 134217728 define INPUT_TURN_AROUND 268435456 define INPUT_OPEN 536870912 define INPUT_INVENTORY 1073741824 define INPUT_ESC 2147483648
This technique does not work properly with the weapon selection keys, however. They share four bits in the second-to-lowest byte, which represent the number of the corresponding weapon. They can be decoded as follows:
getinput[THISACTOR].bits temp shiftvarr temp 8 andvar temp 0xF switch temp case 1: //"1" pressed break case 2: //"2" pressed break //etc. case 10: //"0" pressed break case 11: //previous weapon break case 12: //next weapon break endswitch