Ta
#### 2.5 Azimuth and Inclination
-- Tap TAB once then press and hold it until the azimuth and inclination is displayed.
+- Tap Tab ↹ once then press and hold it until the azimuth and inclination is displayed.
#### 2.6 Distance between two points
- Press and hold R until the red pointing circle appears.
-- Sight the circle on the first object and tap TAB while further holding R. The first measurement is confirmed ("1-P" = first point).
+- Sight the circle on the first object and tap Tab ↹ while further holding R. The first measurement is confirmed ("1-P" = first point).
- Sight the second object and release R.
#### 2.7 Horizontal and vertical distance between two points
- Tap R once then press and hold it until the red pointing circle appears.
-- Sight the circle on the object and tap TAB once. The first measurement is confirmed ("1-P" = first point).
+- Sight the circle on the object and tap Tab ↹ once. The first measurement is confirmed ("1-P" = first point).
- Sight the second object and release R.
#### 2.8 Horizontal distance and azimuth between two points
-- Press and hold TAB until the azimuth appears.
-- Sight the circle on the first object and tap R while further holding TAB. The first measurement is confirmed ("1-P" = first point).
-- Sight the second object and release TAB.
+- Press and hold Tab ↹ until the azimuth appears.
+- Sight the circle on the first object and tap R while further holding Tab ↹. The first measurement is confirmed ("1-P" = first point).
+- Sight the second object and release Tab ↹.
### 2.9 Fall of shot
-- Tap TAB once then press and hold it until the azimuth appears.
-- Sight the circle on the object and tap R while further holding TAB. The first measurement is confirmed ("1-P" = first point).
-- Sight the Fall of shot and release TAB. The left digits display the left (`L`)/right (`r`) correction value in meter and the right digits display the longer (`A` = add)/shorter (`d` = drop) correction value in meter. If R is tapped the height correction values will be displayed (`UP` and `dn`).
+- Tap Tab ↹ once then press and hold it until the azimuth appears.
+- Sight the circle on the object and tap R while further holding Tab ↹. The first measurement is confirmed ("1-P" = first point).
+- Sight the Fall of shot and release Tab ↹. The left digits display the left (`L`)/right (`r`) correction value in meter and the right digits display the longer (`A` = add)/shorter (`d` = drop) correction value in meter. If R is tapped the height correction values will be displayed (`UP` and `dn`).
## 3. Dependencies
diff --git a/documentation/feature/vehicles.md b/documentation/feature/vehicles.md
index 3f78b654b2..a58d314194 100644
--- a/documentation/feature/vehicles.md
+++ b/documentation/feature/vehicles.md
@@ -41,6 +41,10 @@ MBT main guns and mortars can no longer lock on enemies. The AT rounds of both n
- To turn the engine on press 2.
- To turn the engine off press 1.
+### 2.2 Turning the speed limiter on / off
+- To turn the speed limiter on press Del.
+- To turn it off press Del again.
+
## 3. Dependencies
`ace_common`
diff --git a/documentation/feature/yardage450.md b/documentation/feature/yardage450.md
new file mode 100644
index 0000000000..66c4a2d4e3
--- /dev/null
+++ b/documentation/feature/yardage450.md
@@ -0,0 +1,22 @@
+---
+layout: wiki
+title: Yardage 450
+group: feature
+parent: wiki
+---
+
+## 1. Overview
+
+Adds the Bushnell Yardage Pro Sport 450 Laser Rangefinder.
+
+## 2. Usage
+
+### 2.1 How to use the Yardage 450
+- Bring it up like any other binocular
+- Tap R once to activate the device.
+- Sight the target and Hold R until `TARGET AQCUIRED` appears on top of the screen.
+- The range in meters should now appear at the bottom of the screen.
+
+## 3. Dependencies
+
+`ace_apl` , `ace_laser`
\ No newline at end of file
diff --git a/documentation/framework/carry-drag.md b/documentation/framework/carry-drag.md
index 988797ba79..cfa4eb13af 100644
--- a/documentation/framework/carry-drag.md
+++ b/documentation/framework/carry-drag.md
@@ -26,3 +26,71 @@ class CfgVehicles {
};
```
+## 2. Functions
+
+**NOTE THAT THE FOLLOWING FUNCTIONS ARE NOT PUBLIC AND THUS MAY CHANGE IN THE FUTURE.**
+
+
+Also note that if the item is too heavy you won't be able to carry / drag it, the mass is also affected by what's inside it.
+To bypass this empty the object and / or use setMass.
+
+### 2.1 Enabling / disabling dragging
+
+`ace_dragging_fnc_setDraggable.`
+Enable the object to be dragged.
+
+| Arguments | |
+--------------| -------- |
+0 | Any object (Object)
+1: | true to enable dragging, false to disable (Bool)
+2:| Position offset for attachTo command (Array, optional; default: [0,0,0])
+3: | Direction in degree to rotate the object after attachTo (Number, optional; default: 0)
+Return value: NONE
+
+#### 2.1.1 example 1:
+```
+[foo,true,[0,2,0],45] call ace_dragging_fnc_setDraggable
+```
+| Arguments | |
+--------------| -------- |
+0:| foo (my object)
+1:| true (dragging is enabled)
+2:| `[0,2,0]` (0 meters sideways, 2 meters forward, 0 meters upwards)
+3:| 45 (the object is rotated by 45°)
+
+#### 2.1.2 example 2
+```
+[bar,false,[3,-2,2],20] call ace_dragging_fnc_setDraggable
+```
+
+| Arguments | |
+--------------| -------- |
+0:| bar (object)
+1:| false (dragging is disabled)
+2:| 3 meters sideways, -2 meters backwards, 2 meters upwards
+3:| the object is rotated by 20°
+
+### 2.2 Enabling / disabling carrying
+`ace_dragging_fnc_setCarryable.`
+Enable the object to be carried.
+
+| Arguments | |
+--------------| -------- |
+0 | Any object (Object)
+1:| true to enable carrying, false to disable (Bool)
+2:| Position offset for attachTo command (Array, optional; default: [0,1,1])
+3:| Direction in degree to rotate the object after attachTo (Number, optional; default: 0)
+Return value: NONE
+
+
+#### 2.1.1 example 1:
+```
+[foo,true,[0,3,1],10] call ace_dragging_fnc_setCarryable
+```
+| Arguments | |
+--------------| -------- |
+0:| foo (my object)
+1:| true (carrying is enabled)
+2:| `[0,2,0]` (0 meters sideways, 3 meters forward, 1 meters upwards)
+3:| 10 (the object is rotated by 10°)
+
diff --git a/documentation/missionmaker/classnames.md b/documentation/missionmaker/classnames.md
index ad8956f749..9ea0d5b556 100644
--- a/documentation/missionmaker/classnames.md
+++ b/documentation/missionmaker/classnames.md
@@ -77,6 +77,21 @@ classname | in game name | type |
--------- | --------- | ---------
ACE_Banana | banana | ACE_ItemCore |
+### Concertina_wire
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_ConcertinaWireCoil | Concertina Wire Coil | ThingX |
+ACE_ConcertinaWire | Concertina Wire | deployed concertina wire |
+
+### Dagr
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_DAGR | DAGR | ACE_ItemCore |
+
### Disposable
`added in 3.0.0.3`
@@ -106,13 +121,22 @@ ACE_HandFlare_Green | M127A1 Hand Held Signal (Green) | Grenade |
ACE_HandFlare_Yellow | M127A1 Hand Held Signal (Yellow) | Grenade |
ACE_M84 | M84 Stun Grenade | Grenade |
-### hearing
+### Hearing
`added in 3.0.0.3`
classname | in game name | type |
--------- | --------- | ---------
ACE_EarPlugs | Earplugs | ACE_ItemCore |
+### HuntIR
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_HuntIR_monitor | HuntIR monitor | ACE_ItemCore |
+ACE_HuntIR_M203 | HuntIR Round | Grenade shell |
+ACE_HuntIR_Box | HuntIR Transport Box | ammo box |
+
### Kestrel
`added in 3.0.0.3`
@@ -187,6 +211,14 @@ classname | in game name | type |
--------- | --------- | ---------
ACE_RangeTable_82mm | 82mm Rangetable | ACE_ItemCore |
+### M2XA
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_MX2A | MX-2A | Binocular |
+
+
### Nightvision
`added in 3.0.0.3`
@@ -254,3 +286,42 @@ ACE_key_west | Vehicle Key: West | ACE_ItemCore |
ACE_key_east | Vehicle Key: East | ACE_ItemCore |
ACE_key_indp | Vehicle Key: Independent | ACE_ItemCore |
ACE_key_civ | Vehicle Key: Civilian | ACE_ItemCore |
+
+### Sandbag
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_Sandbag_empty | Sandbag (empty) | ACE_ItemCore |
+ACE_SandbagObject | Sandbag | ThingX |
+
+### Spotting scope
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_SpottingScope | Spotting Scope | ACE_ItemCore |
+ACE_SpottingScopeObject | Spotting Scope (placed) | StaticATWeapon |
+
+### Tactical ladder
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_TacticalLadder_Pack | Telescopic Ladder | Backpack |
+ACE_Tactical_Ladder | Telescopic Ladder (placed) | house |
+
+### Tripod
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_Tripod | SSWT Kit | ACE_ItemCore |
+ACE_TripodObject | SSWT Kit (placed) | ThingX |
+
+### Yardage 450
+`added in 3.1.1`
+
+classname | in game name | type |
+--------- | --------- | ---------
+ACE_Yardage450 | Yardage 450 | Binocular |
\ No newline at end of file
diff --git a/documentation/missionmaker/modules.md b/documentation/missionmaker/modules.md
index 2402078bb5..5708a16379 100644
--- a/documentation/missionmaker/modules.md
+++ b/documentation/missionmaker/modules.md
@@ -18,29 +18,39 @@ This module allows enabling and configuring advanced ballistic simulations.
1. **Advanced Ballistics (Boolean)**
Enables advanced ballistics.
`Default value: No`
+
2. **Enabled For Snipers (Boolean)**
Enables advanced ballistics for non local snipers (when using high power optics).
`Default value: Yes`
+
3. **Enabled For Group Members (Boolean)**
Enables advanced ballistics for non local group members.
`Default value: No`
+
4. **Enabled For Everyone (Boolean)**
Enables advanced ballistics for all non local players (enabling this feature may degrade performance during heavy firefights in multiplayer).
`Default value: No`
+
5. **Disabled In FullAuto Mode (Boolean)**
Disables the advanced ballistics during full auto fire.
`Default value: No`
+
6. **Enable Ammo Temperature Simulation (Boolean)**
Muzzle velocity varies with ammo temperature.
`Default value: Yes`
+
7. **Enable Barrel Length Simulation (Boolean)**
Muzzle velocity varies with barrel length.
`Default value: Yes`
+
8. **Enable Bullet Trace Effect (Boolean)**
Enables a bullet trace effect to high caliber bullets (only visible when looking through high power optics).
+`default value: Yes `
+
9. **Simulation Interval (Number)**
Defines the interval between every calculation step.
`Default value: 0.00`
+
10. **Simulation Radius (Number)**
Defines the radius around the player (in meters) at which advanced ballistics are applied to projectiles.
`Default value: 3000`
@@ -68,7 +78,23 @@ How often the markers should be refreshed (in seconds).
Hide markers for "AI only" groups.
`Default value: No`
-### 1.4 Check PBOs
+### 1.4 Captives settings
+*Part of: ace_captives*
+
+Controls the settings for cable ties and surrendering.
+Very useful if you don't want your players to be able to restrict each others.
+
+**Settings:**
+
+1. **Can handcuff own side (Boolean)**
+Determine if you are able to handcuff your own side or not.
+`Default value: Yes`
+
+2. **Allow surrendering (Boolean)**
+Determine if you are able to surrender or not when your weapon is holstered.
+`Default value: Yes`
+
+### 1.5 Check PBOs
*Part of: ace_common*
If you are worried that players haven't updated ACE3 or other mods to the version you're using on the server, you can place the "Check PBOs" module on your map. You can choose one of three posible actions that are being executed when a player joins that has a wrong version of ACE3 or an other mod:
@@ -107,7 +133,7 @@ Example 3: @JSRS + @Blastcore-A3:
```
-### 1.5 Explosive System
+### 1.6 Explosive System
*Part of: ace_explosive*
The "Explosive System" module lets you tweak the settings for the new explosive system that ACE3 introduces.
@@ -117,18 +143,19 @@ The "Explosive System" module lets you tweak the settings for the new explosive
1. **Require specialists? (Boolean)**
Require explosive specialists to disable explosives.
`Default value: No`
+
2. **Punish non-specialists? (Boolean)**
Increase the time it takes to complete actions for non-specialists.
`Default value: Yes`
-### 1.6 Friendly Fire Messages
+### 1.7 Friendly Fire Messages
*Part of: ace_respawn*
The "Friendly Fire Messages" module triggers a message when a player kills a friendly or civilian unit. This module isn't needed on servers with a low difficulty setting.
-### 1.7 Hearing
+### 1.8 Hearing
*Part of: ace_hearing*
Placing this modules allows you to disable combat deafness usually triggerd by loud explosions or heavy weapons in a players proximity.
@@ -140,7 +167,7 @@ Enable combat deafness?
`Default value: Yes`
-### 1.8 Interaction System
+### 1.9 Interaction System
*Part of: ace_interaction*
This module allows you to tweak if players should be able to use team management functions (e.g. "switch group", "become leader").
@@ -151,13 +178,13 @@ This module allows you to tweak if players should be able to use team management
Should players be allowed to use the Team Management Menu?.
`Default value: Yes`
-### 1.9 Make Unit Surrender
+### 1.10 Make Unit Surrender
*Part of: ace_captives*
Syncing units to that module sets them in the captive state with their arms behind their back. Usefull for e.g. hostage rescue missions.
-### 1.10 Map
+### 1.11 Map
*Part of: ace_map*
ACE3 introdcues a bit more realism for the vanilla Arma 3 map and how it behaves. Some of these settings can be toggled by this module.
@@ -167,18 +194,21 @@ ACE3 introdcues a bit more realism for the vanilla Arma 3 map and how it behaves
1. **Map illumination? (Boolean)**
Calculate dynamic map illumination based on light conditions?.
`Default value: Yes`
+
2. **Map shake? (Boolean)**
Make map shake when walking?.
`Default value: Yes`
+
3. **Limit map zoom? (Boolean)**
Limit the amount of zoom available for the map?.
`Default value: No`
+
4. **Show cursor coordinates? (Boolean)**
Show the grid coordinates on the mouse pointer?.
`Default value: No`
-### 1.11 MicroDAGR Map Fill
+### 1.12 MicroDAGR Map Fill
*Part of: ace_microdagr*
Controls how much data is filled on the microDAGR items. Less data restricts the map view to show less on the minimap.
@@ -190,7 +220,7 @@ How much map data is filled on MicroDAGR's.
`Default value: "Full Satellite + Buildings"`
-### 1.12 MK6 Settings
+### 1.13 MK6 Settings
*Part of: ace_mk6mortar*
ACE3 now includes the first iteration of getting a less arcady point and click mortar experience.
@@ -201,35 +231,44 @@ Placing this modules allows you to enable the increased realism in game.
1. **Air Resistance (Boolean)**
For Player Shots, Model Air Resistance and Wind Effects.
`Default value: Yes`
+
2. **Allow MK6 Computer (Boolean)**
Show the Computer and Rangefinder (these **NEED** to be removed if you enable air resistance).
`Default value: No`
+
3. **Allow MK6 Compass (Boolean)**
Show the MK6 Digital Compass.
`Default value: Yes`
-### 1.13 Name Tags
+### 1.14 Name Tags
*Part of: ace_nametags*
This module allows you to tweak the settings for player names tags.
**Settings:**
-1. **Player Names View Distance (Number)**
+1. **Show player names (Option)**
+Let you choose when nametags appears.
+`Default value: "Do Not Force"`
+
+2. **Player Names View Distance (Number)**
Distance (in meters) at which player names are shown.
`Default value: 5`
-2. **Show name tags for AI? (Option)**
+
+3. **Show name tags for AI? (Option)**
Show the name and rank tags for friendly AI units, or by default allows players to choose it on their own.
`Default value: "Do Not Force"`
-3. **Show crew info? (Option)**
+
+4. **Show crew info? (Option)**
Show vehicle crew info, or by default allows players to choose it on their own.
`Default value: "Do Not Force"`
-4. **Show for Vehicles? (Boolean)**
+
+5. **Show for Vehicles? (Boolean)**
Show cursor NameTag for vehicle commander (only if client has name tags enabled).
`Default value: No`
-### 1.14 Rallypoint System
+### 1.15 Rallypoint System
*Part of: ace_respawn*
This module enables Mission Makers to specificly enable units to move a rallypoint. Every unit that is synced with that module is able to move a rallypoint.
@@ -242,7 +281,7 @@ This module enables Mission Makers to specificly enable units to move a rallypoi
To enable JIP players to move rally points have a look at [ACE3 Rallypoints](./mission-tools.html#1.-ace-rallypoints).
-### 1.15 Respawn System
+### 1.16 Respawn System
*Part of: ace_respawn*
The "Respawn System" module enables players to respawn with the gear they had before dying and to remove bodies of players after a configurable interval (in seconds).
@@ -254,7 +293,7 @@ Respawn with the gear a player had just before his death.
`Default value: No`
-### 1.16 SwitchUnits System
+### 1.17 SwitchUnits System
*Part of: ace_switchunits*
The [SwitchUnits System](./mission-tools.html#2.-ace-switchunits) enables players to control certain AI units on the map.
@@ -264,33 +303,38 @@ The [SwitchUnits System](./mission-tools.html#2.-ace-switchunits) enables player
1. **Switch To West? (Boolean)**
Allow switching to west units?
`Default value: No`
+
2. **Switch To East? (Boolean)**
Allow switching to east units?
`Default value: No`
+
3. **Switch To Independent? (Boolean)**
Allow switching to independent units?
`Default value: No`
+
4. **Switch To Civilian? (Boolean)**
Allow switching to civilian units?
`Default value: No`
+
5. **Enable Safe Zone? (Boolean)**
Enable a safe zone around enemy units? Players can't switch to units inside of the safe zone.
`Default value: Yes`
+
6. **Safe Zone Radius (Number)**
The safe zone around players from a different team (in meters)
`Default value: 200`
-### 1.17 Vehicle Lock
+### 1.18 Vehicle Lock
*Part of: ace_vehiclelock*
These modules allow you to lock and unlock vehicles and their inventory using a key. Players don't receive a key automatically; for key names, see [Classnames Wiki](http://ace3mod.com/wiki/missionmaker/classnames.html#vehicle-lock).
-#### 1.17.1 Vehicle Key Assign
+#### 1.18.1 Vehicle Key Assign
Sync with vehicles and players. Will handout custom keys to players for every synced vehicle. Only valid for objects present at mission start.
Example: `[bob, car1, true] call ACE_VehicleLock_fnc_addKeyForVehicle;` - will add a key to bob and program it to work only on car1
-#### 1.17.2.1 Vehicle Lock Setup
+#### 1.18.2.1 Vehicle Lock Setup
Settings for lockpick strength and initial vehicle lock state. Removes ambiguous lock states.
**Settings:**
@@ -298,19 +342,21 @@ Settings for lockpick strength and initial vehicle lock state. Removes ambiguous
1. **Lock Vehicle Inventory? (Boolean)**
Locks the inventory of locked vehicles
`Default value: No`
+
2. **Vehicle Starting Lock State (Option)**
Set lock state for all vehicles (removes ambiguous lock states)
`Default value: "As Is"`
+
3. **Default Lockpick Strength (Number)**
Default Time to lockpick (in seconds)
`Default value: 10`
-#### 1.17.2.2 Vehicle setVariables
+#### 1.18.2.2 Vehicle setVariables
* `ACE_VehicleLock_lockSide` - SIDE: overrides a vehicle's side, allowing locking and unlocking using a different side's key. For example: Unlocking INDEP vehicles with a BLUFOR key.
* `ACE_vehicleLock_lockpickStrength` - NUMBER: seconds, determines how long lockpicking with take, overrides the value set in the module for a specific vehicle of the mission maker's choice.
-### 1.18 View Distance Limiter
+### 1.19 View Distance Limiter
*Part of: ace_viewdistance*
This module allows disabling the ACE3 View Distance feature as well as setting a view distance limit.
@@ -320,12 +366,13 @@ This module allows disabling the ACE3 View Distance feature as well as setting a
1. **Enable ACE viewdistance (Boolean)**
Enables ACE viewdistance
`Default value: Yes`
+
2. **View Distance Limit (Number)**
Sets the limit for how high clients can raise their view distance (<= 10000)
`Default value: 10000`
-### 1.19 Weather
+### 1.20 Weather
*Part of: ace_weather*
This module allows you to customize the weather settings.
@@ -344,6 +391,7 @@ Enables sever side weather propagation.
Note:
This is responsible for synchronizing weather between all clients. Disabling it is not recommended.
+
2. **ACE3 Weather (Boolean)**
Overrides the default weather with ACE3 weather (map based).
`Default value: Yes`
@@ -351,21 +399,25 @@ Overrides the default weather with ACE3 weather (map based).
Note:
This can be disabled without affecting the weather propagation above. Useful if you prefer changing weather settings manually.
+
3. **Sync Rain (Boolean)**
Synchronizes rain.
`Default value: Yes`
-3. **Sync Wind (Boolean)**
+
+4. **Sync Wind (Boolean)**
Synchronizes wind.
`Default value: Yes`
-3. **Sync Misc (Boolean)**
+
+5. **Sync Misc (Boolean)**
Synchronizes lightnings, rainbow, fog, ...
`Default value: Yes`
-4. **Update Interval (Number)**
+
+6. **Update Interval (Number)**
Defines the interval (seconds) between weather updates.
`Default value: 60`
-### 1.20 Wind Deflection
+### 1.21 Wind Deflection
*Part of: ace_winddeflection*
This module allows you to define when wind deflection is active.
@@ -385,18 +437,47 @@ This module allows you to define when wind deflection is active.
1. **Wind Deflection (Boolean)**
Enables wind deflection.
`Default value: Yes`
+
2. **Vehicle Enabled (Boolean)**
Enables wind deflection for static/vehicle gunners.
`Default value: Yes`
+
3. **Simulation Interval (Number)**
Defines the interval between every calculation step.
`Default value: 0.05`
+
4. **Simulation Radius (Number)**
Defines the radius around the player (in meters) at which projectiles are wind deflected.
`Default value: 3000`
+### 1.22 Zeus Settings
+*part of: ace_zeus*
-### 1.21 LSD Vehicles
+This module provides control over vanilla aspects of Zeus.
+
+**Settings:**
+
+1. **Ascension Messages (Option)**
+Display global popup messages when a player is assigned as Zeus
+`Default value: No`
+
+2. **Zeus Eagle (Boolean)**
+Spawn an eagle that follows the Zeus camera
+`Default value: No`
+
+3. **Wind Sounds (Boolean)**
+Play wind sounds when Zeus remote controls a unit
+`Default value: No`
+
+4. **Ordnance Warning (Boolean)**
+Play a radio warning when Zeus uses ordnance
+`Default value: No`
+
+5. **Reveal Mines (Scalar)**
+Reveal mines to allies and/or place map markers
+`Default value: Disabled`
+
+### 1.23 LSD Vehicles
*Part of: ace_core*
And then there's the "LSD Vehicles" module … it does 'something' to all vehicles synced to that module.
@@ -404,7 +485,6 @@ And then there's the "LSD Vehicles" module … it does 'something' to all v
-
## 2. ACE3 Medical
*Part of: ace_medical*
@@ -417,37 +497,52 @@ This module allows to tweak all the medical settings used in ACE3
1. **Medical Level (Option)**
What is the medical simulation level?
`Default value: "Basic"`
+
2. **Medics setting (Option)**
What is the level of detail preferred for medics?
`Default value: "Normal"`
+
3. **Enable Litter (Boolean)**
Enable litter being created upon treatment.
-`Default value: "Normal"`
+`Default value: "Yes"`
+
4. **Life time of litter objects (Number)**
How long should litter objects stay? In seconds. -1 is forever.
`Default value: 1800`
+
5. **Enable Screams (Boolean)**
Enable screaming by injured units.
`Default value: Yes`
+
6. **Player Damage (Number)**
What is the damage a player can take before being killed?
`Default value: 1`
+
7. **AI Damage (Number)**
What is the damage an AI can take before being killed?
`Default value: 1`
+
8. **AI Unconsciousness (Option)**
Allow AI to go unconscious.
`Default value: "50/50"`
-9. **Prevent instant death (Boolean)**
+
+9. **Remote controlled AI (Boolean)**
+Treats remote controlled units as AI not players ?
+`Default value: Yes`
+
+10. **Prevent instant death (Boolean)**
Have a unit move to unconscious instead of death.
`Default value: No`
-10. **Bleeding coefficient (Number)**
+
+11. **Bleeding coefficient (Number)**
Coefficient to modify the bleeding speed.
`Default value: 1`
-11. **Pain coefficient (Number)**
+
+12. **Pain coefficient (Number)**
Coefficient to modify the pain intensity.
`Default value: 1`
-12. **Pain coefficient (Boolean)**
+
+13. **Sync status (Boolean)**
Keep unit status synced. Recommended on.
`Default value: Yes`
@@ -461,31 +556,46 @@ This module allows you to change the default Advanced Medical Settings, when [2.
1. **Enabled for (Option)**
Select what units the advanced medical system will be enabled for.
`Default value: "Players only"`
+
2. **Enable Advanced wounds (Boolean)**
Allow reopening of bandaged wounds?
`Default value: No`
+
3. **Vehicle Crashes (Boolean)**
Do units take damage from a vehicle crash?
`Default value: Yes`
+
4. **Allow PAK (Option)**
Who can use the PAK for full heal?
`Default value: "Medics only"`
+
5. **Remove PAK on use (Boolean)**
Should PAK be removed on usage?
`Default value: Yes`
+
6. **Locations PAK (Option)**
Where can the personal aid kit be used?
`Default value: "Vehicles & facility"`
+
7. **Allow Surgical kit (Option)**
Who can use the surgical kit?
`Default value: "Medics only"`
+
8. **Remove Surgical kit (Boolean)**
Should Surgical kit be removed on usage?
`Default value: Yes`
+
9. **Locations Surgical kit (Option)**
Where can the Surgical kit be used?
`Default value: "Vehicles & facility"`
+10. **Bloodstains (Boolean)**
+Bandaging removes bloodstains.
+`Default value: No`
+
+11. **Pain supression (Boolean)**
+Pain is only temporarly supressed not removed.
+`Default value: Yes`
### 2.3 Revive Settings
@@ -496,9 +606,11 @@ This modules allows a mission maker to limit the amount of revives for units in
1. **Enable Revive (Option)**
Enable a basic revive system
`Default value: "disable"`
+
2. **Max Revive time (Number)**
Max amount of seconds a unit can spend in revive state
`Default value: 120`
+
3. **Max Revive lives (Number)**
Max amount of lives a unit. 0 or -1 is disabled.
`Default value: -1`
@@ -513,6 +625,7 @@ Using this module you can define which unit class is defined as a medic / doctor
1. **List (String)**
List of unit names that will be classified as medic, separated by commas.
`Default value: ""`
+
2. **Is Medic (Boolean)**
Medics allow for more advanced treatment in case of Advanced Medic roles enabled
`Default value: "Regular medic"`
@@ -538,6 +651,7 @@ Defines an object as a medical facility. This allows for more advanced treatment
1. **List (String)**
List of vehicles that will be classified as medical vehicle, separated by commas.
`Default value: ""`
+
2. **Is Medical Vehicle (Boolean)**
Whether or not the objects in the list will be a medical vehicle.
`Default value: Yes`
@@ -559,46 +673,27 @@ This module randomizes the time when the sound file is played and the position w
1. **Sounds (String)**
Class names of the ambiance sounds played. Separated by ','. (Example: `radio_track_01, electricity_loop`).
`Default value: ""`
+
2. **Minimal Distance (Number)**
Used for calculating a random position and sets the minimal distance between the players and the played sound file(s) (in meters)
`Default value: 400`
+
3. **Maximum Distance (Number)**
Used for calculating a random position and sets the maximum distance between the players and the played sound file(s) (in meters)
`Default value: 900`
+
4. **Minimal Delay (Number)**
Minimal delay (in seconds) between sounds played
`Default value: 10`
+
5. **Maximum Delay (Number)**
Maximum delay (in seconds) between sounds played
`Default value: 10`
+
6. **Follow Players (Boolean)**
Follow players. If set to false, loop will play sounds only nearby logic position.
`Default value: No`
+
7. **Volume (Number)**
The volume of the sounds played
-`Default value: 1`
-
-
-## 4. ACE3 Zeus
-*Part of: ace_zeus*
-
-### 4.1 Zeus Settings
-This module provides control over vanilla aspects of Zeus.
-
-**Settings:**
-
-1. **Ascension Messages (Option)**
-Display global popup messages when a player is assigned as Zeus
-`Default value: No`
-2. **Zeus Eagle (Boolean)**
-Spawn an eagle that follows the Zeus camera
-`Default value: No`
-3. **Wind Sounds (Boolean)**
-Play wind sounds when Zeus remote controls a unit
-`Default value: No`
-4. **Ordnance Warning (Boolean)**
-Play a radio warning when Zeus uses ordnance
-`Default value: No`
-5. **Reveal Mines (Scalar)**
-Reveal mines to allies and/or place map markers
-`Default value: Disabled`
+`Default value: 1`
\ No newline at end of file
diff --git a/extensions/advanced_ballistics/AdvancedBallistics.cpp b/extensions/advanced_ballistics/AdvancedBallistics.cpp
index 8d990ec0d2..c5c0a6c7a3 100644
--- a/extensions/advanced_ballistics/AdvancedBallistics.cpp
+++ b/extensions/advanced_ballistics/AdvancedBallistics.cpp
@@ -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();
}
diff --git a/extensions/medical/handleDamage.cpp b/extensions/medical/handleDamage.cpp
index b388845ac5..e36d8994b0 100644
--- a/extensions/medical/handleDamage.cpp
+++ b/extensions/medical/handleDamage.cpp
@@ -96,7 +96,8 @@ namespace ace {
}
else
{
- injuryToAdd = information.at(0);
+ int indexNewInjuryToAdd = rand() % information.size();
+ injuryToAdd = information.at(indexNewInjuryToAdd);
}
int bodyPartID = selection;
diff --git a/extras/assets/icons/png/Icon_Actions/disarm.png b/extras/assets/icons/Icon_Actions_png/disarm.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Actions/disarm.png
rename to extras/assets/icons/Icon_Actions_png/disarm.png
diff --git a/extras/assets/icons/icon_microDAGR.png b/extras/assets/icons/Icon_Actions_png/icon_microDAGR.png
similarity index 100%
rename from extras/assets/icons/icon_microDAGR.png
rename to extras/assets/icons/Icon_Actions_png/icon_microDAGR.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Ambient_Sounds_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Ambient_Sounds_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Ambient_Sounds_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Ambient_Sounds_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_BFTracking_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_BFTracking_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_BFTracking_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_BFTracking_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_CheckPBO_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_CheckPBO_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_CheckPBO_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_CheckPBO_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Explosives_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Explosives_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Explosives_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Explosives_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_FriendlyFire_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_FriendlyFire_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_FriendlyFire_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_FriendlyFire_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Hearing_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Hearing_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Hearing_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Hearing_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Interaction_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Interaction_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Interaction_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Interaction_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_LSD_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_LSD_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_LSD_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_LSD_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Make_Unit_Surrender_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Make_Unit_Surrender_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Make_Unit_Surrender_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Make_Unit_Surrender_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Map_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Map_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Map_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Map_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Medical_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Medical_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Medical_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Medical_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_NameTags_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_NameTags_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_NameTags_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_NameTags_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Rallypoint_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Rallypoint_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Rallypoint_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Rallypoint_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Repair_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Repair_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Repair_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Repair_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Respawn_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Respawn_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Respawn_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Respawn_ca.png
diff --git a/extras/assets/icons/Icon_Module_png/Icon_Module_Sitting_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Sitting_ca.png
new file mode 100644
index 0000000000..c19c3ca276
Binary files /dev/null and b/extras/assets/icons/Icon_Module_png/Icon_Module_Sitting_ca.png differ
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_SwitchUnits_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_SwitchUnits_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_SwitchUnits_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_SwitchUnits_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_VehicleKey_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_VehicleKey_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_VehicleKey_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_VehicleKey_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_VehicleLock_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_VehicleLock_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_VehicleLock_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_VehicleLock_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Wind_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Wind_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Wind_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Wind_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Captive_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Captive_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Captive_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Captive_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Settings_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Settings_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Settings_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Settings_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Surrender_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Surrender_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Surrender_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Surrender_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Unconscious_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Unconscious_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_Zeus_Unconscious_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_Zeus_Unconscious_ca.png
diff --git a/extras/assets/icons/png/Icon_Module/Icon_Module_microDAGR_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_microDAGR_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module/Icon_Module_microDAGR_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_microDAGR_ca.png
diff --git a/extras/assets/icons/png/Icon_Module_mk6_ca.png b/extras/assets/icons/Icon_Module_png/Icon_Module_mk6_ca.png
similarity index 100%
rename from extras/assets/icons/png/Icon_Module_mk6_ca.png
rename to extras/assets/icons/Icon_Module_png/Icon_Module_mk6_ca.png
diff --git a/extras/assets/icons/Icons_Modules.psd b/extras/assets/icons/Icons_Modules.psd
index af9b9abaa0..927c497ecd 100644
Binary files a/extras/assets/icons/Icons_Modules.psd and b/extras/assets/icons/Icons_Modules.psd differ
diff --git a/mod.cpp b/mod.cpp
index f9ae718fdc..c078328e53 100644
--- a/mod.cpp
+++ b/mod.cpp
@@ -1,8 +1,8 @@
-name = "Advanced Combat Environment 3.0.1";
+name = "Advanced Combat Environment 3.1.2";
picture = "logo_ace3_ca.paa";
actionName = "GitHub";
action = "https://github.com/acemod/ACE3";
-description = "ACE3 - Version 3.0.1";
+description = "ACE3 - Version 3.1.2";
logo = "logo_ace3_ca.paa";
logoOver = "logo_ace3_ca.paa";
tooltip = "ACE3";
diff --git a/optionals/compat_cup/CfgAmmo.hpp b/optionals/compat_cup/CfgAmmo.hpp
index a3cafcfbb0..f5ba34fc7e 100644
--- a/optionals/compat_cup/CfgAmmo.hpp
+++ b/optionals/compat_cup/CfgAmmo.hpp
@@ -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};
};
};
\ No newline at end of file
diff --git a/optionals/compat_cup/CfgMagazines.hpp b/optionals/compat_cup/CfgMagazines.hpp
index b05b0c3efd..469476734c 100644
--- a/optionals/compat_cup/CfgMagazines.hpp
+++ b/optionals/compat_cup/CfgMagazines.hpp
@@ -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;
+ };
};
\ No newline at end of file
diff --git a/optionals/compat_cup/CfgWeapons.hpp b/optionals/compat_cup/CfgWeapons.hpp
index e897384343..76d442ee53 100644
--- a/optionals/compat_cup/CfgWeapons.hpp
+++ b/optionals/compat_cup/CfgWeapons.hpp
@@ -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;
};
diff --git a/optionals/compat_hlc_ar15/$PBOPREFIX$ b/optionals/compat_hlc_ar15/$PBOPREFIX$
deleted file mode 100644
index 1151a9959c..0000000000
--- a/optionals/compat_hlc_ar15/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlc_ar15
\ No newline at end of file
diff --git a/optionals/compat_hlc_ar15/CfgWeapons.hpp b/optionals/compat_hlc_ar15/CfgWeapons.hpp
deleted file mode 100644
index 53928f25d4..0000000000
--- a/optionals/compat_hlc_ar15/CfgWeapons.hpp
+++ /dev/null
@@ -1,65 +0,0 @@
-class CfgWeapons
-{
- class Rifle;
- class Rifle_Base_F;
- class hlc_ar15_base: Rifle_Base_F
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=292.1;
- };
- class hlc_rifle_RU556: hlc_ar15_base
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=261.62;
- };
- class hlc_rifle_RU5562: hlc_rifle_RU556
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=261.62;
- };
- class hlc_rifle_CQBR: hlc_rifle_RU556
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=254.0;
- };
- class hlc_rifle_M4: hlc_rifle_RU556
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=368.3;
- };
- class hlc_rifle_bcmjack: hlc_ar15_base
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=368.3;
- };
- class hlc_rifle_Colt727: hlc_ar15_base
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=368.3;
- };
- class hlc_rifle_Colt727_GL: hlc_rifle_Colt727
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=368.3;
- };
- class hlc_rifle_Bushmaster300: hlc_rifle_Colt727
- {
- ACE_barrelTwist=203.2;
- ACE_barrelLength=368.3;
- };
- class hlc_rifle_vendimus: hlc_rifle_Bushmaster300
- {
- ACE_barrelTwist=203.2;
- ACE_barrelLength=406.4;
- };
- class hlc_rifle_SAMR: hlc_rifle_RU556
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=406.4;
- };
- class hlc_rifle_honeybase: hlc_rifle_RU556
- {
- ACE_barrelTwist=203.2;
- ACE_barrelLength=152.4;
- };
-};
\ No newline at end of file
diff --git a/optionals/compat_hlc_ar15/config.cpp b/optionals/compat_hlc_ar15/config.cpp
deleted file mode 100644
index 51e42dc040..0000000000
--- a/optionals/compat_hlc_ar15/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_ar15"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlc_ar15/script_component.hpp b/optionals/compat_hlc_ar15/script_component.hpp
deleted file mode 100644
index 3fb38b0477..0000000000
--- a/optionals/compat_hlc_ar15/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_ar15_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlc_wp_mp5/$PBOPREFIX$ b/optionals/compat_hlc_wp_mp5/$PBOPREFIX$
deleted file mode 100644
index 397f5e9e6b..0000000000
--- a/optionals/compat_hlc_wp_mp5/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlc_wp_mp5
\ No newline at end of file
diff --git a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp b/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp
deleted file mode 100644
index b9cc94818e..0000000000
--- a/optionals/compat_hlc_wp_mp5/CfgWeapons.hpp
+++ /dev/null
@@ -1,60 +0,0 @@
-
-class CfgWeapons
-{
- class Rifle_Base_F;
- class hlc_MP5_base: Rifle_Base_F
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_mp5k_PDW: hlc_MP5_base
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=114.3;
- };
- class hlc_smg_mp5k: hlc_smg_mp5k_PDW
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=114.3;
- };
- class hlc_smg_mp5a2: hlc_MP5_base
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_MP5N: hlc_MP5_base
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_9mmar: hlc_smg_MP5N
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_mp5a4: hlc_MP5_base
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_mp510: hlc_smg_MP5N
- {
- ACE_barrelTwist=381.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_mp5sd5: hlc_MP5_base
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_mp5a3: hlc_smg_mp5a2
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
- class hlc_smg_mp5sd6: hlc_smg_mp5sd5
- {
- ACE_barrelTwist=254.0;
- ACE_barrelLength=228.6;
- };
-};
diff --git a/optionals/compat_hlc_wp_mp5/config.cpp b/optionals/compat_hlc_wp_mp5/config.cpp
deleted file mode 100644
index 1f4fe78db4..0000000000
--- a/optionals/compat_hlc_wp_mp5/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_mp5"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlc_wp_mp5/script_component.hpp b/optionals/compat_hlc_wp_mp5/script_component.hpp
deleted file mode 100644
index 6b19e4912b..0000000000
--- a/optionals/compat_hlc_wp_mp5/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_mp5_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlcmods_ak/$PBOPREFIX$ b/optionals/compat_hlcmods_ak/$PBOPREFIX$
deleted file mode 100644
index d1d239c6d5..0000000000
--- a/optionals/compat_hlcmods_ak/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlcmods_ak
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_ak/CfgWeapons.hpp b/optionals/compat_hlcmods_ak/CfgWeapons.hpp
deleted file mode 100644
index 5f1c838e41..0000000000
--- a/optionals/compat_hlcmods_ak/CfgWeapons.hpp
+++ /dev/null
@@ -1,76 +0,0 @@
-class CfgWeapons
-{
- class optic_dms;
- class hlc_ak_base;
- class hlc_rifle_ak12;
- class InventoryOpticsItem_Base_F;
- class hlc_rifle_ak74: hlc_ak_base
- {
- ACE_barrelTwist=199.898;
- ACE_barrelLength=414.02;
- };
- class hlc_rifle_aku12: hlc_rifle_ak12
- {
- ACE_barrelTwist=160.02;
- ACE_barrelLength=210.82;
- };
- class hlc_rifle_RPK12: hlc_rifle_ak12
- {
- ACE_barrelLength=589.28;
- };
- class hlc_rifle_aks74u: hlc_rifle_ak74
- {
- ACE_barrelTwist=160.02;
- ACE_barrelLength=210.82;
- };
- class hlc_rifle_ak47: hlc_rifle_ak74
- {
- ACE_barrelTwist=240.03;
- ACE_barrelLength=414.02;
- };
- class hlc_rifle_akm: hlc_rifle_ak47
- {
- ACE_barrelTwist=199.898;
- ACE_barrelLength=414.02;
- };
- class hlc_rifle_rpk: hlc_rifle_ak47
- {
- ACE_barrelTwist=240.03;
- ACE_barrelLength=589.28;
- };
- class hlc_rifle_rpk74n: hlc_rifle_rpk
- {
- ACE_barrelTwist=240.03;
- ACE_barrelLength=589.28;
- };
- class hlc_rifle_aek971: hlc_rifle_ak74
- {
- ACE_barrelTwist=241.3;
- ACE_barrelLength=431.8;
- };
- class hlc_rifle_saiga12k: hlc_rifle_ak47
- {
- ACE_barrelTwist=0.0;
- ACE_twistDirection=0;
- ACE_barrelLength=429.26;
- };
-
- class HLC_Optic_PSO1 : optic_dms {
- ACE_ScopeAdjust_Vertical[] = { 0, 0 };
- ACE_ScopeAdjust_Horizontal[] = { -10, 10 };
- ACE_ScopeAdjust_VerticalIncrement = 0.0;
- ACE_ScopeAdjust_HorizontalIncrement = 0.5;
- class ItemInfo : InventoryOpticsItem_Base_F {
- class OpticsModes {
- class Snip {
- discreteDistance[]={100, 200, 300, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000};
- discreteDistanceInitIndex=3;
- };
- };
- };
- };
- class HLC_Optic_1p29 : HLC_Optic_PSO1 {
- ACE_ScopeAdjust_Vertical[] = {};
- ACE_ScopeAdjust_Horizontal[] = {};
- };
-};
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_ak/config.cpp b/optionals/compat_hlcmods_ak/config.cpp
deleted file mode 100644
index 7c8cdba2ba..0000000000
--- a/optionals/compat_hlcmods_ak/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_aks"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlcmods_ak/script_component.hpp b/optionals/compat_hlcmods_ak/script_component.hpp
deleted file mode 100644
index a970229846..0000000000
--- a/optionals/compat_hlcmods_ak/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_aks_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlcmods_aug/$PBOPREFIX$ b/optionals/compat_hlcmods_aug/$PBOPREFIX$
deleted file mode 100644
index 6b917cc98c..0000000000
--- a/optionals/compat_hlcmods_aug/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlcmods_aug
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_aug/CfgWeapons.hpp b/optionals/compat_hlcmods_aug/CfgWeapons.hpp
deleted file mode 100644
index 4666605348..0000000000
--- a/optionals/compat_hlcmods_aug/CfgWeapons.hpp
+++ /dev/null
@@ -1,51 +0,0 @@
-
-class CfgWeapons
-{
- class Rifle_Base_F;
- class hlc_aug_base;
- class hlc_rifle_aug: hlc_aug_base
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=508.0;
- };
- class hlc_rifle_auga1carb: hlc_rifle_aug
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=406.4;
- };
- class hlc_rifle_aughbar: hlc_rifle_aug
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=609.6;
- };
- class hlc_rifle_augpara: hlc_rifle_aug
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=419.1;
- };
- class hlc_rifle_auga2: hlc_rifle_aug
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=508.0;
- };
- class hlc_rifle_auga2para: hlc_rifle_auga2
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=419.1;
- };
- class hlc_rifle_auga2carb: hlc_rifle_auga2
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=457.2;
- };
- class hlc_rifle_auga2lsw: hlc_rifle_aughbar
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=609.6;
- };
- class hlc_rifle_auga3: hlc_rifle_aug
- {
- ACE_barrelTwist=228.6;
- ACE_barrelLength=457.2;
- };
-};
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_aug/config.cpp b/optionals/compat_hlcmods_aug/config.cpp
deleted file mode 100644
index 06192a6ffd..0000000000
--- a/optionals/compat_hlcmods_aug/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_AUG"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlcmods_aug/script_component.hpp b/optionals/compat_hlcmods_aug/script_component.hpp
deleted file mode 100644
index d5a6712b6b..0000000000
--- a/optionals/compat_hlcmods_aug/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_AUG_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlcmods_core/$PBOPREFIX$ b/optionals/compat_hlcmods_core/$PBOPREFIX$
deleted file mode 100644
index 9c9e9061e1..0000000000
--- a/optionals/compat_hlcmods_core/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlcmods_core
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_core/CfgAmmo.hpp b/optionals/compat_hlcmods_core/CfgAmmo.hpp
deleted file mode 100644
index afe3f03973..0000000000
--- a/optionals/compat_hlcmods_core/CfgAmmo.hpp
+++ /dev/null
@@ -1,316 +0,0 @@
-class CfgAmmo
-{
- class B_762x51_Ball;
- class B_556x45_Ball;
- class B_127x99_Ball;
- class B_127x99_Ball_Tracer_Red;
- class HLC_762x51_tracer;
- class HLC_762x51_ball;
- class HLC_556NATO_EPR: B_556x45_Ball
- {
- ACE_caliber=5.69;
- ACE_bulletLength=23.012;
- ACE_bulletMass=4.0176;
- ACE_ammoTempMuzzleVelocityShifts[]={-27.20, -26.44, -23.76, -21.00, -17.54, -13.10, -7.95, -1.62, 6.24, 15.48, 27.75};
- ACE_ballisticCoefficients[]={0.151};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=7;
- ACE_muzzleVelocities[]={723, 764, 796, 825, 843, 866, 878, 892, 906, 915, 922, 900};
- ACE_barrelLengths[]={210.82, 238.76, 269.24, 299.72, 330.2, 360.68, 391.16, 419.1, 449.58, 480.06, 508.0, 609.6};
- };
- class HLC_556NATO_SOST: B_556x45_Ball
- {
- ACE_caliber=5.69;
- ACE_bulletLength=23.012;
- ACE_bulletMass=4.0176;
- 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.307};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={780, 886, 950};
- ACE_barrelLengths[]={254.0, 393.7, 508.0};
- };
- class HLC_556NATO_SPR: B_556x45_Ball
- {
- ACE_caliber=5.69;
- ACE_bulletLength=23.012;
- ACE_bulletMass=4.9896;
- 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.361};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={624, 816, 832, 838};
- ACE_barrelLengths[]={190.5, 368.3, 457.2, 508.0};
- };
- class HLC_300Blackout_Ball: B_556x45_Ball
- {
- ACE_caliber=7.823;
- ACE_bulletLength=28.397;
- ACE_bulletMass=9.5256;
- 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.398};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={559, 609, 625};
- ACE_barrelLengths[]={152.4, 406.4, 508.0};
- };
- class HLC_300Blackout_SMK: HLC_300Blackout_Ball
- {
- ACE_caliber=7.823;
- ACE_bulletLength=37.821;
- ACE_bulletMass=14.256;
- 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.608};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={300, 320, 340};
- ACE_barrelLengths[]={228.6, 406.4, 508.0};
- };
- class HLC_762x39_Ball: HLC_300Blackout_Ball
- {
- ACE_caliber=7.823;
- ACE_bulletLength=28.956;
- ACE_bulletMass=7.9704;
- 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.275};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={650, 716, 750};
- ACE_barrelLengths[]={254.0, 414.02, 508.0};
- };
- class HLC_762x39_Tracer: HLC_762x39_Ball
- {
- ACE_caliber=7.823;
- ACE_bulletLength=28.956;
- ACE_bulletMass=7.5816;
- 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.275};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={650, 716, 750};
- ACE_barrelLengths[]={254.0, 414.02, 508.0};
- };
- class HLC_762x51_MK316_20in: B_762x51_Ball
- {
- ACE_caliber=7.823;
- ACE_bulletLength=31.496;
- ACE_bulletMass=11.34;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.243};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=7;
- ACE_muzzleVelocities[]={750, 780, 790, 794};
- ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
- };
- class HLC_762x51_BTSub: B_762x51_Ball
- {
- ACE_caliber=7.823;
- ACE_bulletLength=34.036;
- ACE_bulletMass=12.96;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.235};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=7;
- ACE_muzzleVelocities[]={305, 325, 335, 340};
- ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
- };
- class HLC_762x54_ball: HLC_762x51_ball
- {
- ACE_caliber=7.925;
- ACE_bulletLength=28.956;
- ACE_bulletMass=9.8496;
- 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.4};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={700, 800, 820, 833};
- ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
- };
- class HLC_762x54_tracer: HLC_762x51_tracer
- {
- ACE_caliber=7.925;
- ACE_bulletLength=28.956;
- ACE_bulletMass=9.6552;
- 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.395};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ICAO";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={680, 750, 798, 800};
- ACE_barrelLengths[]={406.4, 508.0, 609.6, 660.4};
- };
- class HLC_303Brit_B: B_556x45_Ball
- {
- ACE_caliber=7.899;
- ACE_bulletLength=31.166;
- ACE_bulletMass=11.2752;
- 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.499, 0.493, 0.48};
- ACE_velocityBoundaries[]={671, 549};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={748, 761, 765};
- ACE_barrelLengths[]={508.0, 609.6, 660.4};
- };
- class HLC_792x57_Ball: HLC_303Brit_B
- {
- ACE_caliber=8.077;
- ACE_bulletLength=28.651;
- ACE_bulletMass=12.7008;
- 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.315};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={785, 800, 815};
- ACE_barrelLengths[]={508.0, 599.948, 660.4};
- };
- class HLC_542x42_ball: HLC_303Brit_B
- {
- };
- class HLC_542x42_Tracer: HLC_303Brit_B
- {
- };
- class FH_545x39_Ball: B_556x45_Ball
- {
- ACE_caliber=5.588;
- ACE_bulletLength=21.59;
- ACE_bulletMass=3.42792;
- 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.168};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=7;
- ACE_muzzleVelocities[]={780, 880, 920};
- ACE_barrelLengths[]={254.0, 414.02, 508.0};
- };
- class FH_545x39_7u1: FH_545x39_Ball
- {
- ACE_bulletMass=5.184;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_muzzleVelocities[]={260, 303, 320};
- ACE_barrelLengths[]={254.0, 414.02, 508.0};
- };
- class HLC_57x28mm_JHP: FH_545x39_Ball
- {
- ACE_caliber=5.69;
- ACE_bulletLength=12.573;
- ACE_bulletMass=1.8144;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.144};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={550, 625, 720};
- ACE_barrelLengths[]={101.6, 152.4, 262.89};
- };
- class HLC_9x19_Ball: B_556x45_Ball
- {
- ACE_caliber=9.017;
- ACE_bulletLength=15.494;
- ACE_bulletMass=8.0352;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.165};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={340, 370, 400};
- ACE_barrelLengths[]={101.6, 127.0, 228.6};
- };
- class HLC_9x19_M882_SMG: B_556x45_Ball
- {
- ACE_caliber=9.017;
- ACE_bulletLength=15.494;
- ACE_bulletMass=8.0352;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.165};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={340, 370, 400};
- ACE_barrelLengths[]={101.6, 127.0, 228.6};
- };
- class HLC_9x19_GoldDot: HLC_9x19_Ball
- {
- ACE_muzzleVelocities[]={350, 380, 420};
- };
- class HLC_9x19_Subsonic: HLC_9x19_Ball
- {
- ACE_muzzleVelocities[]={300, 320, 340};
- };
- class HLC_10mm_FMJ: HLC_9x19_Ball
- {
- ACE_caliber=12.7;
- ACE_bulletLength=19.406;
- ACE_bulletMass=10.692;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.189};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={360, 400, 430};
- ACE_barrelLengths[]={101.6, 117.094, 228.6};
- };
- class HLC_45ACP_Ball: B_556x45_Ball
- {
- ACE_caliber=11.481;
- ACE_bulletLength=17.272;
- ACE_bulletMass=14.904;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.195};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={230, 250, 285};
- ACE_barrelLengths[]={101.6, 127.0, 228.6};
- };
- class FH_44Mag: HLC_45ACP_Ball
- {
- ACE_caliber=10.897;
- ACE_bulletLength=20.422;
- ACE_bulletMass=12.96;
- ACE_ammoTempMuzzleVelocityShifts[]={-2.655, -2.547, -2.285, -2.012, -1.698, -1.280, -0.764, -0.153, 0.596, 1.517, 2.619};
- ACE_ballisticCoefficients[]={0.172};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={360, 390, 420};
- ACE_barrelLengths[]={101.6, 190.5, 228.6};
- };
- class FH_50BMG_SLAP: B_127x99_Ball
- {
- ACE_caliber=7.823;
- ACE_bulletLength=31.75;
- ACE_bulletMass=22.68;
- 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[]={1.056};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={1204};
- ACE_barrelLengths[]={736.6};
- };
- class FH_50BMG_Raufoss: B_127x99_Ball
- {
- ACE_caliber=12.954;
- ACE_bulletLength=60.452;
- ACE_bulletMass=42.768;
- 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.670};
- ACE_velocityBoundaries[]={};
- ACE_standardAtmosphere="ASM";
- ACE_dragModel=1;
- ACE_muzzleVelocities[]={817};
- ACE_barrelLengths[]={736.6};
- };
-};
diff --git a/optionals/compat_hlcmods_core/config.cpp b/optionals/compat_hlcmods_core/config.cpp
deleted file mode 100644
index ecd780908f..0000000000
--- a/optionals/compat_hlcmods_core/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_core"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgAmmo.hpp"
diff --git a/optionals/compat_hlcmods_core/script_component.hpp b/optionals/compat_hlcmods_core/script_component.hpp
deleted file mode 100644
index 444799ed4a..0000000000
--- a/optionals/compat_hlcmods_core/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_core_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlcmods_fal/$PBOPREFIX$ b/optionals/compat_hlcmods_fal/$PBOPREFIX$
deleted file mode 100644
index 91bbe75e96..0000000000
--- a/optionals/compat_hlcmods_fal/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlcmods_fal
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_fal/CfgWeapons.hpp b/optionals/compat_hlcmods_fal/CfgWeapons.hpp
deleted file mode 100644
index fd826a6804..0000000000
--- a/optionals/compat_hlcmods_fal/CfgWeapons.hpp
+++ /dev/null
@@ -1,50 +0,0 @@
-
-class CfgWeapons
-{
- class hlc_fal_base;
- class hlc_rifle_falosw: hlc_fal_base
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=330.2;
- };
- class hlc_rifle_osw_GL: hlc_rifle_falosw
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=330.2;
- };
- class hlc_rifle_SLR: hlc_fal_base
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=551.18;
- };
- class hlc_rifle_STG58F: hlc_fal_base
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=533.4;
- };
- class hlc_rifle_FAL5061: hlc_fal_base
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=457.2;
- };
- class hlc_rifle_L1A1SLR: hlc_rifle_SLR
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=551.18;
- };
- class hlc_rifle_c1A1: hlc_rifle_SLR
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=551.18;
- };
- class hlc_rifle_LAR: hlc_rifle_FAL5061
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=533.4;
- };
- class hlc_rifle_SLRchopmod: hlc_rifle_FAL5061
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=457.2;
- };
-};
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_fal/config.cpp b/optionals/compat_hlcmods_fal/config.cpp
deleted file mode 100644
index 5428e9871c..0000000000
--- a/optionals/compat_hlcmods_fal/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_falpocalypse"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlcmods_fal/script_component.hpp b/optionals/compat_hlcmods_fal/script_component.hpp
deleted file mode 100644
index 828722a5a4..0000000000
--- a/optionals/compat_hlcmods_fal/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_falpocalypse_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlcmods_g3/$PBOPREFIX$ b/optionals/compat_hlcmods_g3/$PBOPREFIX$
deleted file mode 100644
index ff5b23f6ea..0000000000
--- a/optionals/compat_hlcmods_g3/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlcmods_g3
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_g3/CfgWeapons.hpp b/optionals/compat_hlcmods_g3/CfgWeapons.hpp
deleted file mode 100644
index dc02124667..0000000000
--- a/optionals/compat_hlcmods_g3/CfgWeapons.hpp
+++ /dev/null
@@ -1,45 +0,0 @@
-
-class CfgWeapons
-{
- class hlc_g3_base;
- class hlc_rifle_g3sg1: hlc_g3_base
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=449.58;
- };
- class hlc_rifle_psg1: hlc_rifle_g3sg1
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=650.24;
- };
- class hlc_rifle_g3a3: hlc_rifle_g3sg1
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=449.58;
- };
- class hlc_rifle_g3a3ris: hlc_rifle_g3a3
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=449.58;
- };
- class hlc_rifle_g3ka4: hlc_rifle_g3a3
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=314.96;
- };
- class HLC_Rifle_g3ka4_GL: hlc_rifle_g3ka4
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=314.96;
- };
- class hlc_rifle_hk51: hlc_rifle_g3sg1
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=211.074;
- };
- class hlc_rifle_hk53: hlc_rifle_g3sg1
- {
- ACE_barrelTwist=177.8;
- ACE_barrelLength=211.074;
- };
-};
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_g3/config.cpp b/optionals/compat_hlcmods_g3/config.cpp
deleted file mode 100644
index 6b79486364..0000000000
--- a/optionals/compat_hlcmods_g3/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_g3"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlcmods_g3/script_component.hpp b/optionals/compat_hlcmods_g3/script_component.hpp
deleted file mode 100644
index 642977f87b..0000000000
--- a/optionals/compat_hlcmods_g3/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_g3_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlcmods_m14/$PBOPREFIX$ b/optionals/compat_hlcmods_m14/$PBOPREFIX$
deleted file mode 100644
index 9542452ad0..0000000000
--- a/optionals/compat_hlcmods_m14/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlcmods_m14
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_m14/CfgWeapons.hpp b/optionals/compat_hlcmods_m14/CfgWeapons.hpp
deleted file mode 100644
index 64db736003..0000000000
--- a/optionals/compat_hlcmods_m14/CfgWeapons.hpp
+++ /dev/null
@@ -1,16 +0,0 @@
-
-class CfgWeapons
-{
- class Rifle_Base_F;
- class hlc_rifle_M14;
- class hlc_M14_base: Rifle_Base_F
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=558.8;
- };
- class hlc_rifle_m14sopmod: hlc_rifle_M14
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=457.2;
- };
-};
diff --git a/optionals/compat_hlcmods_m14/config.cpp b/optionals/compat_hlcmods_m14/config.cpp
deleted file mode 100644
index cdf11a7db1..0000000000
--- a/optionals/compat_hlcmods_m14/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_m14"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlcmods_m14/script_component.hpp b/optionals/compat_hlcmods_m14/script_component.hpp
deleted file mode 100644
index a29b751195..0000000000
--- a/optionals/compat_hlcmods_m14/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlcweapons_m14_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_hlcmods_m60e4/$PBOPREFIX$ b/optionals/compat_hlcmods_m60e4/$PBOPREFIX$
deleted file mode 100644
index 73c943fe8f..0000000000
--- a/optionals/compat_hlcmods_m60e4/$PBOPREFIX$
+++ /dev/null
@@ -1 +0,0 @@
-z\ace\addons\compat_hlcmods_m60e4
\ No newline at end of file
diff --git a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp b/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp
deleted file mode 100644
index 50b4ffbc80..0000000000
--- a/optionals/compat_hlcmods_m60e4/CfgWeapons.hpp
+++ /dev/null
@@ -1,15 +0,0 @@
-
-class CfgWeapons
-{
- class hlc_M60e4_base;
- class hlc_lmg_M60E4: hlc_M60e4_base
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=431.8;
- };
- class hlc_lmg_m60: hlc_M60e4_base
- {
- ACE_barrelTwist=304.8;
- ACE_barrelLength=558.8;
- };
-};
diff --git a/optionals/compat_hlcmods_m60e4/config.cpp b/optionals/compat_hlcmods_m60e4/config.cpp
deleted file mode 100644
index 1df3a97a20..0000000000
--- a/optionals/compat_hlcmods_m60e4/config.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "script_component.hpp"
-
-class CfgPatches {
- class ADDON {
- units[] = {};
- weapons[] = {};
- requiredVersion = REQUIRED_VERSION;
- requiredAddons[] = {"hlcweapons_m60e4"};
- author[]={"Ruthberg"};
- VERSION_CONFIG;
- };
-};
-
-#include "CfgWeapons.hpp"
diff --git a/optionals/compat_hlcmods_m60e4/script_component.hpp b/optionals/compat_hlcmods_m60e4/script_component.hpp
deleted file mode 100644
index 4a5a9c03b0..0000000000
--- a/optionals/compat_hlcmods_m60e4/script_component.hpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#define COMPONENT hlc_m60e4_comp
-
-#include "\z\ace\addons\main\script_mod.hpp"
-
-#include "\z\ace\addons\main\script_macros.hpp"
diff --git a/optionals/compat_rhs_afrf3/CfgMagazines.hpp b/optionals/compat_rhs_afrf3/CfgMagazines.hpp
new file mode 100644
index 0000000000..92444a380b
--- /dev/null
+++ b/optionals/compat_rhs_afrf3/CfgMagazines.hpp
@@ -0,0 +1,17 @@
+class cfgMagazines {
+ class VehicleMagazine;
+ class rhs_30Rnd_545x39_AK;
+
+ class rhs_100Rnd_762x54mmR: rhs_30Rnd_545x39_AK {
+ ace_isbelt = 1;
+ };
+ class rhs_mag_127x108mm_50: VehicleMagazine {
+ ace_isbelt = 1;
+ };
+ class rhs_mag_127x108mm_150: rhs_mag_127x108mm_50 {
+ ace_isbelt = 0;
+ };
+ class rhs_mag_127x108mm_1470 : rhs_mag_127x108mm_50 {
+ ace_isbelt = 0;
+ };
+};
\ No newline at end of file
diff --git a/optionals/compat_rhs_afrf3/CfgVehicles.hpp b/optionals/compat_rhs_afrf3/CfgVehicles.hpp
new file mode 100644
index 0000000000..e9c71f4da7
--- /dev/null
+++ b/optionals/compat_rhs_afrf3/CfgVehicles.hpp
@@ -0,0 +1,156 @@
+class cfgVehicles {
+ class LandVehicle;
+ class Tank: LandVehicle {
+ class NewTurret;
+ };
+ class Tank_F: Tank {
+ class Turrets {
+ class MainTurret: NewTurret {
+ class Turrets {
+ class CommanderOptics;
+ };
+ };
+ };
+ };
+ class Car;
+ class Car_F: Car {
+ class ViewPilot;
+ class NewTurret;
+ };
+ class Wheeled_APC_F: Car_F {
+ class NewTurret;
+ class Turrets {
+ class MainTurret: NewTurret
+ {
+ class ViewOptics;
+ };
+ };
+ class CommanderOptics;
+ };
+ class rhs_bmd_base: Tank_F {
+ class Turrets: Turrets {
+ class CommanderOptics: NewTurret {
+ ace_fcs_Enabled = 0;
+ };
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ };
+ class GPMGTurret1: NewTurret {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ class rhs_bmp1tank_base: Tank_F {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ };
+ class Com_BMP1: NewTurret {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ class rhs_bmp_base: rhs_bmp1tank_base {};
+ class rhs_bmp1_vdv: rhs_bmp_base {};
+ class rhs_bmp2e_vdv : rhs_bmp1_vdv {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ class Turrets: Turrets {
+ class CommanderOptics : CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ };
+ };
+ class rhs_bmp3tank_base: Tank_F {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ class Turrets: Turrets {
+ class CommanderOptics: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ class GPMGTurret1: NewTurret {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ class rhs_btr_base: Wheeled_APC_F {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ };
+ class CommanderOptics: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ class rhs_a3spruttank_base: Tank_F {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ class Turrets: Turrets {
+ class CommanderOptics: CommanderOptics
+ {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ class GPMGTurret1: NewTurret {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ class rhs_a3t72tank_base: Tank_F {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ class Turrets: Turrets {
+ class CommanderOptics: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ class CommanderMG: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ };
+ };
+ class rhs_t72bd_tv: rhs_a3t72tank_base {};
+ class rhs_t90_tv: rhs_t72bd_tv {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ class Turrets: Turrets {
+ class CommanderOptics: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ };
+ };
+ class rhs_tank_base: Tank_F {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ class Turrets: Turrets {
+ class CommanderOptics: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ class CommanderMG: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ };
+ };
+
+ class rhs_infantry_msv_base;
+ class rhs_pilot_base : rhs_infantry_msv_base
+ {
+ ace_gforcecoef = 0.55;
+ };
+};
\ No newline at end of file
diff --git a/optionals/compat_rhs_afrf3/CfgWeapons.hpp b/optionals/compat_rhs_afrf3/CfgWeapons.hpp
index bf5020dfc2..4c3e2e425e 100644
--- a/optionals/compat_rhs_afrf3/CfgWeapons.hpp
+++ b/optionals/compat_rhs_afrf3/CfgWeapons.hpp
@@ -65,4 +65,8 @@ class CfgWeapons
ACE_ScopeAdjust_VerticalIncrement = 0.0;
ACE_ScopeAdjust_HorizontalIncrement = 0.5;
};
+ class Launcher_Base_F;
+ class rhs_weap_rpg7: Launcher_Base_F {
+ ace_reloadlaunchers_enabled = 1;
+ };
};
\ No newline at end of file
diff --git a/optionals/compat_rhs_afrf3/config.cpp b/optionals/compat_rhs_afrf3/config.cpp
index 8b7f9d5ca4..5e88ad2830 100644
--- a/optionals/compat_rhs_afrf3/config.cpp
+++ b/optionals/compat_rhs_afrf3/config.cpp
@@ -12,4 +12,6 @@ class CfgPatches {
};
#include "CfgAmmo.hpp"
+#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"
+#include "CfgVehicles.hpp"
\ No newline at end of file
diff --git a/optionals/compat_rhs_usf3/CfgMagazines.hpp b/optionals/compat_rhs_usf3/CfgMagazines.hpp
new file mode 100644
index 0000000000..e067d1f293
--- /dev/null
+++ b/optionals/compat_rhs_usf3/CfgMagazines.hpp
@@ -0,0 +1,22 @@
+class cfgMagazines {
+ class CA_Magazine;
+ class VehicleMagazine;
+ class rhs_mag_30Rnd_556x45_M855A1_Stanag;
+ class rhs_mag_30Rnd_556x45_M200_Stanag;
+
+ class rhsusf_100Rnd_556x45_soft_pouch: rhs_mag_30Rnd_556x45_M855A1_Stanag {
+ ace_isbelt = 1;
+ };
+ class rhsusf_100Rnd_556x45_M200_soft_pouch: rhs_mag_30Rnd_556x45_M200_Stanag {
+ ace_isbelt = 1;
+ };
+ class rhsusf_50Rnd_762x51: CA_Magazine {
+ ace_isbelt = 1;
+ };
+ class rhs_mag_100rnd_127x99_mag: VehicleMagazine {
+ ace_isbelt = 1;
+ };
+ class RHS_48Rnd_40mm_MK19: VehicleMagazine {
+ ace_isbelt = 1;
+ };
+};
\ No newline at end of file
diff --git a/optionals/compat_rhs_usf3/CfgVehicles.hpp b/optionals/compat_rhs_usf3/CfgVehicles.hpp
new file mode 100644
index 0000000000..2be7a8076e
--- /dev/null
+++ b/optionals/compat_rhs_usf3/CfgVehicles.hpp
@@ -0,0 +1,32 @@
+class cfgVehicles {
+ class LandVehicle;
+ class Tank: LandVehicle {
+ class NewTurret;
+ };
+ class Tank_F: Tank {
+ class Turrets {
+ class MainTurret: NewTurret {
+ class Turrets {
+ class CommanderOptics;
+ };
+ };
+ };
+ };
+
+ class MBT_01_base_F: Tank_F {};
+ class rhsusf_m1a1tank_base: MBT_01_base_F {
+ class Turrets: Turrets {
+ class MainTurret: MainTurret {
+ ace_fcs_Enabled = 0;
+ class Turrets: Turrets {
+ class CommanderOptics: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ class Loader: CommanderOptics {
+ ace_fcs_Enabled = 0;
+ };
+ };
+ };
+ };
+ };
+};
\ No newline at end of file
diff --git a/optionals/compat_rhs_usf3/config.cpp b/optionals/compat_rhs_usf3/config.cpp
index bc4d264697..9a13565ccf 100644
--- a/optionals/compat_rhs_usf3/config.cpp
+++ b/optionals/compat_rhs_usf3/config.cpp
@@ -12,4 +12,6 @@ class CfgPatches {
};
#include "CfgAmmo.hpp"
+#include "CfgMagazines.hpp"
#include "CfgWeapons.hpp"
+#include "CfgVehicles.hpp"
\ No newline at end of file
diff --git a/tools/make.cfg b/tools/make.cfg
index 5e4460ffd9..5045099e26 100644
--- a/tools/make.cfg
+++ b/tools/make.cfg
@@ -63,6 +63,10 @@ release_dir = P:\z\ace\release
# Default: None
pbo_name_prefix = ace_
+# This string will be prefixed to release archive.
+# Default: None
+zipPrefix = ace3
+
# Which build tool will be used? Options: pboproject, addonbuilder
# Default: addonbuilder
build_tool = pboproject
diff --git a/tools/make.py b/tools/make.py
index 11c2bf25b5..8eb8950c7f 100644
--- a/tools/make.py
+++ b/tools/make.py
@@ -51,6 +51,8 @@ import traceback
import time
import re
+from tempfile import mkstemp
+
if sys.platform == "win32":
import winreg
@@ -71,6 +73,7 @@ prefix = "ace"
pbo_name_prefix = "ace_"
signature_blacklist = ["ace_server.pbo"]
importantFiles = ["mod.cpp", "README.md", "AUTHORS.txt", "LICENSE", "logo_ace3_ca.paa"]
+versionFiles = ["README.md", "mod.cpp"]
###############################################################################
# http://akiscode.com/articles/sha-1directoryhash.shtml
@@ -577,6 +580,100 @@ def get_ace_version():
return ACE_VERSION
+def replace_file(filePath, oldSubstring, newSubstring):
+ #Create temp file
+ fh, absPath = mkstemp()
+ with open(absPath,'w') as newFile:
+ with open(filePath) as oldFile:
+ for line in oldFile:
+ newFile.write(line.replace(oldSubstring, newSubstring))
+ newFile.close()
+ #Remove original file
+ os.remove(filePath)
+ #Move new file
+ shutil.move(absPath, filePath)
+
+
+def set_version_in_files():
+ newVersion = ACE_VERSION # MAJOR.MINOR.PATCH.BUILD
+ newVersionShort = newVersion[:-2] # MAJOR.MINOR.PATCH
+
+ # Regex patterns
+ pattern = re.compile(r"(\b[0\.-9]+\b\.[0\.-9]+\b\.[0\.-9]+\b\.[0\.-9]+)") # MAJOR.MINOR.PATCH.BUILD
+ patternShort = re.compile(r"(\b[0\.-9]+\b\.[0\.-9]+\b\.[0\.-9]+)") # MAJOR.MINOR.PATCH
+
+ # Change versions in files containing version
+ for i in versionFiles:
+ filePath = os.path.join(module_root_parent, i)
+
+ try:
+ # Save the file contents to a variable if the file exists
+ if os.path.isfile(filePath):
+ f = open(filePath, "r+")
+ fileText = f.read()
+ f.close()
+
+ if fileText:
+ # Search and save version stamp, search short if long not found
+ versionFound = re.findall(pattern, fileText)
+ if not versionFound:
+ versionFound = re.findall(patternShort, fileText)
+
+ # Replace version stamp if any of the new version parts is higher than the one found
+ if versionFound:
+ # First item in the list findall returns
+ versionFound = versionFound[0]
+
+ # Use the same version length as the one found
+ if len(versionFound) == len(newVersion):
+ newVersionUsed = newVersion
+ if len(versionFound) == len(newVersionShort):
+ newVersionUsed = newVersionShort
+
+ # Print change and modify the file if changed
+ if versionFound != newVersionUsed:
+ print_green("Changing version {} => {} in {}".format(versionFound, newVersionUsed, filePath))
+ replace_file(filePath, versionFound, newVersionUsed)
+
+ except WindowsError as e:
+ # Temporary file is still "in use" by Python, pass this exception
+ pass
+ except Exception as e:
+ print_error("set_version_in_files error: {}".format(e))
+ raise
+
+ return True
+
+
+def stash_version_files_for_building():
+ try:
+ for file in versionFiles:
+ filePath = os.path.join(module_root_parent, file)
+ stashPath = os.path.join(release_dir, file)
+ print("Temporarily stashing {} => {}.bak for version update".format(filePath, stashPath))
+ shutil.copy(filePath, "{}.bak".format(stashPath))
+ except:
+ print_error("Stashing version files failed")
+ raise
+
+ # Set version
+ set_version_in_files()
+ return True
+
+
+def restore_version_files():
+ try:
+ for file in versionFiles:
+ filePath = os.path.join(module_root_parent, file)
+ stashPath = os.path.join(release_dir, file)
+ print("Restoring {}".format(filePath))
+ shutil.move("{}.bak".format(stashPath), filePath)
+ except:
+ print_error("Restoring version files failed")
+ raise
+ return True
+
+
def get_private_keyname(commitID,module="main"):
global pbo_name_prefix
@@ -649,6 +746,7 @@ def version_stamp_pboprefix(module,commitID):
return True
+
###############################################################################
@@ -685,8 +783,6 @@ def main(argv):
# Default behaviors
test = False # Copy to Arma 3 directory?
arg_modules = False # Only build modules on command line?
- make_release = False # Make zip file from the release?
- release_version = 0 # Version of release
use_pboproject = True # Default to pboProject build tool
make_target = "DEFAULT" # Which section in make.cfg to use for the build
new_key = True # Make a new key and use it to sign?
@@ -738,10 +834,13 @@ See the make.cfg file for additional build options.
argv.remove("test")
if "release" in argv:
- make_release = True
+ make_release_zip = True
release_version = argv[argv.index("release") + 1]
argv.remove(release_version)
argv.remove("release")
+ else:
+ make_release_zip = False
+ release_version = ACE_VERSION
if "target" in argv:
make_target = argv[argv.index("target") + 1]
@@ -764,6 +863,12 @@ See the make.cfg file for additional build options.
check_external = True
else:
check_external = False
+
+ if "version" in argv:
+ argv.remove("version")
+ version_update = True
+ else:
+ version_update = False
print_yellow("\nCheck external references is set to {}".format(str(check_external)))
@@ -792,6 +897,9 @@ See the make.cfg file for additional build options.
# Project prefix (folder path)
prefix = cfg.get(make_target, "prefix", fallback="")
+
+ # Release archive prefix
+ zipPrefix = cfg.get(make_target, "zipPrefix", fallback=project.lstrip("@").lower())
# Should we autodetect modules on a complete build?
module_autodetect = cfg.getboolean(make_target, "module_autodetect", fallback=True)
@@ -849,7 +957,7 @@ See the make.cfg file for additional build options.
sys.exit(1)
# See if we have been given specific modules to build from command line.
- if len(argv) > 1 and not make_release:
+ if len(argv) > 1 and not make_release_zip:
arg_modules = True
modules = argv[1:]
@@ -904,9 +1012,18 @@ See the make.cfg file for additional build options.
print_error("Cannot create release directory")
raise
+ # Update version stamp in all files that contain it
+ # Update version only for release if full update not requested (backup and restore files)
+ print_blue("\nChecking for obsolete version numbers...")
+ if not version_update:
+ stash_version_files_for_building()
+ else:
+ # Set version
+ set_version_in_files();
+ print("Version in files has been changed, make sure you commit and push the updates!")
try:
- #Temporarily copy optionals_root for building. They will be removed later.
+ # Temporarily copy optionals_root for building. They will be removed later.
optionals_modules = []
optional_files = []
copy_optionals_for_building(optionals_modules,optional_files)
@@ -1079,16 +1196,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:
@@ -1222,11 +1339,13 @@ 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))
cleanup_optionals(optionals_modules)
+ if not version_update:
+ restore_version_files()
# Done building all modules!
@@ -1236,25 +1355,34 @@ See the make.cfg file for additional build options.
f.write(cache_out)
# Delete the pboproject temp files if building a release.
- if make_release and build_tool == "pboproject":
+ if make_release_zip and build_tool == "pboproject":
try:
- shutil.rmtree(os.path.join(module_root, release_dir, project, "temp"), True)
+ shutil.rmtree(os.path.join(release_dir, project, "temp"), True)
except:
print_error("ERROR: Could not delete pboProject temp files.")
# Make release
- if make_release:
- print_blue("\nMaking release: {}-{}.zip".format(project,release_version))
+ if make_release_zip:
+ release_name = "{}_{}".format(zipPrefix, release_version)
+ print_blue("\nMaking release: {}.zip".format(release_name))
try:
# Delete all log files
- for root, dirs, files in os.walk(os.path.join(module_root, release_dir, project, "addons")):
+ for root, dirs, files in os.walk(os.path.join(release_dir, project, "addons")):
for currentFile in files:
if currentFile.lower().endswith("log"):
os.remove(os.path.join(root, currentFile))
- # Create a zip with the contents of release/ in it
- shutil.make_archive(project + "-" + release_version, "zip", os.path.join(module_root, release_dir))
+ # Remove all zip files from release folder to prevent zipping the zip
+ for file in os.listdir(release_dir):
+ if file.endswith(".zip"):
+ os.remove(os.path.join(release_dir, file))
+
+ # Create a zip with the contents of release folder in it
+ release_zip = shutil.make_archive("{}".format(release_name), "zip", release_dir)
+ # Move release zip to release folder
+ shutil.copy(release_zip, release_dir)
+ os.remove(release_zip)
except:
raise
print_error("Could not make release.")