Merge branch 'master' into automateRelease

This commit is contained in:
jonpas 2015-06-19 16:44:37 +02:00
commit da9b5dd917
28 changed files with 623 additions and 110 deletions

View File

@ -4,11 +4,11 @@
</p>
<p align="center">
<a href="https://github.com/acemod/ACE3/releases">
<img src="https://img.shields.io/badge/Version-3.0.1-blue.svg"
<img src="https://img.shields.io/badge/Version-3.1.1-blue.svg"
alt="ACE version">
</a>
<a href="https://github.com/acemod/ACE3/releases/download/v3.0.1/ace3_3.0.1.zip">
<img src="http://img.shields.io/badge/Download-40.9_MB-green.svg"
<a href="https://github.com/acemod/ACE3/releases/download/v3.1.1/ace3_3.1.1.zip">
<img src="http://img.shields.io/badge/Download-51.7_MB-green.svg"
alt="ACE download">
</a>
<a href="https://github.com/acemod/ACE3/issues">

Binary file not shown.

View File

@ -140,6 +140,15 @@ call FUNC(checkFiles);
}, 0, [false]] call cba_fnc_addPerFrameHandler;
["SettingsInitialized", {
[
GVAR(checkPBOsAction),
GVAR(checkPBOsCheckAll),
call compile GVAR(checkPBOsWhitelist)
] call FUNC(checkPBOs)
}] call FUNC(addEventHandler);
/***************************************************************/
/***************************************************************/
/***************************************************************/
@ -308,14 +317,6 @@ if(isMultiplayer && { ACE_time > 0 || isNull player } ) then {
}, 0, []] call cba_fnc_addPerFrameHandler;
};
["SettingsInitialized", {
[
GVAR(checkPBOsAction),
GVAR(checkPBOsCheckAll),
call compile GVAR(checkPBOsWhitelist)
] call FUNC(checkPBOs)
}] call FUNC(addEventHandler);
//Device Handler:
GVAR(deviceKeyHandlingArray) = [];
GVAR(deviceKeyCurrentIndex) = -1;

View File

@ -11,7 +11,6 @@ PREP(addCanInteractWithCondition);
PREP(addLineToDebugDraw);
PREP(addSetting);
PREP(addToInventory);
PREP(adminKick);
PREP(ambientBrightness);
PREP(applyForceWalkStatus);
PREP(ASLToPosition);

View File

@ -1,8 +0,0 @@
// by commy2
#include "script_component.hpp"
private "_name";
_name = name (_this select 0);
[_name, "{if (serverCommandAvailable '#kick') then {serverCommand format['#kick %1', _this]}}"] call FUNC(execRemoteFnc);

View File

@ -67,24 +67,26 @@ if (!isServer) then {
//[_error, "{systemChat _this}"] call FUNC(execRemoteFnc);
diag_log text _error;
_text = composeText [lineBreak, parseText format ["<t align='center'>%1</t>", _text]];
if (_mode < 2) then {
_text = composeText [lineBreak, parseText format ["<t align='center'>%1</t>", _text]];
_rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer;
_rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true];
_rscLayer = "ACE_RscErrorHint" call BIS_fnc_rscLayer;
_rscLayer cutRsc ["ACE_RscErrorHint", "PLAIN", 0, true];
disableSerialization;
_ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint";
_ctrlHint ctrlSetStructuredText _text;
disableSerialization;
_ctrlHint = uiNamespace getVariable "ACE_ctrlErrorHint";
_ctrlHint ctrlSetStructuredText _text;
if (_mode == 0) then {
sleep 10;
_rscLayer cutFadeOut 0.2;
if (_mode == 0) then {
sleep 10;
_rscLayer cutFadeOut 0.2;
};
};
if (_mode == 2) then {
sleep 10;
waitUntil {alive player};
[player] call FUNC(adminKick);
waitUntil {alive player}; // To be able to show list if using checkAll
_text = composeText [parseText format ["<t align='center'>%1</t>", _text]];
["[ACE] ERROR", _text, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage);
};
};
};

View File

@ -103,7 +103,7 @@ class CfgVehicles {
statement = "";
insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions););
showDisabled = 0;
exceptions[] = {};
exceptions[] = {"isNotSwimming"};
priority = 5;
icon = QUOTE(PATHTOF(UI\Explosives_Menu_ca.paa));
};
@ -114,7 +114,7 @@ class CfgVehicles {
condition = "true";
statement = QUOTE([ARR_2(_player,_target getVariable QUOTE(QGVAR(class)))] call EFUNC(common,addToInventory);deleteVehicle _target;);
showDisabled = 0;
exceptions[] = {};
exceptions[] = {"isNotSwimming"};
priority = 5;
icon = "\A3\ui_f\data\IGUI\Cfg\Actions\Obsolete\ui_action_takemine_ca.paa";
};

View File

@ -19,16 +19,45 @@ class CfgVehicles {
class Parachute_02_base_F;
class ACE_HuntIR: Parachute_02_base_F {
scope = 1;
author = ECSTRING(common,ACETeam);
castDriverShadow = 0;
destrType = "DestructDefault";
displayName = "HuntIR";
model = PATHTOF(data\huntir.p3d);
castDriverShadow = 0;
soundEnviron[] = {"z\ace\addons\apl\sounds\padak_let", 0.316228, 1, 80};
scope = 1;
soundCrash[] = {"", db-30, 1 };
soundEnviron[] = {"z\ace\addons\apl\sounds\padak_let", 0.316228, 1, 80};
soundLandCrash[] = {"", db-30, 1 };
soundWaterCrash[] = {"", db10, 1 };
mapSize = 0;
class HitPoints {
class HitEngine {
armor = 0;
material = -1;
name = "";
visual = "";
radius = 0;
passThrough = 0;
explosionShielding = 0;
};
class HitParachute {
armor = 0.0001;
material = -1;
name = "parachute";
visual = "";
radius = 0.2;
passThrough = 1;
explosionShielding = 0;
};
class HitCamera {
armor = 0.001;
material = -1;
name = "camera";
visual = "";
radius = 0.025;
passThrough = 1;
explosionShielding = 1;
};
};
};
class Item_Base_F;
@ -56,4 +85,14 @@ class CfgVehicles {
MACRO_ADDMAGAZINE(ACE_HuntIR_M203,20);
};
};
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_HuntIR_monitor,5);
};
class TransportMagazines {
MACRO_ADDMAGAZINE(ACE_HuntIR_M203,20);
};
};
};

View File

@ -3,7 +3,6 @@
ADDON = false;
PREP(cam);
PREP(handleDamage);
PREP(handleFired);
PREP(huntir);
PREP(huntirCompass);

Binary file not shown.

View File

