Code Monkey home page Code Monkey logo

awesome's Introduction

AWESome : Aerial Warfare Enhanced Somehow

Enhances the ARMA 3's flight environments to be more
realistic (Aerodynamics, GPWS, ATC, etc.).

Recommended to use with ACE since AWESome will take
advantage of ACE when able such as ACE Interactions,
ACE Weather and more.

This addon is SP/MP capable and basically works as a
client-side mod, and gives some additional features when
used on both client/server.

Although this addon is licensed under CC BY-NC-ND 4.0,
feel free to contact me if you need any code from this
addon for applications.


Features

  1. Realistic Aerodynamics (drag, lift, etc.)

Basic drag model is replaced with an enhanced model so
that it better reflects the drag in real life. This will
generate drag that's much more complicated than a simple
polynomial function and create many effects such as the
so-called 'Sound barrier'.
Vehicle's fuel status and weapon loadout will now affect
mass and aerodynamic characteristics of the vehicle,
resulting in high aerodynamic drag and lowered stability
when armed heavily.
This also brings air density and wind into consideration.
Air density is calculated based on altitude, temperature
and humidity which gets more accurate if ACE3 weather is
used together.

Can enable/disable at addon settings (enabled as default),
and effects of wind can be adjusted with "Wind Multiplier"
setting.
 

  1. Voice Informer & GPWS

