Giter VIP home page Giter VIP logo

diwako_dui's Introduction

DUI - Squad Radar for ARMA 3

A UI showing unit positions and names of units in your squad

Summary

This mod shows a compass in the bottom middle of your screen and a list of people in your current squad. It is made with SQF commands which recently have been added to Arma3 and were not available back in the days of Arma2 or early Arma3. Meaning no weird workarounds with map elements are needed anymore which just eat more frames. A strong point of this UI is its customizability and its many features are all settable with CBA settings.

Requirements

  • CBA

Supported mods

  • ACE 3
  • ACRE
  • TFAR (Both versions)

Features

Scaling

Rescale the UI elements in CBA settings, text can be rescaled on its own as well!

Font

Choose which font is used in the UI

Icon Styles

Choose which icon style should be used

Color Schemes

Choose the colors that are used throughout the UI

Compass Styles

Choose how your compass should look like

Choose which UI elements should be shown

Enable or disable the Compass or Namelist on the fly, both or individually. Keybind to hide the UI is included

Show the Bearing On Top Of The Compass

Or don’t, you choose. Also possible to show milradians!

Adjustable Compass Range

Change the range of the compass on the fly either via CBA settings or keybindings

Compass Refresh Rate

Do not want to update the compass every frame? Choose the refresh rate of it!

Compass Unit Occlusion

Time to get lost in the jungle again!

Namelist Text Size

Change the size of the text of the squad name list. Smaller means more units will fit into one column!

Buddy System

Designate someone in your squad as your buddy, they will get their own icon so you will always find each other

Show Unit Ranks

SQL just died? No problem, Keybind included to see who is the next in rank

Make your own styles

Color, icon and compass styles on mission level are supported!

Special Variables

DUI has a special variable mission makers can use.

diwako_dui_special_track

Array of objects in missionNamepace. Every unit or vehicle in this array will be tracked on compass. Be aware that this might be a performance issue if too many objects are added. Be also aware that you do not add a unit that is already in your squad, or else you have 2 icons for that unit.

Reporting bugs

Create a fitting title beginning with the tag word "BUG". In general, be as specific as possible when reporting bugs, it is good to tell how to reproduce it, so it gets fixed faster.

Requesting Features

For requesting features create a new issue with the tag word "FEATURE" at the beginning of the title. Feature requests can range from new styles to whole new functionality. The feasibility of those requests will be analysed inside the feature request itself

Pull requests

Tell in detail what your PR will change, why it should be added and what benefits you think it will bring. PRs can be from new styles, bug fixes to whole new functionality. The changes will be reviewed within the PR.

Building

Use the latest version of Hemtt to build this project. After installing Hemtt, you can build this project using hemtt dev or hemtt build.

To test your changes and such, you can launch Arma directly using hemtt launch.

Additional

Playable version (DEV) (You can build from source as well)
Playable version (STABLE)
BI Thread

diwako_dui's People

Contributors

10dozen avatar 3mydlo3 avatar 654wak654 avatar alf-melmac avatar bovine3dom avatar brettmayson avatar classicarma avatar csleader avatar cypherv0 avatar dedmen avatar derbismarck avatar diaverso avatar diwako avatar domt602 avatar estim avatar g3rrus avatar johnb432 avatar jokoho48 avatar lorenz94b avatar m1kesk avatar malbryn avatar parasite42 avatar pedrohvneves avatar pennyworth12345 avatar sheepaay avatar ted0007-123 avatar topden avatar veteran29 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

diwako_dui's Issues

Occlusion Feature

Add Occlusion feature, units that are out of sight for too long will vanish from the hud

Show Rank Button Feature

When pressing a keybind the ranks of all units in the group are being shown until the key is not pressed anymore.

Feature - Hide option to hide vanilla squad bar when ACE Interface module is detected

Hide the DUI option to show or hide the vanilla squad bar if ACE Interface module is loaded. Reason: Option is in ACE and ACE is the master in this case, what ever option is set in it wins.

There are a few reports of people saying that option does not work, turns out ACE was loaded through all those cases.
To not confuse people hide the option when the ACE module is detected.

Feature Req - Other Spectate Modes

Currently, my community uses potato spectator, found here:
https://github.com/BourbonWarfare/POTATO/tree/master/addons/spectate

