Whitelist spectator free camera boom keys

Now that booming the free camera is influenced by the camera speed, the keys should be whitelisted from the held-key prevention system to allow the speed to be adjusted on the move. Also includes a failed attempt to fix the free camera map teleporting functionality.
This commit is contained in:
SilentSpike 2015-08-06 11:34:24 +01:00
parent d6cc14a39d
commit 92ef0bfe99
3 changed files with 11 additions and 7 deletions

View File

@ -180,7 +180,7 @@ class GVAR(interface) {
y = safeZoneY;
w = safeZoneW;
h = safeZoneH;
onMouseButtonDblClick = QUOTE([ARR_2('onMapDblClick',_this)] call FUNC(handleInterface));
onMouseButtonDown = QUOTE([ARR_2('onMapClick',_this)] call FUNC(handleInterface));
onDraw = QUOTE([ARR_2('onDraw',_this)] call FUNC(handleInterface));
};
class helpSplash: RscControlsGroupNoScrollbars {

View File

@ -40,8 +40,9 @@ switch (toLower _mode) do {
GVAR(camera) = "Camera" camCreate (ASLtoATL GVAR(camPos));
[] call FUNC(transitionCamera);
// Close map
// Close map and clear radio
openMap [false,false];
clearRadio;
// Disable BI damage effects
BIS_fnc_feedback_allowPP = false;
@ -76,8 +77,9 @@ switch (toLower _mode) do {
GVAR(camera) cameraEffect ["terminate", "back"];
camDestroy GVAR(camera);
// Return to player view
clearRadio;
// Return to player view
_unit switchCamera "internal";
// Enable BI damage effects
@ -232,7 +234,7 @@ switch (toLower _mode) do {
// Handle held keys (prevent repeat calling)
if (_dik in GVAR(heldKeys)) exitwith {};
// Exclude movement keys so that speed can be adjusted on fly
if !(_dik in [17,30,31,32]) then {
if !(_dik in [16,17,30,31,32,44]) then {
GVAR(heldKeys) pushBack _dik;
};
@ -422,8 +424,8 @@ switch (toLower _mode) do {
_tree tvSort [[],false];
};
// Map events
case "onmapdblclick": {
_args params ["_map","_button","_x","_y"];
case "onmapclick": {
_args params ["_map","_button","_x","_y","_shift","_ctrl","_alt"];
private ["_newPos","_oldZ"];
if ((GVAR(camMode) == 0) && (_button == 0)) then {

View File

@ -53,7 +53,9 @@ if (_newMode == 0) then { // Free
GVAR(camera) camSetFov -(linearConversion [0.01,2,GVAR(camZoom),-2,-0.01,true]);
GVAR(camera) camCommit 0;
// Agent is switched to in free cam to hide death table and prevent AI chat
// Agent is switched to in free cam to hide death table and prevent AI chat while allowing icons to draw
// However, map click events don't fire in free cam for some reason...
// (Why is so much stuff tied into the current camera unit BI?!)
if (isNull GVAR(camAgent)) then {
GVAR(camAgent) = createAgent ["VirtualMan_F",markerPos QGVAR(respawn),[],0,""];
};