mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
* Initial * Update artillerytables.cpp * Pass by value, remove c17 features * Tweak accuracy * SQF work - improve compat with a3 mlrs with remote cam (animationSourcePhase) - handle non [0] turrets (rhs prp) - add config entries - use vectorCos to fix fp error (thanks commy) * Support per mag air friction * tweak friction * Integrate with mk6 * more acos fixes * Handle invalid memPointGunOptic (CUP_BM21_Base) * Cleanup * cleanup/tweaks * Update checkConfigs.sqf * Finish cleanup of ace_mk6mortar * Update stringtable.xml * fix bwc for ACE_RangeTable_82mm * Update fnc_rangeTableCanUse.sqf * build 32dll, fix some headers * strncpy and move testing to seperate file * Move to sub-category * Update for ACE_Extensions changes and add warning to ace_common * Update stringtable.xml * Update addons/common/functions/fnc_checkFiles.sqf Co-Authored-By: jonpas <jonpas33@gmail.com> * Update stringtable.xml * Update stringtable.xml * test extension.yml update logical operator * Revert "test extension.yml update logical operator" This reverts commit b1871724ada2a29022c545f5a3af66203a3e4d00. * more guess and test
23 lines
1.4 KiB
C++
23 lines
1.4 KiB
C++
/*
|
|
* artillerytables.hpp
|
|
* Author: PabstMirror
|
|
*/
|
|
|
|
// ace libs:
|
|
#include "vector.hpp"
|
|
#include "shared.hpp"
|
|
#define RETURN_INVALID_FUNCTION -1001
|
|
#define RETURN_WRONG_ARG_COUNT -1002
|
|
|
|
extern "C" {
|
|
__declspec(dllexport) void __stdcall RVExtension(char* output, int outputSize, const char* function);
|
|
__declspec(dllexport) int __stdcall RVExtensionArgs(char* output, int outputSize, const char* function, const char** argv, int argc);
|
|
__declspec(dllexport) void __stdcall RVExtensionVersion(char* output, int outputSize);
|
|
}
|
|
|
|
std::tuple<double, double, double> simulateShot(const double _fireAngleRad, const double _muzzleVelocity, const double _heightOfTarget, const double _crossWind, const double _tailWind, const double _temperature, const double _airDensity, double _airFriction);
|
|
std::tuple<double, double> findMaxAngle(const double _muzzleVelocity, const double _airFriction);
|
|
std::tuple<double, double, double> simulateFindSolution(const double _rangeToHit, const double _heightToHit, const double _muzzleVelocity, const double _airFriction, const double _minElev, const double _maxElev, const bool _highArc);
|
|
void writeNumber(std::stringstream & ss, double _num, const int _widthInt, const int _widthDec);
|
|
std::string simulateCalcRangeTableLine(const double _rangeToHit, const double _muzzleVelocity, const double _airFriction, const double _minElev, const double _maxElev, const bool _highArc);
|