This is a rewritten version of ace spectator and doesn't use the ace_spectator_isSet variable that is detected in fnc_canHudBeShown.sqf.

The issue right now is that DUI hides itself when the player dies and then reinitializes when the player enters spectate. I wrote a quick hotfix that detects whether the player is in a spectator unit and hides the compass, but it doesn't hide the name list. If you find some time, I'd greatly appreciate this!

Bug - UI Elements beneath ACE NVG overlay

Commy2 suggested changing Rsc creation and destruction lines similar to these

// creation
"diwako_dui_compass" cutRsc ["diwako_dui_RscCompass","PLAIN", 0, true];

// destruction
"diwako_dui_compass" cutText ["","PLAIN"];

Translation progress

Translation Guide
Total number of keys: 240

Language Missing Entries Relevant Modules % done
English 0 - 100%
French 185 main, indicators, nametags 23%
Czech 185 main, indicators, nametags 23%
German 1 main 100%
Korean 100 main, indicators, nametags 58%
Japanese 13 main, nametags 95%
Polish 96 main, indicators, nametags 60%
Portuguese 85 main, indicators, nametags 65%
Spanish 74 main, indicators, nametags 69%
Russian 9 main, nametags 96%
Chinesesimp 19 main, nametags 92%
Chinese 19 main, nametags 92%
Turkish 8 main, nametags 97%

Bug - Namelist cannot hold 5 rows on higher resolutions

Distance Calculation

Not sure if this is intended or not but the radar is using distance2d instead of distance here. This means that a paratrooper 2km in the air above the player will appear on the radar.

Buddy feature

People can choose a buddy either by walking up to someone in your squad and selecting "Set as squad buddy".
This feature will work either with mouse wheel action or ace interaction.

The Buddy will be highlighted and yourself will be highlightend with an unused color out side the squad base colors.

This action will set the buddy on the player as variable and the player as variable on the buddy

Issue - Mod Name may be Long

Traditionally Arma addon authors have kept their names condensed: ( "@ace", "@CBA_A3", "@Stui" ) because the -mod parameter is constrained by a character limit. Many groups have to coalesce mods into their own "packs" (ie: coalition throws their maps into "@COALITION_MAPS" or something like that) to ensure they don't go over the character limit (or an unrelated but also-present mod limit).

There are alternatives that most places have started using now (steam workshop, running a .bat instead of a modified .exe, etc) that go around this limitation, but it's still present for many, and most mod authors still keep their @name very short as a consequence.

Perhaps @DUI_HUD?

Feature - Adjustable size of bearing

It would be really nice to be able to adjust the size of the bearing (I run with the UI scale set to 2.0, and the bearing becomes ridiculously big).

Bug - Custom Compasses do not work

With the release of GM a new compass was introduced, as it has another class name DUI does not see it as compass.

Ideas for a fix:
Use assignedItems array, check for second and then first entry of the resulting array if unit has a compass or not. assignedItems array is not fixed and missing items will be omitted, hence you still need to check for additional compasses!
Additional compass whitelist written in a global variable, so people can append the list if needed (custom mods etc).

TODO:
Collect compass classes, do some mods even have custom compasses?

Additional caching

Instead of writing the icon styles into global vars and reading them with params use CBA name spaces instead.

Example from commy2

// preInit
commy_rankIcons = [] call CBA_fnc_createNamespace;
commy_rankIcons setVariable ["PRIVATE", _rank_private];
commy_rankIcons setVariable ["CORPORAL", _rank_corporal];
commy_rankIcons setVariable ["SERGEANT", _rank_sergeant];
commy_rankIcons setVariable ["LIEUTENANT", _rank_lieutenant];
commy_rankIcons setVariable ["CAPTAIN", _rank_captain];
commy_rankIcons setVariable ["MAJOR", _rank_major];
commy_rankIcons setVariable ["COLONEL", _rank_colonel];

// script
private _icon = commy_rankIcons getVariable [rank _unit, _rank_private];

Base Occlusion Distance

When a unit is occluded or behind the player they should still be visible within a small radius, maybe 3 or 5 meters?

Bug - UI visible in ACE Arsenal

Shouldn't be visible there. Possible solution is to check for missionnamespace "ace_arsenal_camera" not being null to detect it.

Feature – Hold-To-Show / Hide