GPWS(incl. Voice Informer) has three modes: B747, F-16
and Rita. B747's GPWS has more familiar sounds from
commercial airliners including altitude informers during
landing. Suitable for large transport or support planes.
F-16's Bitching Betty GPWS includes missile warning and
other sound-warnings (voice informers). Gives basic
warnings such as: Counter; Warning; Caution; etc., and is
suitable for fighter planes.
Rita is a Russian voice informer which works similar to
Bitching Betty, but speaks Russian and has fewer
features(it's mainly because I don't speak Russian, and
therefore I can't find enough sound files).

You can set default setting for GPWS in addon settings
which will override plane's default GPWS mode setting
and set GPWS mode to what you want when getting in a
plane. However, if someone with this addon is in or has
been in the plane, the GPWS mode will not change and
stay as it was.
 

  1. ATC (Air Traffic Controller) Systems

Shows friendly & civilian planes on map with name, speed,
altitude, and heading. Useful when commanding multiple
planes. Information lines are consisted of the following
three lines:

Pilot's Name or Callsign
Altitude Speed
Heading

Here, altitude is displayed in multiples of 10m or 100ft,
so if the unit is set to "feet (x100ft)" and 083 is displayed
as altitude, the actual altitude would be 8300ft.

Pilot name/callsign & Vehicle callsign setting and units for
speed & altitude can be changed at addon settings tab.
Supports kph/knot for speed and meter/feet for altitude.
To set a vehicle callsign, add this to the plane's init field:
[this, "My Callsign"] call orbis_atc_fnc_setCustomCallsign;
If no vehicle callsign is set, it defaults to the unit's
group ID.

To enable this feature, you need to add the following code
to the target object's init field:
[this, _radarMode, _distance] call orbis_atc_fnc_addRadarScreen;

The _radarMode (default: 1) parameter works in 3 modes:
0: Civilian, same side or civilian side aircraft only
1: Military, civilian mode plus radar detected aircraft
2: Observer, all alive aircraft

The _distance (default: 10) parameter is a number type
parameter which determines how far the controller can move
from the radar monitor. Zero or negative _distance value
will allow an infinite distance.

When using Military mode, custom parameters can be used:
monitor setVariable ["orbis_atc_radarParams", [radarObject, isMaster]]
monitor: Monitor object the atc radar Interaction was added
radarObject: Radar object (default: monitor)
isMaster: displays all airborne objects if true (default: false)

radar setVariable ["orbis_atc_performanceParams", [radarPos, radarRange, counterStealth, volumeCR, groundCR]]
radar: radarObject from "orbis_atc_radarParams"
radarPos: Position of the radar, can be object or position ASL (default: radar)
radarRange: Standard detecting range for RCS 5m^2 vehicle in km (default: 30)
counterStealth: No effect for now (default: 0)
volumeCR: Volume clutter reduction ratio (default: 1000)
groundCR: Ground clutter reduction ratio (default: 1000)

radar setVariable ["orbis_atc_radarDetailParams", radarDetailParams]
radar: Radar object
radarDetailParams: Radar detail parameters (default: [])

radarDetailParams can be used in two modes: preset/custom.
The list of available presets is as follows:
"APS-11": used in airports as surveillance radar
"AN/APG76": used in A-6, weak against rain
"AN/APS145": used in E-2C, weak against ground clutter

When using custom values, the parameters are as follows:
radarDetailParams = [radarFrequency, pulseWidth, azimuthBeamwidth, elevationBeamwidth]
radarFrequency: Frequency of radar beam in GHz (default: 16.5)
pulseWidth: Pulse width of radar beam in micro seconds (default: 1.25)
azimuthBeamwidth: Azimuth beam width in degrees (default: 2.2)
elevationBeamwidth: Elevation beam width in degrees (default: 3.8)

Military ATC radar includes tools for GCI. When clicking on
radar markers on map, a circle will appear around the marker
and lines will be displayed from friendly/civilian aircraft
to bogie/bandit aircraft. Bearing, distance, radial speed,
altitude difference and relative vertical speed will be shown
for ATC controller to provide target information to pilots or
coordinate intercepts.

GCI automatically classifies unknown aircraft as bogie, and
once the bogie launches a missile at friendly aircraft the
contact is classified as bandit. To manually perform this
task, use keybind "AWESome ATC -> Classify as hostile" when
clicking on a radar marker. This will classify the contact
as bandit, and when clicked again its classification will
be reverted to its original state. Using this feature, it
is possible to classify any contact as bandit when required
and revert a blue-on-blue contact back to its original state.
 

  1. ATIS (Automatic Terminal Information Service)

Plays ATIS radio broadcast using real in-game atmospheric
data. Provides wind, visibility, etc. Temperature, dew point,
QNH will be provided when ACE Weather is enabled.
With basic settings, ATIS provides real-time data, but with
addon setting changed, ATIS data should be updated on
ground

To let the controller manually update the data, disable
'Real-time ATIS data update' option in addon setting, and
add the following code to the target object's init field:
[this] call orbis_atc_fnc_addATCConsole;

By default, ATIS will also be displayed as text in hint
window. This can be disabled or moved to chat window by
changing addon settings.
 

  1. Cockpit Utility

Adds camera shake feature reflecting the vehicle's speed and
status including the touchdown speed, and checklists feature
for fixed-wing pilots which provides decision speed, rotate
speed, landing speed and many more automatically filled in.
This helps pilots to check if they have anything forgotten
and gives reference speeds for takeoff and landing.
 

  1. Ground System

Provides towing vehicle & system for all planes. Works in
MP and does not require other players to use this addon for
towing their planes.
Offroad vehicles are used as towing cars, and can tow
planes by deploying towbar via Interaction / Action outside
the vehicle. Once the towbar is deployed, place target
plane's front gear at the end of the towbar, then use Action
to connect target plane to the towbar. After towing around,
stop the vehicle and disconnect target plane using Action.

NOTICE: moving too fast may occur collisions, so drive
with caution when towing.
 


Issue Tracking

To report issues or request features, please use Github's issue tracker

https://github.com/mgkid3310/AWESome/issues


Steam Workshop

You can subscribe to this addon on Steam Workshop

https://steamcommunity.com/sharedfiles/filedetails/?id=1301399507


BI Forum Thread

BI forum thread is also available, but updates and responses may be slower

https://forums.bohemia.net/forums/topic/217012-awesome-aerial-warfare-enhanced-somehow/


Authors

Orbis2358 ([email protected]) : Project Manager & Programmer
 

Contributors

Feel free to add your name here upon any contributions including
code / translation PR

N/A

awesome's People

Contributors

bonescrap avatar mgkid3310 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

awesome's Issues

Display speed in KIAS for aircraft

The checklists use KIAS right now for their speed but the game displays speed in km/h. AWESome should have the game display speed in KIAS when in aircraft.

CBA Settings Default

Describe the bug
A default value is being stored in the profileNamespace for CBA settings. This is not needed since CBA stores the user settings already. Since saveProfileNamespace is not used, this code is already not doing anything.

For example,

private _defaultMode = profileNamespace getVariable ["orbis_gpws_personallDefault", "none"];
missionNamespace setVariable ["orbis_gpws_personallDefault", _defaultMode];
[
	"orbis_gpws_personallDefault",
	"LIST",
	["Default GPWS Mode", "Activates default GPWS when boarding planes with GPWS turned off"],
	"AWESome GPWS",
	[["none", "b747", "f16", "rita"], ["No default setting", "B747", "Betty (F-16)", "Rita"], ["none", "b747", "f16", "rita"] find _defaultMode],
	nil,
	{
		missionNamespace setVariable ["orbis_gpws_personallDefault", _this];
		profileNamespace setVariable ["orbis_gpws_personallDefault", _this];
	}
] call CBA_Settings_fnc_init;

should just be

[
	"orbis_gpws_personallDefault",
	"LIST",
	["Default GPWS Mode", "Activates default GPWS when boarding planes with GPWS turned off"],
	"AWESome GPWS",
	[["none", "b747", "f16", "rita"], ["No default setting", "B747", "Betty (F-16)", "Rita"], ["none", "b747", "f16", "rita"] find _defaultMode]
] call CBA_Settings_fnc_init;

CBA will automatically create the variable in the mission namespace

option to display ATIS in text

Hi,

It's possible to add an option to display ATIS in text ?
Because it's not easy to understand atis TTS with the engine on and if players are not familiar with english speech ...

Many thanks,

CBA Settings location

Describe the bug
CBA settings are being initialized in postInit, they should be done in preInit as per CBA's recommendation.

aircraft overspeeding

Describe the bug
vehicle gets too much acceleration when over 800km/h or so

To Reproduce
Steps to reproduce the behavior:

  1. spawn and get in any plane
  2. accelerate over 800km/h
  3. set throttle to idle and watch speed increasing

Expected behavior
speed reduces as time goes

Game Environment:

  • Additional Addons: none
  • Date since 1.0.0 update
  • Addon Version (If available) 1.0.0

Additional context
error is with drag calculation

AWESome GPWS bug

When i test my Bitching Betty she says all the functions, but when i fly and fight she says nothing of those. The only warning from her is pull up pull up all the time..... altitude is missing and sometimes she says about flares. I must use something else except AWESome with ACE? or the version 1.3.9 is broken? I saw many videos on youtube and Betty worked good, but this videos was all old

pull.up.1.mp4

Classify contact in ATC

Hi, Thanks for your awesome work on awesome mod ;-)
Is a way to add a feature like ATC player can manually set contact by treat on military radar mode in the ATC Marker CGI ? (Hostile in red, Unknown in yellow, civilian in purple, and friendly in green) ?

