Jump to content
Sign in to follow this  
terox

CfgOrbats Overhaul request

Recommended Posts

Apologies if this isn't the correct place for this, but lacking the feedback tracker, there doesn't really seem to be a suitable location for this type of thread

In it's present state I do not feel that the Orbat Viewer, CfgOrbats class has any use other than cosmetic appeal, it lacks information and useability.

 

 

Here is my suggestion for how it could be adapted for practical use

 

 
DESCRIPTION.EXT
class cfgOrbat
{
     class PlatoonHQ
     {
          //id = 1 // remove, use a nested class like this example
          //idtype   // remove, not much use, rely on a text definition listed below instead
          //Commander= "" // remove, use the name of the group leader
          //CommanderRank= "" // remove, use the rank of the group leader if its really important
          side  = "West"; // Only needs to be defined once per nested orbat tree
          groupVar = "WHQ";   // from  XXX=group this; defining this variable as a "string"
          text  = "1st Plt HQ"; // (undefined value defaults to groupID / Callsign)
          textShort  = "1:HQ";
          Size  = "Platoon";
          Type  = "HQ";
          IconSize  = 0.7; // The default icons are too large for map view, allowing the size to be redefined would be helpful (undefined value defaults to 1)
          IconColour[]  = {r,g,b,A}; // Undefined value defaults to Blue (Friendly side colour)
          tracking  = 1; // define as 1, creates a group Icon in map view and tracks the group leader (See below)
          ShowInfo = 1; // Hovering over the group icon pops up a window with information on the group (See below)
          CanInteract = 1; // Clicking/Double clicking on the group icon allows you to give that group orders


          class ReconTeam // Inherits from the Mother class by default, so you only need to add changes
          {
               groupVar = "WRecon"
               text  = "Recon";
               textShort  = "R";
               UnitSize  = "Fireteam";
               UnitType  = "Recon";
               IconSize  = 0.5;
          };

          class AlphaSquad
          {
               groupVar = "WA"
               text  = "Alpha";
               textShort  = "A";
               UnitSize  = "Squad";
               UnitType  = "Infantry";
               IconSize  = 0.5;

               class Fireteam1
               {
                    groupVar = "WAFT1"
                    text  = "Alpha FT1";
                    textShort  = "A:1";
                    UnitSize  = "Fireteam";
                    UnitType  = "Infantry";
                    IconSize  = 0.3;
               };

               class Fireteam2
               {
                    groupVar = "WAFT2"
                    text  = "Alpha FT2";
                    textShort  = "A:2";
                    UnitSize  = "Fireteam";
                    UnitType  = "Infantry";
                    IconSize  = 0.3;
               };

               class Vehiclecrew
               {
                    groupVar = "WAVC"
                    text  = "Alpha VC";
                    textShort  = "A:VC";
                    UnitSize  = "Section";
                    UnitType  = "MotorizedInfantry";
                    IconSize  = 0.3;
               };
          };
     }; 
};
tracking  = 1; GroupIcon is created in map view and automatically updates to the location of the group leader, as a group-Icon already does now
tracking  = 0; disables this
 
groupVar = "";  Rather than sync to a group via a module link, there needs to be a variable that defines what group the orbat class is pointing to. Maybe the best way here is to define it as a string in the class definition and then check if that group variable exists
So in the 3Deditor you would state WA = group this; in the group configuration and then in the class definition groupVar = "WA";
Code then checks if Isnil "WA" and if it is defined creates the groupicon for it in map view or even in 3d view if groupiconsvisible has been configured that way
 
ShowInfo = 1; Hovering over the icon, the following information pops up in a small gui window next to the icon
  • Name of each player (Colour of text based on fireteam colour) and if they have a special unit icon, also that, eg AT or AR icons
  • 1: Fred (SL icon)
  • 2: John (Medic icon)
  • 4: Andy (AR icon)
  • 5: Fritz (AT icon)
  • 8: Dan
  • 9: A.I. (AT Icon)
If its an AI dont display the name better to just display the unit ID iin the group and then A.I
 