First -- awesome, amazing, perfect script. Love it.
Could we get a setting that has the compass off by default, but shows it on button hold? There's already a "toggle" button that can be bound, but I'm interested in eventually having one button I can use to check my entire UI (think Rising Storm) and, other than that, the UI is entirely hidden.

If I get time next weekend I may very well just pull a feature like that myself. Trying to get my unit (COALITION) to implement this awesome radar over old, stale STHUD.

Feature Req - Row Width

I'm a big fan of six names in one column as a "clean" look. If I make text size as small as possible, I can fit, at most, five names to a column, but they're not very readable due to small size. If possible, will you add a way to ensure six names can be fit into one column like with adjustable row widths?

Compass/Bearing reset position when loading saved game

When playing singleplayer and loading a saved game, the compass and bearing indicators will return to their default positions, despite of what the UI editor shows:
107410_20190206193044_1
107410_20190206193109_1
In the screenshots above you can see the HUD was supposed to be in the lower left corner, but only the names were moved.

Modularity - Splitt buddy into own addon

It would be nice if diwako_dui had full modularity, where any combination components could be removed and the others would still work.

Right now indicators can be removed without a problem. radar can't because of a call in indicators.

I think the buddy system should be move to main or common (or even buddy to allow the buddy system to be removed entirely from the mod?). Then from that point on everything should be kept fully modular.

Feature - Change indicator size based on distance (bonus: FoV?)

Little QoL change that could be as simple as
"_size = ( GVAR(size) / (player distance target) ) max GVAR(min_size)"
Note that distance2D would not work for obvious reasons.

This would avoid nasty-looking scenarios in which the hexagons / circles / squares are larger than the unit they are rendered on.

Bonus: Modulate it by FoV, too, and have the indicators essentially scale as if they actually existed. Much prettier! (Ugly as hell) example code here:

https://github.com/Quailsnap/WHA-Nametags/blob/master/wha_nametags.Stratis/wha/nametags/functions/fn_drawUnit.sqf#L93

Bug - Keep losing my bearing numbers

Even with "Always show bearing" turned on there were numerous times tonight when the bearing above the compass would just disappear. Sometimes you could get it back by turning the squad radar off and on again via the keypress (thank you so much for this) but eventually it disappeared for good.

Unable to force the indicators off on a dedicated server.

In the cba settings of the dedicated server I have "force force diwako_dui_indicators_show = false;" yet, when one connects to the server it shows the default settings. Not sure why. The vanilla indicators are turned off.

The mod is running client side, has settings on the server, but is not running server side currently. Till now we didn't need to run it on the server.

Feature - Suggestion: Omnipresent units

Suggestion: Add the ability to mark certain units to always appear in all DUI radars.

This is particularly useful for Officers or platoon sergeants. Roles which generally operate near but external to squads.

I suggest the pink or purple colour be ressurected. :)

Feature - Predefined icon per unit

Is it possible to have the get_icon function look for a variable on the unit that could be used to store a default icon.
This would prevent the case where a different icon is required than automatically assigned by DUI. For example, a TL with the ACE medic property enabled is currently given a medic icon, not a team lead icon.

Feature - Hide names when group leader

I'd like there to be an option for hiding names whenever you are the squad leader, as I prefer to have the vanilla group interface when I'm commanding as opposed to the DUI names list.

Minor thing, but hey.

Feature - ACE3 Unit classes

The support for ACE3 unit classes is awkward in certain scenarios. We will sometimes set everyone to "ace_medical_medicClass" and "ace_isEngineer". This is useful when portraying special forces or when circumventing gameplay limitations.

In DUI this turns every icon into medic (or engineer) icons. Greatly lessening the utility of DUI. Perhaps a CBA setting or custom variable could be added?

Feature - Use ACE nametag colors

There is a color style for ACE, but it would be nice to actually pull the colors from ACE nametags if it is present. Only thing standing in the way right now is the use of hex colors, some minor rewriting would need to be done.

diwako_dui_compass_hide_blip_alone_group shows no player marker which there are objects in diwako_dui_special_track

  • Set diwako_dui_compass_hide_blip_alone_group to True
  • Have no other squad members
  • Add an object/unit to diwako_dui_special_track
  • Object/unit blip appears in compass by player blip remains hidden

This could be seen as expected behavior since the object in diwako_dui_special_track is, by design, never a member of the squad.
I think though that any time you have a blip for another object/unit then you should be able to see your own blip as well.

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.