ACE3/addons/scopes/ACE_Settings.hpp
ulteq be482ea097 Advanced Ballistics - Drag model revamp & Spin drift correction (#5566)
* Advanced Ballistics - Drag model revamp
- Moved away from using the drag tables from the GNU exterior ballistics library
- The drag functions are now based off this data from JBM Ballistics: http://www.jbmballistics.com/ballistics/downloads/text/
- The differences are minor, but some players might still appreciate the additional authenticity

* The Mach number is now calculated in relation to the air temperature.

* Improved speed of sound calculation accuracy.

* Advanced Ballistics - DLL update

* Advanced Ballistics - Added drag function reference (JBM Ballistics)

* Advanced Ballistics - Fixed calculation error in the spin drift simulation
- The error was introduced with this PR (https://github.com/acemod/ACE3/pull/4708)

* More descriptive variable names

* Minor performance optimizations

* Fixed some minor issues

* DLL rebuild

* Utilize new 'toFixed' script command
- Small performance improvement

* Fixed a typo

* Use correct reference speed for the drag compensation

* Updated all 'airFriction' values to match the new drag model

* 'Default' atmosphere now equals the ICAO standard atmosphere

* Update reference humidity to meet the ICAO standard
2017-10-06 13:05:20 -05:00

64 lines
2.5 KiB
C++

class ACE_Settings {
class GVAR(enabled) {
typeName = "BOOL";
value = 1;
displayName = CSTRING(enabled_displayName);
description = CSTRING(enabled_description);
};
// ACE_ScopeAdjust_Vertical and ACE_ScopeAdjust_Horizontal will be populated with default values instead of [0,0]
class GVAR(forceUseOfAdjustmentTurrets) {
typeName = "BOOL";
value = 0;
displayName = CSTRING(forceUseOfAdjustmentTurrets_displayName);
description = CSTRING(forceUseOfAdjustmentTurrets_description);
};
// Auto corrects the zeroing in both vanilla- and advanced ballistics
class GVAR(correctZeroing) {
typeName = "BOOL";
value = 1;
displayName = CSTRING(correctZeroing_displayName);
description = CSTRING(correctZeroing_description);
};
// Enables the use of the 'defaultZeroRange' setting to overwrite the discreteDistance[] config
class GVAR(overwriteZeroRange) {
typeName = "BOOL";
value = 0;
displayName = CSTRING(overwriteZeroRange_displayName);
description = CSTRING(overwriteZeroRange_description);
};
// Only affects scopes with elevation adjustment turrets (ACE_ScopeAdjust_Vertical != [0,0])
class GVAR(defaultZeroRange) {
typeName = "SCALAR";
value = 100;
displayName = CSTRING(defaultZeroRange_displayName);
description = CSTRING(defaultZeroRange_description);
};
// Only relevant when advanced ballistics is enabled
class GVAR(zeroReferenceTemperature) {
typeName = "SCALAR";
value = 15;
displayName = CSTRING(zeroReferenceTemperature_displayName);
description = CSTRING(zeroReferenceTemperature_description);
};
class GVAR(zeroReferenceBarometricPressure) {
typeName = "SCALAR";
value = 1013.25;
displayName = CSTRING(zeroReferenceBarometricPressure_displayName);
description = CSTRING(zeroReferenceBarometricPressure_description);
};
class GVAR(zeroReferenceHumidity) {
typeName = "SCALAR";
value = 0.0;
displayName = CSTRING(zeroReferenceHumidity_displayName);
description = CSTRING(zeroReferenceHumidity_description);
};
class GVAR(deduceBarometricPressureFromTerrainAltitude) {
typeName = "BOOL";
value = 0;
displayName = CSTRING(deduceBarometricPressureFromTerrainAltitude_displayName);
description = CSTRING(deduceBarometricPressureFromTerrainAltitude_description);
};
};