CanInteract = 1; Allows a group leader player in any tier above this group to double click to select the unit and then single click on the map to give a waypoint.
In this example, it would allow the Platoon commander to order any group below him.
It would allow the squad leader in Alpha to order his fireteams
 
The following are my ideas, obviously they need further thought and fine tuning
 
Configuration
Listing this in the description.ext as nested subclasses, eg daughter classes defines the number of tiers required for viewing and what should be viewed
The "showinfo" and "CanInteract" values define if this is for anything more than visual display
The module simply initialises it after defining the path for the cfg orbat as is used at the moment
 
 
Information for the player
 
Briefing screen
 
In the initial briefing screen, the player opens up the orbat viewer via a link in the briefing screen.
This displays the orbat viewer as it is now, but hovering over or showing by default for each group icon is more information, such as the leader of the group and the number of units in the group
(This is refreshed every time the orbat is re-opened to reflect changes in leadership and player numbers in the group etc)
This gives the mission commander more useful information when planning the mission in the briefing
 
InGame Map view
 
The player (Or just a group leader) can hover over a groupIcon which pops up a window revealing information about that group.
That information would be as seen in the ShowInfo section above
 
Interaction
Option Clicking on the icon (ALT, SHIFT, CTRL, Double click etc) allows interaction
for example
 
Click selects the group
  • Shift-Click on map selects a Move to or series of move to waypoints for the group (Also creates a series of move to markers as a visual aid to the players groups
  • Ctrl-Click on map selects the last waypoint and if its close to another waypoint, creates a cycle waypoint, also sends a side chat message to the receiving group that they have move orders
    • This also creates a "Move To" marker as a visual indication to any players in the "ordered to move" group as well as the issuing group leader
    • The marker disappears after the group is close to it or after maybe a time out period or if deleted by the issuing player
  • Alt-Click deletes all the currently placed waypoints and deselects the group
Something like that
Or maybe a pop up gui that allows this and more functionality like setting waypointb type, movement rate, behaviour etc
 
if the Interaction behaviour and the Ingame Map view behaviour could also work in the briefing map screen that would be very very useful indeed
 
 
Something like this would then make the orbat viewer useful, in its present state it is nothing but eye candy imho
  • Like 7

Share this post


Link to post
Share on other sites

In addition update due to changes made possible in the 3D editor


 

CfgORBATS
{

	vehicles[]={};        
/* List of vehicle variable names (NOT CLASSNAMES) that are not assigned to a specific group, but available for the CO to assign them
	This array of vehicles is automatically listed in the briefing under a friendly assets tab
	This should also include static vehicles like mortars
	This way detailed information about the vehicle can be extracted for a "mouse over" overlay or to automatically insert into the briefing. Much more useful than a classname
*/

    class W_HQ            // This should refer to the group variable assigned in the group composition
    {
        Callsign        = "HQ";            // This could be defined in the group composition editing window ion the 3d editor
        Grp_Type        = "HQ";            
        Grp_Size        = "PLATOON";    
        m_Text          = "HQ";            
        m_colour        = "BLUE";        
        m_size          = 0.6;            
        vehicles        = {W_HQ_V1};    
    };

class W_A
    {
        Callsign        = "Alpha";
        Grp_Type        = "INFANTRY";
        Grp_Size        = "SQUAD";
        m_Text          = "A";
        m_colour        = "BLUE";
        m_size          = 0.6;
        vehicles        = {W_A_V1};

		class W_A_FT1	// Subclass, fireteam for squad leader)
    	{
        	Callsign        = "Alpha FT1";
        	Grp_Type        = "INFANTRY";
        	Grp_Size        = "Fireteam";
        	m_Text          = "A RED";
        	m_colour        = "RED";
        	m_size          = 0.6;
        	vehicles        = {};
    	};
		class W_A_FT2
    	{
        	Callsign        = "Alpha FT2";
        	Grp_Type        = "INFANTRY";
        	Grp_Size        = "Fireteam";
        	m_Text          = "A GREEN";
        	m_colour        = "GREEN";
        	m_size          = 0.6;
        	vehicles        = {};
    	};
    };
};

 

 

Even with the B.I functions its difficult to implement this in a way that it is functional and of use other than partially useful

  • Like 2

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×