It can be very cool to play in multiplayer with a ATC player and pilots ...

Many thanks !

Feature Request: Pilot Set Callsign

We run missions where pilots switch between aircraft regularly but keep the same callsign. Is there a way for a pilot to set their aircrafts callsign when seated in an aircraft? If not a method to allow pilots to set their own callsign outside of the init file would be useful.

ATIS Information + TFAR/ACRE compatibility

Most ATIS broadcasts end with an Information "Tag" to associate what time the information was received. My request is if you could add a way to make the ATIS broadcast start and end with an information tag, for example, ATIS BROADCAST STARTS, "This is information (ALPHA)... End information (ALPHA)." This would allow pilots to fully simulate proper radio reports at startup giving them updated weather information based on the received broadcast (Example, "information Alpha, information Juliet, information Mike ect."). You can code this into the automatic ATIS broadcasts by simply connecting the hour of the day during the multiplayer server or single player mission to the NATO phonetic alphabet up to X-Ray (since there is only 24 hours in a day).

Another request is to make it so that the ATIS broadcasts indefinitely on a set frequency if using TFAR radio or ACRE radio through teamspeak. Allow the ability to set ATIS to a certain frequency within TFAR/ACRE framework so that if you were using an Air Vehicle and you use the radio within the vehicle, you can switch to the ATIS frequency. This would be really cool to see implemented if you could as I don't know how to code this :D.

Here is an example of ATIS broadcast in DCS.
https://www.youtube.com/watch?time_continue=36&v=ZTVZXxA0Wfc&feature=emb_title

The only thing I want to figure out would be how to add in the beginning and end of the ATIS broadcast "This is information (phonetic letter)" and "End information (phonetic letter)" and make it update based on hour of day. If you could help me figure out how to code this that would be sick!

Thank you! Also, the AWESome mod is awesome!

Refactoring with ACE Macros causing issues (Current dev version)

Describe the bug
Some features eg. ATC-Radar not working due to CBA macros used in Strings (Code in arguments).
Probably since #48 where CBA-Macros were introduced.
Example in fnc_addRadarScreen.sqf:
_screen addAction ["Watch ATC Radar Screen", "_this call FUNC(radarScreenOn);", nil, 1.011, true, true, "", "(isClass (configFile >> 'CfgPatches' >> 'GVAR(environment)')) && !(_this getVariable ['GVAR(isUsingRadarScreen)', false])", 5];
Notice that the macros FUNC and GVAR don't get converted correctly leading to unintended behavior.