@ -65,12 +65,12 @@ GVAR(no_cams) sort true;
[{
GVAR(nearHuntIRs) = ACE_player nearEntities ["ACE_HuntIR", HUNTIR_MAX_TRANSMISSION_RANGE];
{
if (((getPosVisual _x) select 2) > 20 && {!(_x in GVAR(no_cams))} && {damage _x < 0.5}) then {
if (((getPosVisual _x) select 2) > 20 && {!(_x in GVAR(no_cams))} && {_x getHitPointDamage "HitCamera" < 0.25}) then {
GVAR(no_cams) pushBack _x;
};
} forEach GVAR(nearHuntIRs);
{
if (((getPosVisual _x) select 2) <= 20 || {!(_x in GVAR(nearHuntIRs))} || {damage _x >= 0.5}) then {
if (((getPosVisual _x) select 2) <= 20 || {!(_x in GVAR(nearHuntIRs))} || {_x getHitPointDamage "HitCamera" >= 0.25}) then {
GVAR(no_cams) deleteAt _forEachIndex;
if (_forEachIndex < GVAR(cur_cam)) then {
GVAR(cur_cam) = GVAR(cur_cam) - 1;

View File

@ -1,25 +0,0 @@
/*
* Author: Ruthberg
*
* Handles huntir damage
*
* Arguments:
* 0: huntir <OBJECT>
* 1: selectionName <STRING>
* 2: damage <NUMBER>
* 3: source <OBJECT>
* 4: projectile <STRING>
*
* Return Value:
* Nothing
*
* Return value:
* None
*/
#include "script_component.hpp"
PARAMS_5(_huntir,_selectionName,_damage,_source,_projectile);
systemChat format["Selection: %1; Damage: %2", _selectionName, _damage];
_damage

View File

@ -32,17 +32,16 @@ if (_ammo != "F_HuntIR") exitWith {};
_huntir = createVehicle ["ACE_HuntIR", _position, [], 0, "FLY"];
_huntir setPosATL _position;
_huntir setVariable [QGVAR(startTime), ACE_time, true];
// TODO: Edit the .p3d to allow doing the following _huntir getHit "camera"; _huntir getHit "parachute";
//_huntir addEventHandler ["HandleDamage", {_this call FUNC(handleDamage)}];
[{
EXPLODE_1_PVT(_this select 0,_huntir);
if (isNull _huntir) exitWith {
[_this select 1] call CBA_fnc_removePerFrameHandler;
};
if (damage _huntir > 0) then {
private ["_velocity"];
private ["_parachuteDamage", "_velocity"];
_parachuteDamage = _huntir getHitPointDamage "HitParachute";
if (_parachuteDamage > 0) then {
_velocity = velocity _huntir;
_velocity set [2, -1 min -20 * sqrt(damage _huntir)];
_velocity set [2, -1 min -20 * sqrt(_parachuteDamage)];
_huntir setVelocity _velocity;
_huntir setVectorUp [0, 0, 1];
};

View File

@ -61,7 +61,7 @@ createDialog "ace_huntir_cam_dialog_off";
if (_elapsedTime > 10) then {
GVAR(state) = "noGDS";
};
if (_elapsedTime > 5 && {count _nearestHuntIRs > 0}) then {
if (_elapsedTime > 5 && {{_x getHitPointDamage "HitCamera" < 0.25} count _nearestHuntIRs > 0}) then {
GVAR(state) = "connecting";
};
};

View File

@ -1,7 +1,7 @@
// by commy2 and esteldunedain
#include "script_component.hpp"
private ["_brightness", "_p0", "_p1", "_p0Pos", "_offV1", "_offV2", "_offV3", "_camPos", "_intermediatePos", "_iteration", "_light", "_line", "_pL", "_pL2", "_pX", "_size", "_units", "_fnc_getDistanceToTerrain", "_fnc_doesIntersectWithMan"];
private ["_p0", "_p1", "_p0Pos", "_offV1", "_offV2", "_offV3", "_camPos", "_intermediatePos", "_iteration", "_light", "_line", "_pL", "_pL2", "_pX", "_size", "_units", "_fnc_getDistanceToTerrain", "_fnc_doesIntersectWithMan"];
// init object
/*if (isNil QGVAR(laserdot)) then {
@ -16,7 +16,7 @@ private ["_brightness", "_p0", "_p1", "_p0Pos", "_offV1", "_offV2", "_offV3", "_
GVAR(laserdot) = _light;
};*/
EXPLODE_3_PVT(_this,_unit,_range,_isGreen);
EXPLODE_4_PVT(_this,_unit,_range,_isGreen,_brightness);
_p0Pos = _unit modelToWorldVisual (_unit selectionPosition "righthand");

View File

@ -35,7 +35,7 @@ _brightness = 2 - call EFUNC(common,ambientBrightness);
};
if (_laserID > 0 && {_x isFlashlightOn _weapon}) then {
[_x, 50, _laserID == 2 || _isIR] call FUNC(drawLaserpoint);
[_x, 50, (_laserID == 2 || _isIR), _brightness] call FUNC(drawLaserpoint);
};
};

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
//find is case sensitive, so keep everything lowercase
#define FENCE_TYPENAMES ["land_net_fence_4m_f", "land_net_fence_8m_f", "land_net_fenced_8m_f", "land_new_wiredfence_5m_f", "land_new_wiredfence_10m_dam_f", "land_new_wiredfence_10m_f", "land_pipe_fence_4m_f", "land_pipe_fence_4mnolc_f", "land_sportground_fence_f", "land_wired_fence_4m_f", "land_wired_fence_4md_f", "land_wired_fence_8m_f", "land_wired_fence_8md_f", "land_razorwire_f"]
#define FENCE_TYPENAMES ["land_net_fence_4m_f", "land_net_fence_8m_f", "land_net_fenced_8m_f", "land_new_wiredfence_5m_f", "land_new_wiredfence_10m_dam_f", "land_new_wiredfence_10m_f", "land_pipe_fence_4m_f", "land_pipe_fence_4mnolc_f", "land_sportground_fence_f", "land_wired_fence_4m_f", "land_wired_fence_4md_f", "land_wired_fence_8m_f", "land_wired_fence_8md_f", "land_razorwire_f", "ace_concertinawire"]
#define FENCE_P3DS ["mil_wiredfence_f.p3d","wall_indfnc_3.p3d", "wall_indfnc_9.p3d", "wall_indfnc_corner.p3d", "pletivo_wired.p3d", "wall_fen1_5.p3d"]

View File

@ -5,7 +5,7 @@
#define MAJOR 3
#define MINOR 1
#define PATCHLVL 0
#define PATCHLVL 2
#define BUILD 0
#define VERSION MAJOR.MINOR.PATCHLVL.BUILD

View File

@ -3241,7 +3241,7 @@
</Key>
<Key ID="STR_ACE_Medical_AdvancedMedicalSettings_painIsOnlySuppressed_Description">
<English>Pain is only temporarily suppressed, not removed</English>
<German>Bandagieren entfernt Blutflecken</German>
<German>Schmerzen werden nur vorübergehend unterdrückt, nicht entfernt</German>
<Polish>Ból jest tylko tymczasowo zwalczany, nie jest usuwany trwale</Polish>
<Czech>Bolest je potlačena, ale jen dočastně</Czech>
<Spanish>El dolor se suprime solo temporalmente, no se elimina.</Spanish>

View File

@ -15,15 +15,25 @@ class CfgVehicles {
};
class Bag_Base;
class ACE_TacticalLadder_Pack: Bag_Base {
scope = 2;
displayName = CSTRING(DisplayName);
class ACE_TacticalLadder_Pack: Bag_Base {
scope = 2;
displayName = CSTRING(DisplayName);
descriptionShort = "";
model = PATHTOF(data\ace_tacticalladder_pack.p3d);
picture = PATHTOF(UI\ace_tactical_ladder_pack_ca.paa);
maximumLoad = 0;
mass = 50;
};
};
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportBackpacks {
class _xx_ACE_TacticalLadder_Pack {
backpack = "ACE_TacticalLadder_Pack";
count = 3;
};
};
};
class House;
class ACE_Tactical_Ladder: House {

View File

@ -5,8 +5,8 @@ class CfgPatches {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_interaction"};
author[] = {"Rocko"};
requiredAddons[] = {"ace_apl", "ace_interaction"};
author[] = {"Rocko", "Ruthberg"};
VERSION_CONFIG;
};
};

View File

@ -23,6 +23,152 @@ class CfgSkeletons {
"step","11"
};
};
class OFP2_ManSkeleton {
isDiscrete = 0;
skeletonInherit = "";
skeletonBones[] = {
"Pelvis","",
"Spine","Pelvis",
"Spine1","Spine",
"Spine2","Spine1",
"Spine3","Spine2",
"Camera","Pelvis",
"weapon","Spine1",
"launcher","Spine1",
//Head skeleton in hierarchy
"neck","Spine3",
"neck1","neck",
"head","neck1",
"HeadCutScene","head",
"jaw","head",
"chin","head",
"jaw_rf","head",
"jaw_rm","head",
"jaw_rs","head",
"jaw_lf","head",
"jaw_lm","head",
"jaw_ls","head",
"ear_r","head",
"ear_l","head",
"lip_lc","head",
"lip_lwlb","head",
"lip_lwlf","head",
"lip_lwm","head",
"lip_lwrf","head",
"lip_lwrb","head",
"lip_rc","head",
"lip_uprb","head",
"lip_uprf","head",
"lip_upm","head",
"lip_uplf","head",
"lip_uplb","head",
"nose_tip","head",
"nose_r","head",
"nose_l","head",
"zig_lt","head",
"zig_lm","head",
"zig_lb","head",
"zig_rt","head",
"zig_rm","head",
"zig_rb","head",
"cheek_r","head",
"cheek_l","head",
"eyebrow_lb","head",
"eyebrow_lm","head",
"eyebrow_lf","head",
"corr","head",
"eyebrow_rf","head",
"eyebrow_rm","head",
"eyebrow_rb","head",
"eye_upr","head",
"eye_lwr","head",
"eye_upl","head",
"eye_lwl","head",
"cheek_rf","head",
"cheek_rm","head",
"cheek_rb","head",
"cheek_lf","head",
"cheek_lm","head",
"cheek_lb","head",
"forehead_l","head",
"forehead_m","head",
"forehead_r","head",
"l_eye","head",
"r_eye","head",
"l_pupila","head",
"r_pupila","head",
"neck_t","head",
"neck_b","head",
"neck_r","head",
"neck_l","head",
"tongue_b","head",
"tongue_m","head",
"tongue_f","head",
//Left upper side
"LeftShoulder","Spine3",
"LeftArm","LeftShoulder",
"LeftArmRoll","LeftArm",
"LeftForeArm","LeftArmRoll",
"LeftForeArmRoll","LeftForeArm",
"LeftHand","LeftForeArmRoll",
"LeftHandRing","LeftHand",
"LeftHandRing1","LeftHandRing",
"LeftHandRing2","LeftHandRing1",
"LeftHandRing3","LeftHandRing2",
"LeftHandPinky1","LeftHandRing",
"LeftHandPinky2","LeftHandPinky1",
"LeftHandPinky3","LeftHandPinky2",
"LeftHandMiddle1","LeftHand",
"LeftHandMiddle2","LeftHandMiddle1",
"LeftHandMiddle3","LeftHandMiddle2",
"LeftHandIndex1","LeftHand",
"LeftHandIndex2","LeftHandIndex1",
"LeftHandIndex3","LeftHandIndex2",
"LeftHandThumb1","LeftHand",
"LeftHandThumb2","LeftHandThumb1",
"LeftHandThumb3","LeftHandThumb2",
//Right upper side
"RightShoulder","Spine3",
"RightArm","RightShoulder",
"RightArmRoll","RightArm",
"RightForeArm","RightArmRoll",
"RightForeArmRoll","RightForeArm",
"RightHand","RightForeArmRoll",
"RightHandRing","RightHand",
"RightHandRing1","RightHandRing",
"RightHandRing2","RightHandRing1",
"RightHandRing3","RightHandRing2",
"RightHandPinky1","RightHandRing",
"RightHandPinky2","RightHandPinky1",
"RightHandPinky3","RightHandPinky2",
"RightHandMiddle1","RightHand",
"RightHandMiddle2","RightHandMiddle1",
"RightHandMiddle3","RightHandMiddle2",
"RightHandIndex1","RightHand",
"RightHandIndex2","RightHandIndex1",
"RightHandIndex3","RightHandIndex2",
"RightHandThumb1","RightHand",
"RightHandThumb2","RightHandThumb1",
"RightHandThumb3","RightHandThumb2",
//Left lower side
"LeftUpLeg","Pelvis",
"LeftUpLegRoll","LeftUpLeg",
"LeftLeg","LeftUpLegRoll",
"LeftLegRoll","LeftLeg",
"LeftFoot","LeftLegRoll",
"LeftToeBase","LeftFoot",
//Right lower side
"RightUpLeg","Pelvis",
"RightUpLegRoll","RightUpLeg",
"RightLeg","RightUpLegRoll",
"RightLegRoll","RightLeg",
"RightFoot","RightLegRoll",
"RightToeBase","RightFoot"
};
// location of pivot points (local axes) for hierarchical animation
//pivotsModel="ca\Anims\Characters\Data\Skeleton\SkeletonPivots.p3d";
pivotsModel="";
};
};
class CfgModels {

View File

@ -236,9 +236,9 @@ extern "C"
void __stdcall RVExtension(char *output, int outputSize, const char *function)
{
ZERO_OUTPUT();
std::stringstream outputStr;
if (!strcmp(function, "version")) {
int n = sprintf(output, "%s", ACE_FULL_VERSION_STR);
strncpy(output, ACE_FULL_VERSION_STR, outputSize);
EXTENSION_RETURN();
}
@ -258,7 +258,11 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function)
velocity = strtod(strtok_s(NULL, ":", &next_token), NULL);
retard = calculateRetard(dragModel, ballisticCoefficient, velocity);
int n = sprintf(output, "%f", retard);
// int n = sprintf(output, "%f", retard);
outputStr << retard;
strncpy(output, outputStr.str().c_str(), outputSize);
EXTENSION_RETURN();
} else if (!strcmp(mode, "atmosphericCorrection")) {
double ballisticCoefficient = 1.0;
@ -274,7 +278,9 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function)
atmosphereModel = strtok_s(NULL, ":", &next_token);
ballisticCoefficient = calculateAtmosphericCorrection(ballisticCoefficient, temperature, pressure, humidity, atmosphereModel);
int n = sprintf(output, "%f", ballisticCoefficient);
//int n = sprintf(output, "%f", ballisticCoefficient);
outputStr << ballisticCoefficient;
strncpy(output, outputStr.str().c_str(), outputSize);
EXTENSION_RETURN();
} else if (!strcmp(mode, "new")) {
unsigned int index = 0;
@ -369,7 +375,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function)
bulletDatabase[index].frames = 0.0;
bulletDatabase[index].randSeed = 0;
int n = sprintf(output, "%s", "");
strncpy(output, "", outputSize);
EXTENSION_RETURN();
} else if (!strcmp(mode, "simulate")) {
// simulate:0:[-0.109985,542.529,-3.98301]:[3751.57,5332.23,214.252]:[0.598153,2.38829,0]:28.6:0:0.481542:0:215.16
@ -586,8 +592,9 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function)
velocityOffset[1] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef;
velocityOffset[2] += (distribution(bulletDatabase[index].randGenerator) * 0.8 - 0.4) * coef;
};
int n = sprintf(output, "_bullet setVelocity (_bulletVelocity vectorAdd [%f, %f, %f]); _bullet setPosASL (_bulletPosition vectorAdd [%f, %f, %f]);", velocityOffset[0], velocityOffset[1], velocityOffset[2], positionOffset[0], positionOffset[1], positionOffset[2]);
outputStr << "_bullet setVelocity (_bulletVelocity vectorAdd [" << velocityOffset[0] << "," << velocityOffset[1] << "," << velocityOffset[2] << "]); _bullet setPosASL (_bulletPosition vectorAdd [" << positionOffset[0] << "," << positionOffset[1] << "," << positionOffset[2] << "]);";
strncpy(output, outputStr.str().c_str(), outputSize);
EXTENSION_RETURN();
} else if (!strcmp(mode, "set")) {
int height = 0;
@ -602,7 +609,7 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function)
map->gridBuildingNums.push_back(numObjects);
map->gridSurfaceIsWater.push_back(surfaceIsWater);
int n = sprintf(output, "%s", "");
strncpy(output, outputStr.str().c_str(), outputSize);
EXTENSION_RETURN();
} else if (!strcmp(mode, "init")) {
int mapSize = 0;
@ -617,7 +624,8 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function)
map = &mapDatabase[worldName];
if (map->gridHeights.size() == gridCells) {
int n = sprintf(output, "%s", "Terrain already initialized");
outputStr << "Terrain already initialized";
strncpy(output, outputStr.str().c_str(), outputSize);
EXTENSION_RETURN();
}
@ -630,10 +638,9 @@ void __stdcall RVExtension(char *output, int outputSize, const char *function)
map->gridBuildingNums.reserve(gridCells);
map->gridSurfaceIsWater.reserve(gridCells);
int n = sprintf(output, "%s", "");
strncpy(output, outputStr.str().c_str(), outputSize);
EXTENSION_RETURN();
}
int n = sprintf(output, "%s", "");
strncpy(output, outputStr.str().c_str(), outputSize);
EXTENSION_RETURN();
}

