Merge branch 'master' of github.com:KoffeinFlummi/ACE3

This commit is contained in:
Glowbal 2015-03-26 08:43:48 +01:00
commit 6a1dfe00da
19 changed files with 72 additions and 89 deletions

View File

@ -69,7 +69,7 @@ switch (_position) do {
case "gunner" : { case "gunner" : {
private "_turretConfig"; private "_turretConfig";
_turret = [typeOf _vehicle] call FUNC(getTurretGunner); _turret = [_vehicle] call FUNC(getTurretGunner);
if (_turret isEqualTo []) exitWith {false}; if (_turret isEqualTo []) exitWith {false};
_turretConfig = [_config, _turret] call FUNC(getTurretConfigPath); _turretConfig = [_config, _turret] call FUNC(getTurretConfigPath);
@ -82,7 +82,7 @@ switch (_position) do {
case "commander" : { case "commander" : {
private "_turretConfig"; private "_turretConfig";
_turret = [typeOf _vehicle] call FUNC(getTurretCommander); _turret = [_vehicle] call FUNC(getTurretCommander);
if (_turret isEqualTo []) exitWith {false}; if (_turret isEqualTo []) exitWith {false};
_turretConfig = [_config, _turret] call FUNC(getTurretConfigPath); _turretConfig = [_config, _turret] call FUNC(getTurretConfigPath);
@ -95,7 +95,7 @@ switch (_position) do {
case "copilot" : { case "copilot" : {
private "_turretConfig"; private "_turretConfig";
_turret = [typeOf _vehicle] call FUNC(getTurretCopilot); _turret = [_vehicle] call FUNC(getTurretCopilot);
if (_turret isEqualTo []) exitWith {false}; if (_turret isEqualTo []) exitWith {false};
_turretConfig = [_config, _turret] call FUNC(getTurretConfigPath); _turretConfig = [_config, _turret] call FUNC(getTurretConfigPath);
@ -108,7 +108,7 @@ switch (_position) do {
case "turret" : { case "turret" : {
private ["_turrets", "_turretConfig"]; private ["_turrets", "_turretConfig"];
_turrets = [typeOf _vehicle] call FUNC(getTurretsOther); _turrets = [_vehicle] call FUNC(getTurretsOther);
if (_index != -1 && {_turret = _turrets select _index; if (_index != -1 && {_turret = _turrets select _index;
CANGETINTURRETINDEX CANGETINTURRETINDEX
@ -136,7 +136,7 @@ switch (_position) do {
case "ffv" : { case "ffv" : {
private ["_turrets", "_turretConfig"]; private ["_turrets", "_turretConfig"];
_turrets = [typeOf _vehicle] call FUNC(getTurretsFFV); _turrets = [_vehicle] call FUNC(getTurretsFFV);
if (_index != -1 && {_turret = _turrets select _index; if (_index != -1 && {_turret = _turrets select _index;
CANGETINTURRETINDEX CANGETINTURRETINDEX

View File

@ -4,7 +4,7 @@
* Get the commander config of a vehicles turret. * Get the commander config of a vehicles turret.
* *
* Argument: * Argument:
* 0: vehicle type (String) * 0: vehicle (Object)
* *
* Return value: * Return value:
* Commander config (Config) * Commander config (Config)
@ -15,7 +15,7 @@ private ["_vehicle", "_config", "_turret"];
_vehicle = _this select 0; _vehicle = _this select 0;
_config = configFile >> "CfgVehicles" >> _vehicle; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_turret = [_vehicle] call FUNC(getTurretCommander); _turret = [_vehicle] call FUNC(getTurretCommander);
[_config, _turret] call FUNC(getTurretConfigPath) [_config, _turret] call FUNC(getTurretConfigPath)

View File

@ -4,7 +4,7 @@
* Get the gunner config of a vehicles turret. * Get the gunner config of a vehicles turret.
* *
* Argument: * Argument:
* 0: vehicle type (String) * 0: vehicle (Object)
* *
* Return value: * Return value:
* Gunner config (Config) * Gunner config (Config)
@ -15,7 +15,7 @@ private ["_vehicle", "_config", "_turret"];
_vehicle = _this select 0; _vehicle = _this select 0;
_config = configFile >> "CfgVehicles" >> _vehicle; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_turret = [_vehicle] call FUNC(getTurretGunner); _turret = [_vehicle] call FUNC(getTurretGunner);
[_config, _turret] call FUNC(getTurretConfigPath) [_config, _turret] call FUNC(getTurretConfigPath)

View File

@ -4,23 +4,23 @@
* Gets the turret index of door gunners * Gets the turret index of door gunners
* *
* Argument: * Argument:
* 0: Vehicle type (String) * 0: Vehicle (Object)
* *
* Return value: * Return value:
* Turret indexes of the door gunner. Empty array means no gunner position. (Array) * Turret indexes of the door gunner. Empty array means no gunner position. (Array)
*/ */
#include "script_component.hpp" #include "script_component.hpp"
private ["_vehicleType", "_turrets", "_doorTurrets", "_config"]; private ["_vehicle", "_turrets", "_doorTurrets", "_config"];
_vehicleType = _this select 0; _vehicle = _this select 0;
_turrets = [_vehicleType] call FUNC(getTurrets); _turrets = allTurrets [_vehicle, true];
_doorTurrets = []; _doorTurrets = [];
{ {
_config = configFile >> "CfgVehicles" >> _vehicleType; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath); _config = [_config, _x] call FUNC(getTurretConfigPath);
if ((getNumber (_config >> "isCopilot") == 0) && count (getArray (_config >> "weapons")) > 0 ) then { if ((getNumber (_config >> "isCopilot") == 0) && count (getArray (_config >> "weapons")) > 0 ) then {

View File

@ -64,7 +64,7 @@ switch (_position) do {
}; };
case "gunner" : { case "gunner" : {
_turret = [typeOf _vehicle] call FUNC(getTurretGunner); _turret = [_vehicle] call FUNC(getTurretGunner);
if (CANGETINTURRETINDEX) then { if (CANGETINTURRETINDEX) then {
_script = [ _script = [
@ -75,7 +75,7 @@ switch (_position) do {
}; };
case "commander" : { case "commander" : {
_turret = [typeOf _vehicle] call FUNC(getTurretCommander); _turret = [_vehicle] call FUNC(getTurretCommander);
if (CANGETINTURRETINDEX) then { if (CANGETINTURRETINDEX) then {
_script = [ _script = [
@ -86,7 +86,7 @@ switch (_position) do {
}; };
case "copilot" : { case "copilot" : {
_turret = [typeOf _vehicle] call FUNC(getTurretCopilot); _turret = [_vehicle] call FUNC(getTurretCopilot);
if (CANGETINTURRETINDEX) then { if (CANGETINTURRETINDEX) then {
_script = [ _script = [
@ -100,7 +100,7 @@ switch (_position) do {
case "turret" : { case "turret" : {
private "_turrets"; private "_turrets";
_turrets = [typeOf _vehicle] call FUNC(getTurretsOther); _turrets = [_vehicle] call FUNC(getTurretsOther);
if (_index != -1 && {_turret = _turrets select _index; CANGETINTURRETINDEX}) then { if (_index != -1 && {_turret = _turrets select _index; CANGETINTURRETINDEX}) then {
_script = [ _script = [
@ -127,7 +127,7 @@ switch (_position) do {
case "ffv" : { case "ffv" : {
private "_turrets"; private "_turrets";
_turrets = [typeOf _vehicle] call FUNC(getTurretsFFV); _turrets = [_vehicle] call FUNC(getTurretsFFV);
if (_index != -1 && {_turret = _turrets select _index; CANGETINTURRETINDEX}) then { if (_index != -1 && {_turret = _turrets select _index; CANGETINTURRETINDEX}) then {
_script = [ _script = [

View File

@ -4,7 +4,7 @@
* Get the turret index of a vehicles commander. * Get the turret index of a vehicles commander.
* *
* Argument: * Argument:
* 0: Vehicle type (String) * 0: Vehicle (Object)
* *
* Return value: * Return value:
* Turret index of the vehicles commander. Empty array means no observer position. (Array) * Turret index of the vehicles commander. Empty array means no observer position. (Array)
@ -15,11 +15,11 @@ private ["_vehicle", "_turrets", "_turret", "_config"];
_vehicle = _this select 0; _vehicle = _this select 0;
_turrets = [_vehicle] call FUNC(getTurrets); _turrets = allTurrets [_vehicle, true];
_turret = []; _turret = [];
{ {
_config = configFile >> "CfgVehicles" >> _vehicle; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath); _config = [_config, _x] call FUNC(getTurretConfigPath);

View File

@ -4,7 +4,7 @@
* Get the turret index of a vehicles copilot. * Get the turret index of a vehicles copilot.
* *
* Argument: * Argument:
* 0: Vehicle type (String) * 0: Vehicle (Object)
* *
* Return value: * Return value:
* Turret index of the vehicles gunner. Empty array means no copilot position. (Array) * Turret index of the vehicles gunner. Empty array means no copilot position. (Array)
@ -15,11 +15,11 @@ private ["_vehicle", "_turrets", "_turret", "_config"];
_vehicle = _this select 0; _vehicle = _this select 0;
_turrets = [_vehicle] call FUNC(getTurrets); _turrets = allTurrets [_vehicle, true];
_turret = []; _turret = [];
{ {
_config = configFile >> "CfgVehicles" >> _vehicle; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath); _config = [_config, _x] call FUNC(getTurretConfigPath);

View File

@ -4,7 +4,7 @@
* Get the turret index of a vehicles gunner. * Get the turret index of a vehicles gunner.
* *
* Argument: * Argument:
* 0: Vehicle type (String) * 0: Vehicle (Object)
* *
* Return value: * Return value:
* Turret index of the vehicles gunner. Empty array means no gunner position. (Array) * Turret index of the vehicles gunner. Empty array means no gunner position. (Array)
@ -15,11 +15,11 @@ private ["_vehicle", "_turrets", "_turret", "_config"];
_vehicle = _this select 0; _vehicle = _this select 0;
_turrets = [_vehicle] call FUNC(getTurrets); _turrets = allTurrets [_vehicle, true];
_turret = []; _turret = [];
{ {
_config = configFile >> "CfgVehicles" >> _vehicle; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath); _config = [_config, _x] call FUNC(getTurretConfigPath);

View File

@ -18,7 +18,6 @@ _vehicle = vehicle _unit;
if (_unit == _vehicle) exitWith {[]}; if (_unit == _vehicle) exitWith {[]};
//_turrets = [typeOf _vehicle] call FUNC(getTurrets);
_turrets = allTurrets [_vehicle, true]; _turrets = allTurrets [_vehicle, true];
_units = []; _units = [];

View File

@ -4,7 +4,7 @@
* Get the turret indices of ffv turrets. * Get the turret indices of ffv turrets.
* *
* Argument: * Argument:
* 0: Vehicle type (String) * 0: Vehicle (Object)
* *
* Return value: * Return value:
* Turret index of the vehicles gunner. Empty array means no ffv turrets. (Array) * Turret index of the vehicles gunner. Empty array means no ffv turrets. (Array)
@ -15,11 +15,11 @@ private ["_vehicle", "_turrets", "_turret", "_config"];
_vehicle = _this select 0; _vehicle = _this select 0;
_turrets = [_vehicle] call FUNC(getTurrets); _turrets = allTurrets [_vehicle, true];
_turret = []; _turret = [];
{ {
_config = configFile >> "CfgVehicles" >> _vehicle; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath); _config = [_config, _x] call FUNC(getTurretConfigPath);

View File

@ -4,7 +4,7 @@
* Get the turret indices of other turrets (not gunner, commander, copilot or ffv). * Get the turret indices of other turrets (not gunner, commander, copilot or ffv).
* *
* Argument: * Argument:
* 0: Vehicle type (String) * 0: Vehicle (Object)
* *
* Return value: * Return value:
* Turret index of the vehicles gunner. Empty array means no other turrets. (Array) * Turret index of the vehicles gunner. Empty array means no other turrets. (Array)
@ -15,11 +15,11 @@ private ["_vehicle", "_turrets", "_turret", "_config"];
_vehicle = _this select 0; _vehicle = _this select 0;
_turrets = [_vehicle] call FUNC(getTurrets); _turrets = allTurrets [_vehicle, true];
_turret = []; _turret = [];
{ {
_config = configFile >> "CfgVehicles" >> _vehicle; _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath); _config = [_config, _x] call FUNC(getTurretConfigPath);

View File

@ -19,7 +19,7 @@ _vector2 = _this select 1;
_newVector = []; _newVector = [];
for "_i" from 0 to (((count _vector1) min (count _vector2)) - 1) do { for "_i" from 0 to (((count _vector1) min (count _vector2)) - 1) do {
_newVector = _newVector + [(_vector1 select _i) * (_vector2 select _i)]; _newVector pushBack ((_vector1 select _i) * (_vector2 select _i));
}; };
_newVector _newVector

View File

@ -1,15 +1,4 @@
// by commy2 // by commy2
#include "script_component.hpp" #include "script_component.hpp"
private ["_array", "_index"]; [allControls findDisplay _this, {ctrlIDC _this}] call FUNC(map)
_array = [];
for "_index" from 0 to 10000 do {
if (str (findDisplay _this displayCtrl _index) != "No control") then {
diag_log text str (findDisplay _this displayCtrl _index);
_array pushBack _index;
};
};
_array;

View File

@ -1,15 +1,4 @@
// by commy2 // by commy2
#include "script_component.hpp" #include "script_component.hpp"
private ["_array", "_index"]; [allDisplays, {ctrlIDD _this}] call FUNC(map)
_array = [];
for "_index" from 0 to 10000 do {
if (str (findDisplay _index) != "No Display") then {
diag_log text str findDisplay _index;
_array pushBack _index;
};
};
_array;

View File

@ -12,33 +12,29 @@
*/ */
#include "script_component.hpp" #include "script_component.hpp"
private ["_number", "_minLength", "_length", "_digits", "_index", "_count"]; private ["_number", "_minLength", "_length", "_digits"];
_number = _this select 0; _number = _this select 0;
_minLength = _this select 1; _minLength = _this select 1;
_number = _number min 999999; _number = _number min 999999;
_length = floor (log _number + 1);
if !(isNil "_minLength") then {_length = (_length max _minLength) min 6}; _number = str _number;
_length = count _number;
if (isNil "_minLength") then {_minLength = _length};
_minLength = _minLength min 6;
while {_length < _minLength} do {
_number = "0" + _number;
_length = _length + 1;
};
_digits = []; _digits = [];
for "_x" from 0 to (_length - 1) do {
if (_number < 1) exitWith { _digits pushBack parseNumber (_number select [_x, 1]);
for "_index" from 0 to (_length - 1) do {
_digits set [_index, 0];
};
_digits
}; };
while {
_count = count _digits;
_count < _length
} do {
_digit = floor (_number / (10 ^ (_length - _count - 1)));
{
_digit = _digit - _x * (10 ^ (_count - _forEachIndex));
} forEach _digits;
_digits set [_count, _digit];
};
_digits _digits

View File

@ -12,14 +12,24 @@
*/ */
#include "script_component.hpp" #include "script_component.hpp"
private ["_digits", "_count", "_string", "_index"]; private ["_number", "_minLength", "_length"];
_digits = _this call FUNC(numberToDigits); _number = _this select 0;
_minLength = _this select 1;
_count = count _digits; _number = _number min 999999;
_string = ""; _number = str _number;
for "_index" from 0 to (_count - 1) do {
_string = _string + str (_digits select _index); _length = count _number;
if (isNil "_minLength") then {_minLength = _length};
_minLength = _minLength min 6;
while {_length < _minLength} do {
_number = "0" + _number;
_length = _length + 1;
}; };
_string
_number

View File

@ -30,7 +30,7 @@ if (_distance == 0) then {
_weaponDirection = _vehicle weaponDirection (_vehicle currentWeaponTurret _turret); // @todo doesn't work for sub turrets _weaponDirection = _vehicle weaponDirection (_vehicle currentWeaponTurret _turret); // @todo doesn't work for sub turrets
if (_turret isEqualTo ([typeOf _vehicle] call EFUNC(common,getTurretCommander))) then { if (_turret isEqualTo ([_vehicle] call EFUNC(common,getTurretCommander))) then {
_weaponDirection = eyeDirection _vehicle; _weaponDirection = eyeDirection _vehicle;
}; };

View File

@ -35,7 +35,7 @@ private ["_weaponDirection", "_angleTarget"];
_weaponDirection = _vehicle weaponDirection (_vehicle currentWeaponTurret _turret); // @todo doesn't work for sub turrets _weaponDirection = _vehicle weaponDirection (_vehicle currentWeaponTurret _turret); // @todo doesn't work for sub turrets
if (_turret isEqualTo ([typeOf _vehicle] call EFUNC(common,getTurretCommander))) then { if (_turret isEqualTo ([_vehicle] call EFUNC(common,getTurretCommander))) then {
_weaponDirection = eyeDirection _vehicle; _weaponDirection = eyeDirection _vehicle;
}; };

View File

@ -5,7 +5,7 @@ private ["_vehicle", "_turret", "_weapons"];
_vehicle = _this select 0; _vehicle = _this select 0;
_turret = [typeOf _vehicle] call EFUNC(common,getTurretCommander); _turret = [_vehicle] call EFUNC(common,getTurretCommander);
_weapons = _vehicle weaponsTurret _turret; _weapons = _vehicle weaponsTurret _turret;