Possible fix
In some instances you can pass the function code not as string, but as code-type in {} however this doesn't apply everywhere. For the other instances I'm not too sure how to fix without decreasing readability.

Conflict with C-130J from RHS

Describe the bug
when you use the C-130J from RHS and the awsome Mod together the C-130 isent able to take off. on the runway it reaches 250+ kmh but
after liftoff you imediatly stall and lose power.
when you controll a AI via zeus everything is normal

To Reproduce
Steps to reproduce the behavior:

  1. place C-130J from RHS
  2. Start the Aircraft
  3. Stall

Expected behavior
Iwould expect to be able to accelerate past 180 kmh in the air

Screenshots
If applicable, add screenshots to help explain your problem.

Game Environment:

  • Additional Addons: [RHS,]
  • Date [e.g. 2019.06.1.]
  • cant find it but most recend steam version on 6.1.2019

Additional context
If you delete the airodynamics pbo it also works again so there seems to be a problem with the way it calculates this on the C-130J.

Error popup in current workshop publish edition

Describe the bug
When game launches, an error pops up. These are retrived from rpt file.
I've tried to compile the latest github code, the error still exists.

 1:17:00 Error in expression <pend ([_list, _indexes + [_i]] call FUNC(combinatnionProduct));
};

_products
} >
 1:17:00   Error position: <(combinatnionProduct));
};

_products
} >
 1:17:00   Error missing )
 1:17:00 File z\orbis\addons\main\functions\fnc_combinationProduct.sqf..., line 7
 1:17:00 Error in expression <pend ([_list, _indexes + [_i]] call FUNC(combinatnionProduct));
};

_products
} >
 1:17:00   Error position: <(combinatnionProduct));
};

_products
} >
 1:17:00   Error missing )
 1:17:00 File z\orbis\addons\main\functions\fnc_combinationProduct.sqf..., line 7
 1:17:00 Error in expression <itude + ((_randomVector select _i) ^ 2)
_offsetVector pushBack ((_coord select _>
 1:17:00   Error position: <_offsetVector pushBack ((_coord select _>
 1:17:00   Error missing ;
 1:17:00 File z\orbis\addons\main\functions\fnc_perlinNoise.sqf..., line 21
 1:17:00 Error in expression <itude + ((_randomVector select _i) ^ 2)
_offsetVector pushBack ((_coord select _>
 1:17:00   Error position: <_offsetVector pushBack ((_coord select _>
 1:17:00   Error missing ;
 1:17:00 File z\orbis\addons\main\functions\fnc_perlinNoise.sqf..., line 21

To Reproduce
Steps to reproduce the behavior:

  1. Load the addon and launch the game, check rpt file.

Expected behavior
No error shows up

Game Environment:

  • ACE3, RHS
  • Date: 2021-06-22
  • (If available) Addon Version: current steam workshop version

ACE interaction suggestion

Is it possible to put the Caution Voice (B****ing Betties) selection settings into the Addon setting instead of an interaction menu? to save time and space?

No entry 'bin\config.bin/CfgVehicles/EventHandlers.scope'.

Describe the bug
Get error message "No entry 'bin\config.bin/CfgVehicles/EventHandlers.scope'." on startup

To Reproduce
Steps to reproduce the behavior:
Start Arma

Expected behavior
No error message

Game Environment:

  • Additional Addons: [CBA v3.9.1.181229(requiered)]
  • Date [e.g. 2018.06.14.]
  • Addon Version (If available) [v 1.1.1]

Additional context
after deleting orbis_aerodynamics.pbo the error doesn't appears

Toggle pilot name & callsign

Is your feature request related to a problem? Please describe.
showing pilot's name isn't that realistic

Describe the solution you'd like
make a option to toggle between pilot name & callsign

Describe alternatives you've considered
make a transponder? nice, but need UI work

Additional context
N/A

ATC Personel

Apologies again for asking for ATC related stuff.
Is there a way to assign an individual as ATC to view the ATC radar or can it only be done from the object with the initilization?

EGPWS callout for idle engines

Is your feature request related to a problem? Please describe.
It is not a problem. It's a standard callout which is missing in AWEsome.

Describe the solution you'd like
Just check if after wheels touched the runway (possibly just check if alt is down below 10 feet). If thrusters are not in idle then play RETARD callout.

I'll do a fork and pull request anyway because I have some ideas so you can check it out later.

Also I'm a SFX designer and what I'm planning to do is to recreate Boeing and Airbus callouts in HQ.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.