View File

@ -1,8 +1,8 @@
name = "Advanced Combat Environment 3.1.0";
name = "Advanced Combat Environment 3.1.2";
picture = "logo_ace3_ca.paa";
actionName = "GitHub";
action = "https://github.com/acemod/ACE3";
description = "ACE3 - Version 3.1.0";
description = "ACE3 - Version 3.1.2";
logo = "logo_ace3_ca.paa";
logoOver = "logo_ace3_ca.paa";
tooltip = "ACE3";

View File

@ -4,6 +4,7 @@ class CfgAmmo
class B_762x51_Ball;
class B_127x99_Ball;
class CUP_B_545x39_Ball: BulletBase {
airFriction=-0.0011204;
ACE_caliber=5.588;
ACE_bulletLength=21.59;
ACE_bulletMass=3.42792;
@ -16,6 +17,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_545x39_Ball_Tracer_Green: CUP_B_545x39_Ball {
airFriction=-0.0011204;
ACE_caliber=5.588;
ACE_bulletLength=21.59;
ACE_bulletMass=3.22704;
@ -28,6 +30,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_545x39_Ball_Tracer_Red: BulletBase {
airFriction=-0.0011204;
ACE_caliber=5.588;
ACE_bulletLength=21.59;
ACE_bulletMass=3.22704;
@ -40,6 +43,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_545x39_Ball_Tracer_White: BulletBase {
airFriction=-0.0011204;
ACE_caliber=5.588;
ACE_bulletLength=21.59;
ACE_bulletMass=3.22704;
@ -52,6 +56,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_545x39_Ball_Tracer_Yellow: BulletBase {
airFriction=-0.0011204;
ACE_caliber=5.588;
ACE_bulletLength=21.59;
ACE_bulletMass=3.22704;
@ -64,6 +69,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_762x39_Ball: BulletBase {
airFriction=-0.00150173;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=7.9704;
@ -76,6 +82,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_762x39_Ball_Tracer_Green: BulletBase {
airFriction=-0.00150173;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=7.5816;
@ -88,6 +95,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class B_762x39mm_KLT: BulletBase {
airFriction=-0.00150173;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=7.5816;
@ -100,6 +108,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_9x18_Ball: BulletBase {
airFriction=-0.00180193;
ACE_caliber=9.271;
ACE_bulletLength=15.494;
ACE_bulletMass=6.00048;
@ -112,6 +121,7 @@ class CfgAmmo
ACE_barrelLengths[]={96.52, 127.0, 228.6};
};
class CUP_B_9x18_Ball_Tracer_Green: BulletBase {
airFriction=-0.00180193;
ACE_caliber=9.271;
ACE_bulletLength=15.494;
ACE_bulletMass=6.00048;
@ -124,6 +134,7 @@ class CfgAmmo
ACE_barrelLengths[]={96.52, 127.0, 228.6};
};
class CUP_B_9x18_Ball_Tracer_Red: BulletBase {
airFriction=-0.00180193;
ACE_caliber=9.271;
ACE_bulletLength=15.494;
ACE_bulletMass=6.00048;
@ -136,6 +147,7 @@ class CfgAmmo
ACE_barrelLengths[]={96.52, 127.0, 228.6};
};
class CUP_B_9x18_Ball_Tracer_Yellow: BulletBase {
airFriction=-0.00180193;
ACE_caliber=9.271;
ACE_bulletLength=15.494;
ACE_bulletMass=6.00048;
@ -148,6 +160,7 @@ class CfgAmmo
ACE_barrelLengths[]={96.52, 127.0, 228.6};
};
class CUP_B_9x18_Ball_White_Tracer: BulletBase {
airFriction=-0.00180193;
ACE_caliber=9.271;
ACE_bulletLength=15.494;
ACE_bulletMass=6.00048;
@ -160,6 +173,7 @@ class CfgAmmo
ACE_barrelLengths[]={96.52, 127.0, 228.6};
};
class CUP_B_9x19_Ball: BulletBase {
airFriction=-0.00205726;
ACE_caliber=9.017;
ACE_bulletLength=15.494;
ACE_bulletMass=8.0352;
@ -172,6 +186,7 @@ class CfgAmmo
ACE_barrelLengths[]={101.6, 127.0, 228.6};
};
class CUP_B_762x51_noTracer: B_762x51_Ball {
airFriction=-0.00099036;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=9.4608;
@ -184,6 +199,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4};
};
class CUP_B_303_Ball: BulletBase {
airFriction=-0.00082199;
ACE_caliber=7.899;
ACE_bulletLength=31.166;
ACE_bulletMass=11.2752;
@ -196,6 +212,7 @@ class CfgAmmo
ACE_barrelLengths[]={508.0, 609.6, 660.4};
};
class CUP_B_127x107_Ball_Green_Tracer: BulletBase {
airFriction=-0.00062618;
ACE_caliber=12.979;
ACE_bulletLength=64.008;
ACE_bulletMass=48.276;
@ -208,6 +225,7 @@ class CfgAmmo
ACE_barrelLengths[]={728.98};
};
class CUP_B_127x108_Ball_Green_Tracer: BulletBase {
airFriction=-0.00062618;
ACE_caliber=12.979;
ACE_bulletLength=64.008;
ACE_bulletMass=48.276;
@ -220,6 +238,7 @@ class CfgAmmo
ACE_barrelLengths[]={728.98};
};
class CUP_B_762x54_Ball_White_Tracer: BulletBase {
airFriction=-0.00101742;
ACE_caliber=7.925;
ACE_bulletLength=28.956;
ACE_bulletMass=9.6552;
@ -232,6 +251,7 @@ class CfgAmmo
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class CUP_B_762x54_Ball_Red_Tracer: BulletBase {
airFriction=-0.00101742;
ACE_caliber=7.925;
ACE_bulletLength=28.956;
ACE_bulletMass=9.6552;
@ -244,6 +264,7 @@ class CfgAmmo
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class CUP_B_762x54_Ball_Green_Tracer: BulletBase {
airFriction=-0.00101742;
ACE_caliber=7.925;
ACE_bulletLength=28.956;
ACE_bulletMass=9.6552;
@ -256,6 +277,7 @@ class CfgAmmo
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class CUP_B_762x54_Ball_Yellow_Tracer: BulletBase {
airFriction=-0.00101742;
ACE_caliber=7.925;
ACE_bulletLength=28.956;
ACE_bulletMass=9.6552;
@ -268,6 +290,7 @@ class CfgAmmo
ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
};
class CUP_B_9x39_SP5: BulletBase {
airFriction=-0.00075274;
ACE_caliber=9.246;
ACE_bulletLength=31.496;
ACE_bulletMass=16.2;
@ -280,6 +303,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 414.02, 508.0};
};
class CUP_B_762x51_Tracer_Green: BulletBase {
airFriction=-0.00099036;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=9.4608;
@ -292,6 +316,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4};
};
class CUP_B_762x51_Tracer_Red: BulletBase {
airFriction=-0.00099036;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=9.4608;
@ -304,6 +329,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4};
};
class CUP_B_762x51_Tracer_Yellow: BulletBase {
airFriction=-0.00099036;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=9.4608;
@ -316,6 +342,7 @@ class CfgAmmo
ACE_barrelLengths[]={254.0, 406.4, 508.0, 609.6, 660.4};
};
class CUP_B_762x51_Tracer_White: BulletBase {
airFriction=-0.00099036;
ACE_caliber=7.823;
ACE_bulletLength=28.956;
ACE_bulletMass=9.4608;
@ -340,6 +367,7 @@ class CfgAmmo
ACE_barrelLengths[]={728.98};
};
class CUP_B_9x18_SD: BulletBase {
airFriction=-0.00180193;
ACE_caliber=9.271;
ACE_bulletLength=15.494;
ACE_bulletMass=6.00048;
@ -352,6 +380,7 @@ class CfgAmmo
ACE_barrelLengths[]={96.52, 127.0, 228.6};
};
class CUP_B_765x17_Ball: BulletBase {
airFriction=-0.00173452;
ACE_caliber=7.938;
ACE_bulletLength=15.494;
ACE_bulletMass=4.212;
@ -364,6 +393,7 @@ class CfgAmmo
ACE_barrelLengths[]={101.6, 127.0, 228.6};
};
class CUP_B_145x115_AP_Green_Tracer: BulletBase {
airFriction=-0.00059041;
ACE_caliber=14.884;
ACE_bulletLength=50.8;
ACE_bulletMass=65.448;
@ -376,6 +406,7 @@ class CfgAmmo
ACE_barrelLengths[]={1346.2};
};
class CUP_B_127x99_Ball_White_Tracer: B_127x99_Ball {
airFriction=-0.00057503;
ACE_caliber=12.954;
ACE_bulletLength=58.674;
ACE_bulletMass=41.9256;
@ -388,15 +419,16 @@ class CfgAmmo
ACE_barrelLengths[]={736.6};
};
class CUP_B_86x70_Ball_noTracer: BulletBase {
airFriction=-0.0005788;
ACE_caliber=8.585;
ACE_bulletLength=43.18;
ACE_bulletMass=19.44;
ACE_bulletLength=39.573;
ACE_bulletMass=16.2;
ACE_ammoTempMuzzleVelocityShifts[]={-26.55, -25.47, -22.85, -20.12, -16.98, -12.80, -7.64, -1.53, 5.96, 15.17, 26.19};
ACE_ballisticCoefficients[]={0.381};
ACE_ballisticCoefficients[]={0.322};
ACE_velocityBoundaries[]={};
ACE_standardAtmosphere="ICAO";
ACE_dragModel=7;
ACE_muzzleVelocities[]={820, 826, 830};
ACE_barrelLengths[]={609.6, 673.1, 711.2};
ACE_muzzleVelocities[]={880, 915, 925};
ACE_barrelLengths[]={508.0, 660.4, 711.2};
};
};

View File

@ -45,4 +45,223 @@ class CfgMagazines {
modelSpecial = "";
mass = 0;
};
class CA_Magazine;
class 30Rnd_556x45_Stanag;
class CUP_30Rnd_545x39_AK_M: CA_Magazine {
initSpeed = 880;
};
class CUP_30Rnd_TE1_Green_Tracer_545x39_AK_M: CA_Magazine {
initSpeed = 880;
};
class CUP_30Rnd_TE1_Red_Tracer_545x39_AK_M: CA_Magazine {
initSpeed = 880;
};
class CUP_30Rnd_TE1_White_Tracer_545x39_AK_M: CA_Magazine {
initSpeed = 880;
};
class CUP_30Rnd_TE1_Yellow_Tracer_545x39_AK_M: CA_Magazine {
initSpeed = 880;
};
class CUP_75Rnd_TE4_LRT4_Green_Tracer_545x39_RPK_M: CA_Magazine {
initSpeed = 880;
};
class CUP_30Rnd_762x39_AK47_M: CA_Magazine {
initSpeed = 750;
};
class CUP_64Rnd_9x19_Bizon_M: CA_Magazine {
initSpeed = 350;
};
class CUP_64Rnd_Green_Tracer_9x19_Bizon_M: CA_Magazine {
initSpeed = 350;
};
class CUP_64Rnd_Red_Tracer_9x19_Bizon_M: CA_Magazine {
initSpeed = 350;
};
class CUP_64Rnd_White_Tracer_9x19_Bizon_M: CA_Magazine {
initSpeed = 350;
};
class CUP_64Rnd_Yellow_Tracer_9x19_Bizon_M: CA_Magazine {
initSpeed = 350;
};
class CUP_5x_22_LR_17_HMR_M: CA_Magazine {
initSpeed = 830;
};
class CUP_10x_303_M: CA_Magazine {
initSpeed = 765;
};
class CUP_20Rnd_762x51_FNFAL_M: CA_Magazine {
initSpeed = 833;
};
class CUP_5Rnd_127x108_KSVK_M: CA_Magazine {
initSpeed = 820;
};
class CUP_100Rnd_TE4_LRT4_White_Tracer_762x51_Belt_M: CA_Magazine {
initSpeed = 833;
};
class CUP_100Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M: CUP_100Rnd_TE4_LRT4_White_Tracer_762x51_Belt_M {
initSpeed = 833;
};
class CUP_200Rnd_TE4_LRT4_White_Tracer_762x51_Belt_M: CA_Magazine {
initSpeed = 833;
};
class CUP_200Rnd_TE4_LRT4_Red_Tracer_762x51_Belt_M: CA_Magazine {
initSpeed = 833;
};
class CUP_100Rnd_TE4_LRT4_762x54_PK_Tracer_Green_M: CA_Magazine {
initSpeed = 800;
};
class CUP_10Rnd_762x54_SVD_M: CA_Magazine {
initSpeed = 800;
};
class CUP_10Rnd_9x39_SP5_VSS_M: CA_Magazine {
initSpeed = 300;
};
class CUP_20Rnd_9x39_SP5_VSS_M: CA_Magazine {
initSpeed = 300;
};
class CUP_5Rnd_127x99_as50_M: CA_Magazine {
initSpeed = 900;
};
class CUP_20Rnd_762x51_DMR: CA_Magazine {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Yellow_Tracer_762x51_DMR: CUP_20Rnd_762x51_DMR {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Red_Tracer_762x51_DMR: CUP_20Rnd_762x51_DMR {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Green_Tracer_762x51_DMR: CUP_20Rnd_762x51_DMR {
initSpeed = 833;
};
class CUP_20Rnd_TE1_White_Tracer_762x51_DMR: CUP_20Rnd_762x51_DMR {
initSpeed = 833;
};
class CUP_20Rnd_762x51_B_SCAR: CA_Magazine {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Yellow_Tracer_762x51_SCAR: CUP_20Rnd_762x51_B_SCAR {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Red_Tracer_762x51_SCAR: CUP_20Rnd_762x51_B_SCAR {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Green_Tracer_762x51_SCAR: CUP_20Rnd_762x51_B_SCAR {
initSpeed = 833;
};
class CUP_20Rnd_TE1_White_Tracer_762x51_SCAR: CUP_20Rnd_762x51_B_SCAR {
initSpeed = 833;
};
class CUP_20Rnd_762x51_B_M110: CA_Magazine {
initSpeed = 833;
};
class CUP_5Rnd_762x51_M24: CA_Magazine {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Yellow_Tracer_762x51_M110: CUP_20Rnd_762x51_B_M110 {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Red_Tracer_762x51_M110: CUP_20Rnd_762x51_B_M110 {
initSpeed = 833;
};
class CUP_20Rnd_TE1_Green_Tracer_762x51_M110: CUP_20Rnd_762x51_B_M110 {
initSpeed = 833;
};
class CUP_20Rnd_TE1_White_Tracer_762x51_M110: CUP_20Rnd_762x51_B_M110 {
initSpeed = 833;
};
class CUP_30Rnd_556x45_G36: 30Rnd_556x45_Stanag {
initSpeed = 920;
};
class CUP_30Rnd_TE1_Red_Tracer_556x45_G36: CUP_30Rnd_556x45_G36 {
initSpeed = 920;
};
class CUP_30Rnd_TE1_Green_Tracer_556x45_G36: CUP_30Rnd_556x45_G36 {
initSpeed = 920;
};
class CUP_30Rnd_TE1_Yellow_Tracer_556x45_G36: CUP_30Rnd_556x45_G36 {
initSpeed = 920;
};
class CUP_100Rnd_556x45_BetaCMag: 30Rnd_556x45_Stanag {
initSpeed = 920;
};
class CUP_100Rnd_TE1_Red_Tracer_556x45_BetaCMag: CUP_100Rnd_556x45_BetaCMag {
initSpeed = 920;
};
class CUP_100Rnd_TE1_Green_Tracer_556x45_BetaCMag: CUP_100Rnd_556x45_BetaCMag {
initSpeed = 920;
};
class CUP_100Rnd_TE1_Yellow_Tracer_556x45_BetaCMag: CUP_100Rnd_556x45_BetaCMag {
initSpeed = 920;
};
class CUP_200Rnd_TE4_Green_Tracer_556x45_M249: CA_Magazine {
initSpeed = 920;
};
class CUP_200Rnd_TE4_Red_Tracer_556x45_M249: CUP_200Rnd_TE4_Green_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_200Rnd_TE4_Yellow_Tracer_556x45_M249: CUP_200Rnd_TE4_Green_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_200Rnd_TE1_Red_Tracer_556x45_M249: CUP_200Rnd_TE4_Red_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_100Rnd_TE4_Green_Tracer_556x45_M249: CA_Magazine {
initSpeed = 920;
};
class CUP_100Rnd_TE4_Red_Tracer_556x45_M249: CUP_100Rnd_TE4_Green_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_100Rnd_TE4_Yellow_Tracer_556x45_M249: CUP_100Rnd_TE4_Green_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_200Rnd_TE4_Green_Tracer_556x45_L110A1: CUP_200Rnd_TE4_Green_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_200Rnd_TE4_Red_Tracer_556x45_L110A1: CUP_200Rnd_TE4_Red_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_200Rnd_TE4_Yellow_Tracer_556x45_L110A1: CUP_200Rnd_TE4_Yellow_Tracer_556x45_M249 {
initSpeed = 920;
};
class CUP_30Rnd_556x45_Stanag: CA_Magazine {
initSpeed = 920;
};
class CUP_20Rnd_556x45_Stanag: CUP_30Rnd_556x45_Stanag {
initSpeed = 920;
};
class CUP_10Rnd_127x99_M107: CA_Magazine {
initSpeed = 900;
};
class CUP_10Rnd_762x51_CZ750: CA_Magazine {
initSpeed = 833;
};
class CUP_10Rnd_762x51_CZ750_Tracer: CUP_10Rnd_762x51_CZ750 {
initSpeed = 833;
};
class CUP_50Rnd_UK59_762x54R_Tracer: CA_Magazine {
initSpeed = 800;
};
class CUP_8Rnd_9x18_Makarov_M: CA_Magazine {
initSpeed = 300;
};
class CUP_8Rnd_9x18_MakarovSD_M: CUP_8Rnd_9x18_Makarov_M {
initSpeed = 300;
};
class CUP_6Rnd_45ACP_M: CA_Magazine {
initSpeed = 250;
};
class CUP_17Rnd_9x19_glock17: CA_Magazine {
initSpeed = 370;
};
class CUP_5Rnd_86x70_L115A1: CA_Magazine {
initSpeed = 915;
};
class CUP_20Rnd_B_765x17_Ball_M: CA_Magazine {
initSpeed = 290;
};
class CUP_30Rnd_9x19_MP5: CA_Magazine {
initSpeed = 400;
};
};

View File

@ -5,175 +5,217 @@ class CfgWeapons
class Rifle_Long_Base_F;
class Launcher_Base_F;
class CUP_hgun_Colt1911 : Pistol_Base_F {
initSpeed=-1.04;
ACE_barrelTwist=406.4;
ACE_barrelLength=127.0;
};
class CUP_sgun_AA12 : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=0.0;
ACE_twistDirection=0;
ACE_barrelLength=457.2;
};
class CUP_arifle_AK_Base : Rifle_Base_F {
initSpeed=-0.95467;
ACE_barrelTwist=240.03;
ACE_barrelLength=414.02;
};
class CUP_arifle_AK107_Base : CUP_arifle_AK_Base {
initSpeed=-1.0;
ACE_barrelTwist=199.898;
ACE_barrelLength=414.02;
};
class CUP_arifle_AKS_Base : CUP_arifle_AK_Base {
initSpeed=-0.95467;
ACE_barrelTwist=199.898;
ACE_barrelLength=414.02;
};
class CUP_arifle_AKS74U : CUP_arifle_AK_Base {
initSpeed=-0.88636;
ACE_barrelTwist=160.02;
ACE_barrelLength=210.82;
};
class CUP_arifle_AK74;
class CUP_arifle_RPK74 : CUP_arifle_AK74 {
initSpeed=-1.0;
ACE_barrelTwist=195.072;
ACE_barrelLength=589.28;
};
class CUP_srifle_AS50 : Rifle_Long_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=381.0;
ACE_barrelLength=736.6;
};
class CUP_srifle_AWM_Base : Rifle_Long_Base_F {
initSpeed=-1.00547;
ACE_barrelTwist=279.4;
ACE_barrelLength=685.8;
};
class CUP_smg_bizon : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=231.14;
};
class CUP_hgun_Compact : Pistol_Base_F {
initSpeed=-0.97778;
ACE_barrelTwist=248.92;
ACE_barrelLength=94.996;
};
class CUP_srifle_CZ750 : Rifle_Long_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=304.8;
ACE_barrelLength=660.4;
};
class CUP_arifle_CZ805_Base : Rifle_Base_F {
initSpeed=-0.87283;
ACE_barrelTwist=304.8;
ACE_barrelLength=355.6;
};
class CUP_arifle_CZ805_A1 : CUP_arifle_CZ805_Base {
initSpeed=-0.93696;
ACE_barrelTwist=304.8;
ACE_barrelLength=355.6;
};
class CUP_arifle_CZ805_A2 : CUP_arifle_CZ805_Base {
initSpeed=-0.87283;
ACE_barrelTwist=304.8;
ACE_barrelLength=276.86;
};
class CUP_srifle_DMR : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=304.8;
ACE_barrelLength=558.8;
};
class CUP_hgun_Duty : Pistol_Base_F {
initSpeed=-0.97778;
ACE_barrelTwist=248.92;
ACE_barrelLength=94.996;
};
class CUP_arifle_FNFAL : Rifle_Base_F {
initSpeed=-0.98796;
ACE_barrelTwist=304.8;
ACE_barrelLength=533.4;
};
class CUP_arifle_G36_Base;
class CUP_arifle_G36A : CUP_arifle_G36_Base {
initSpeed=-0.99357;
ACE_barrelTwist=177.8;
ACE_barrelLength=480;
};
class CUP_arifle_G36K : CUP_arifle_G36A {
initSpeed=-0.90761;
ACE_barrelTwist=177.8;
ACE_barrelLength=318;
};
class CUP_arifle_G36C : Rifle_Base_F {
initSpeed=-0.81522;
ACE_barrelTwist=177.8;
ACE_barrelLength=228;
};
class CUP_arifle_MG36 : CUP_arifle_G36C {
initSpeed=-0.99457;
ACE_barrelTwist=177.8;
ACE_barrelLength=480;
};
class CUP_hgun_Glock17 : Pistol_Base_F {
initSpeed=-0.9595;
ACE_barrelTwist=248.92;
ACE_barrelLength=114.046;
};
class CUP_srifle_CZ550 : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=304.8;
ACE_barrelLength=599.999;
};
class CUP_srifle_ksvk : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=457.2;
ACE_barrelLength=999.998;
};
class CUP_lmg_L7A2 : Rifle_Long_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=304.8;
ACE_barrelLength=629.92;
};
class CUP_arifle_L85A2_Base : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=177.8;
ACE_barrelLength=518.16;
};
class CUP_arifle_L86A2_Base: Rifle_Base_F {
initSpeed=-0.97826;
ACE_barrelTwist=177.8;
ACE_barrelLength=646;
};
class CUP_lmg_L110A1 : Rifle_Long_Base_F {
initSpeed=-0.93044;
ACE_barrelTwist=177.8;
ACE_barrelLength=347.98;
};
class CUP_srifle_LeeEnfield : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=254.0;
ACE_barrelLength=640.08;
};
class CUP_hgun_M9 : Pistol_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=248.92;
ACE_barrelLength=124.46;
};
class CUP_srifle_M14 : Rifle_Base_F {
initSpeed=-0.99160;
ACE_barrelTwist=304.8;
ACE_barrelLength=558.8;
};
class CUP_arifle_M16_Base : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=355.6;
ACE_barrelLength=508.0;
};
class CUP_arifle_M16A4_Base;
class CUP_arifle_M4_Base : CUP_arifle_M16A4_Base {
initSpeed=-0.94565;
ACE_barrelTwist=177.8;
ACE_barrelLength=368.3;
};
class CUP_arifle_M4A1;
class CUP_srifle_Mk12SPR : CUP_arifle_M4A1 {
initSpeed=-0.98696;
ACE_barrelTwist=177.8;
ACE_barrelLength=457.2;
};
class CUP_srifle_M24_des : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=285.75;
ACE_barrelLength=609.6;
};
class CUP_lmg_M60A4 : Rifle_Long_Base_F {
initSpeed=-0.96639;
ACE_barrelTwist=304.8;
ACE_barrelLength=431.8;
};
class CUP_srifle_M107_Base : Rifle_Long_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=381.0;
ACE_barrelLength=736.6;
};
class CUP_srifle_M110 : Rifle_Base_F {
initSpeed=-0.98558;
ACE_barrelTwist=279.4;
ACE_barrelLength=508.0;
};
class CUP_lmg_M240 : Rifle_Long_Base_F {
initSpeed=-1.00600;
ACE_barrelTwist=304.8;
ACE_barrelLength=629.92;
};
class CUP_lmg_M249_para : Rifle_Long_Base_F {
initSpeed=-0.96739;
ACE_barrelTwist=177.8;
ACE_barrelLength=414.02;
};
class CUP_lmg_M249 : Rifle_Long_Base_F {
initSpeed=-0.98696;
ACE_barrelTwist=177.8;
ACE_barrelLength=457.2;
};
@ -183,153 +225,204 @@ class CfgWeapons
ACE_barrelLength=469.9;
};
class CUP_hgun_Makarov : Pistol_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=93.472;
};
class CUP_hgun_MicroUzi : Pistol_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=248.92;
ACE_barrelLength=127.0;
};
class CUP_lmg_Mk48_Base : Rifle_Long_Base_F {
initSpeed=-0.98558;
ACE_barrelTwist=304.8;
ACE_barrelLength=501.65;
};
class CUP_smg_MP5SD6 : Rifle_Base_F {
initSpeed=-0.9375;
ACE_barrelTwist=254.0;
ACE_barrelLength=144.78;
};
class CUP_smg_MP5A5 : CUP_smg_MP5SD6 {
initSpeed=-1.0;
ACE_barrelTwist=254.0;
ACE_barrelLength=226.06;
};
};
class CUP_smg_EVO : Rifle_Base_F {
initSpeed=-0.975;
ACE_barrelTwist=254.0;
ACE_barrelLength=195.58;
};
class CUP_hgun_PB6P9 : Pistol_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=104.14;
};
class CUP_hgun_Phantom : Pistol_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=246.38;
ACE_barrelLength=119.38;
};
class CUP_lmg_PKM : Rifle_Long_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=645.16;
};
class CUP_lmg_Pecheneg : CUP_lmg_PKM {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=657.86;
};
class CUP_hgun_TaurusTracker455 : Pistol_Base_F {
initSpeed=-0.92;
ACE_barrelTwist=304.8;
ACE_barrelLength=101.6;
};
class CUP_arifle_Sa58_base;
class CUP_arifle_Sa58P : CUP_arifle_Sa58_base {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=391.16;
};
class CUP_arifle_Sa58V : CUP_arifle_Sa58P {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=391.16;
};
class CUP_arifle_Sa58RIS1 : CUP_arifle_Sa58_base {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=391.16;
};
class CUP_hgun_SA61 : Pistol_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=406.4;
ACE_barrelLength=114.3;
};
class CUP_sgun_Saiga12K: Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=0.0;
ACE_twistDirection=0;
ACE_barrelLength=429.26;
};
class CUP_arifle_SCAR_L_Base;
class CUP_arifle_Mk16_CQC : CUP_arifle_SCAR_L_Base {
initSpeed=-0.84783;
ACE_barrelTwist=177.8;
ACE_barrelLength=254.0;
};
class CUP_arifle_Mk16_STD : CUP_arifle_SCAR_L_Base {
initSpeed=-0.93696;
ACE_barrelTwist=177.8;
ACE_barrelLength=355.6;
};
class CUP_arifle_Mk16_SV : CUP_arifle_SCAR_L_Base {
initSpeed=-0.98696;
ACE_barrelTwist=177.8;
ACE_barrelLength=457.2;
};
class CUP_arifle_Mk17_Base;
class CUP_arifle_Mk17_CQC : CUP_arifle_Mk17_Base {
class CUP_arifle_Mk17_CQC : CUP_arifle_Mk17_Base {
initSpeed=-0.90144;
ACE_barrelTwist=304.8;
ACE_barrelLength=330.2;
};
class CUP_arifle_Mk17_STD : CUP_arifle_Mk17_Base {
class CUP_arifle_Mk17_STD : CUP_arifle_Mk17_Base {
initSpeed=-0.96154;
ACE_barrelTwist=304.8;
ACE_barrelLength=406.4;
};
class CUP_arifle_Mk20 : CUP_arifle_Mk17_Base {
class CUP_arifle_Mk20 : CUP_arifle_Mk17_Base {
initSpeed=-0.98558;
ACE_barrelTwist=304.8;
ACE_barrelLength=508.0;
};
class CUP_srifle_SVD : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=238.76;
ACE_barrelLength=619.76;
};
class CUP_lmg_UK59 : Rifle_Long_Base_F {
initSpeed=-0.9625;
ACE_barrelTwist=381.0;
ACE_barrelLength=551.18;
};
class MGun;
class CUP_DSHKM_W : MGun {
initSpeed=-1.0;
ACE_barrelTwist=381.0;
ACE_barrelLength=1069.34;
};
class CUP_KPVT_W : MGun {
initSpeed=-1.0;
ACE_barrelTwist=454.914;
ACE_barrelLength=1346.2;
};
class CUP_M242_W;
class CUP_KPVB_W : CUP_M242_W {
initSpeed=-1.0;
ACE_barrelTwist=454.914;
ACE_barrelLength=1346.2;
};
class MGunCore;
class CUP_M134 : MGunCore {
initSpeed=-1.0;
ACE_barrelTwist=304.8;
ACE_barrelLength=558.8;
};
class CUP_M240_veh_W : Rifle_Long_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=304.8;
ACE_barrelLength=629.92;
};
class CUP_PKT_W : MGun {
initSpeed=-1.0;
ACE_barrelTwist=240.03;
ACE_barrelLength=722.122;
};
class CUP_srifle_VSSVintorez : Rifle_Base_F {
initSpeed=-0.93334;
ACE_barrelTwist=210.82;
ACE_barrelLength=200.66;
};
class CUP_arifle_XM8_Base : Rifle_Base_F {
initSpeed=-1.0;
ACE_barrelTwist=177.8;
ACE_barrelLength=317.5;
};
class CUP_arifle_XM8_Carbine : CUP_arifle_XM8_Base {
initSpeed=-0.90760;
ACE_barrelTwist=177.8;
ACE_barrelLength=317.5;
};
class CUP_arifle_xm8_sharpshooter : CUP_arifle_XM8_Base {
initSpeed=-1.0;
ACE_barrelTwist=177.8;
ACE_barrelLength=508.0;
};
class CUP_arifle_xm8_SAW : CUP_arifle_XM8_Base {
initSpeed=-1.0;
ACE_barrelTwist=177.8;
ACE_barrelLength=508.0;
};
class CUP_arifle_XM8_Compact : CUP_arifle_XM8_Base {
initSpeed=-0.81522;
ACE_barrelTwist=177.8;
ACE_barrelLength=228.6;
};
class CUP_arifle_XM8_Railed_Base : Rifle_Base_F {
initSpeed=-0.90760;
ACE_barrelTwist=177.8;
ACE_barrelLength=317.5;
};
class CUP_arifle_XM8_Carbine_FG : CUP_arifle_XM8_Base {
initSpeed=-0.90870;
ACE_barrelTwist=177.8;
ACE_barrelLength=317.5;
};
class CUP_arifle_XM8_Carbine_GL : CUP_arifle_XM8_Base {
initSpeed=-0.90870;
ACE_barrelTwist=177.8;
ACE_barrelLength=317.5;
};

View File

@ -1156,16 +1156,16 @@ See the make.cfg file for additional build options.
if build_tool == "pboproject":
try:
nobinFilePath = os.path.join(work_drive, prefix, module, "$NOBIN$")
backup_config(module)
if (not os.path.isfile(nobinFilePath)):
backup_config(module)
convert_config(module)
version_stamp_pboprefix(module,commit_id)
if os.path.isfile(nobinFilePath):
print_green("$NOBIN$ Found. Proceeding with non-binarizing!")
cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")]
cmd = [makepboTool, "-P","-A","-L","-G","-X=*.backup", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"addons")]
else:
if check_external:
@ -1299,7 +1299,7 @@ See the make.cfg file for additional build options.
except Exception as e:
print_yellow("Cancel or some error detected: {}".format(e))
finally:
copy_important_files(module_root_parent,os.path.join(release_dir, project))