This was a silly thing to have, and actually it was not
implemented correctly, as a cam or viewport with 0th index is not
necessarily the "primary" one (set as Game.Camera and
Screen.Viewport). The logic was rather weak there anyway.
From upstream eb90cfa46251d595f8b8f8c5f29ea720d2833038
This argument works similarily to Viewport.ScreenToRoomPoint():
if it's set to true then the function returns null if there's no
viewport under the cursor; if it's set to false it converts
coordinates through the primary viewport in such case.
From upstream 5014c502aa487d3cbdf01e99d57306f2131d4c54
This allows to fully pack InputType, KeyMod and KeyCode/MouseButton/etc in a int32:
- 8 bits (0xFF) - input type
- 8 bits (0xFF) - key mod flags
- 4 bits (0xF) - reserved (potentially for expanding mod flags, if that will be necessary)
- 12 bits (0xFFF) - KeyCode, mouse codes, gamepad buttons, etc.
Purpose:
1. Potentially allow to set keycodes + mods in an integer and assign to an integer variable/property, such as "skip key", instead of using existing "combo keys"
2. In fact, with InputType flags, this makes it possible to assign a mouse or gamepad button to the same variables.
3. Potentially allow to return keycode + mods from Wait* (currently returns only single key).
From upstream 0203e8feb73b96c501ac2439aa3fe3d6c182c8f4
- modify skip result to use a flag + data bitwise combination
- also include WaitInput in Script API header
- the input flags can only be 8-bit, since wait_skipped_by and
key_skip_wait are char, and key_skip_wait is serialized in
gamestate.
From upstream 9e3d58a83dda00bff9073adb31b2b97adcf8d020