mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
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:
parent
d6cc14a39d
commit
92ef0bfe99
@ -180,7 +180,7 @@ class GVAR(interface) {
|
|||||||
y = safeZoneY;
|
y = safeZoneY;
|
||||||
w = safeZoneW;
|
w = safeZoneW;
|
||||||
h = safeZoneH;
|
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));
|
onDraw = QUOTE([ARR_2('onDraw',_this)] call FUNC(handleInterface));
|
||||||
};
|
};
|
||||||
class helpSplash: RscControlsGroupNoScrollbars {
|
class helpSplash: RscControlsGroupNoScrollbars {
|
||||||
|
@ -40,8 +40,9 @@ switch (toLower _mode) do {
|
|||||||
GVAR(camera) = "Camera" camCreate (ASLtoATL GVAR(camPos));
|
GVAR(camera) = "Camera" camCreate (ASLtoATL GVAR(camPos));
|
||||||
[] call FUNC(transitionCamera);
|
[] call FUNC(transitionCamera);
|
||||||
|
|
||||||
// Close map
|
// Close map and clear radio
|
||||||
openMap [false,false];
|
openMap [false,false];
|
||||||
|
clearRadio;
|
||||||
|
|
||||||
// Disable BI damage effects
|
// Disable BI damage effects
|
||||||
BIS_fnc_feedback_allowPP = false;
|
BIS_fnc_feedback_allowPP = false;
|
||||||
@ -76,8 +77,9 @@ switch (toLower _mode) do {
|
|||||||
GVAR(camera) cameraEffect ["terminate", "back"];
|
GVAR(camera) cameraEffect ["terminate", "back"];
|
||||||
camDestroy GVAR(camera);
|
camDestroy GVAR(camera);
|
||||||
|
|
||||||
// Return to player view
|
|
||||||
clearRadio;
|
clearRadio;
|
||||||
|
|
||||||
|
// Return to player view
|
||||||
_unit switchCamera "internal";
|
_unit switchCamera "internal";
|
||||||
|
|
||||||
// Enable BI damage effects
|
// Enable BI damage effects
|
||||||
@ -232,7 +234,7 @@ switch (toLower _mode) do {
|
|||||||
// Handle held keys (prevent repeat calling)
|
// Handle held keys (prevent repeat calling)
|
||||||
if (_dik in GVAR(heldKeys)) exitwith {};
|
if (_dik in GVAR(heldKeys)) exitwith {};
|
||||||
// Exclude movement keys so that speed can be adjusted on fly
|
// 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;
|
GVAR(heldKeys) pushBack _dik;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -422,8 +424,8 @@ switch (toLower _mode) do {
|
|||||||
_tree tvSort [[],false];
|
_tree tvSort [[],false];
|
||||||
};
|
};
|
||||||
// Map events
|
// Map events
|
||||||
case "onmapdblclick": {
|
case "onmapclick": {
|
||||||
_args params ["_map","_button","_x","_y"];
|
_args params ["_map","_button","_x","_y","_shift","_ctrl","_alt"];
|
||||||
private ["_newPos","_oldZ"];
|
private ["_newPos","_oldZ"];
|
||||||
|
|
||||||
if ((GVAR(camMode) == 0) && (_button == 0)) then {
|
if ((GVAR(camMode) == 0) && (_button == 0)) then {
|
||||||
|
@ -53,7 +53,9 @@ if (_newMode == 0) then { // Free
|
|||||||
GVAR(camera) camSetFov -(linearConversion [0.01,2,GVAR(camZoom),-2,-0.01,true]);
|
GVAR(camera) camSetFov -(linearConversion [0.01,2,GVAR(camZoom),-2,-0.01,true]);
|
||||||
GVAR(camera) camCommit 0;
|
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 {
|
if (isNull GVAR(camAgent)) then {
|
||||||
GVAR(camAgent) = createAgent ["VirtualMan_F",markerPos QGVAR(respawn),[],0,""];
|
GVAR(camAgent) = createAgent ["VirtualMan_F",markerPos QGVAR(respawn),[],0,""];
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user