Author Topic: Request: Please add naming options to positions/gates  (Read 1241 times)

Copper

  • Full Member
  • ***
  • Posts: 159
Request: Please add naming options to positions/gates
« on: November 30, 2022, 06:51:39 pm »
It has been brought up multiple times on the GSX Community Discord, but I want to try to request it here as well.

We need a way to customize the names of gates/positions in GSX.
Currently the data is read from the API/BGL and even the good 3rd party payware scenery has LOTs of inconsistent names in their metadata which even mismatches what is written on the apron - just because usually it doesn't really matter.

GSX groups the selection of the parking spot by a "category" which can be Ramp or "Gate B" or similar and then in the submenu one can choose the actual position.
Due to inconsistent names and the way GSX reads/displays them, on big airports I basically always struggle to quickly find the gate that I need.

So the suggestion is to have at least the following Strings for each position in the Airport Configuration:
- Group (e.g. "Gate B" or "Terminal 1 B")
- Name (e.g. "15A")
The Group shall be used to group all positions with the same group into one menu entry on the first level when selecting them.

This way profile creators could decide how to best group the positions for easy identification. So that Gate position would no longer show up as "Ramp" etc.
For linking the profile entries to the actual positions of course the original scenery name is to be used, but let us customize the way it is displayed and grouped in the GSX menu, it is really important.

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 51238
    • VIRTUALI Sagl
Re: Request: Please add naming options to positions/gates
« Reply #1 on: December 01, 2022, 01:39:29 am »
GSX already has this capability internally, as can be seen on some FSDT airports that have smarter grouping, like KORD, KSDF and KCLT.

However, it's made in a purely programming way, with actual Python data structures and string creation rules and subroutines, like a piece of code.

This make it very difficult to adapt it to an user interface, especially considering that, when altering names and grouping, the Airport configuration page should immediately redraw the whole Tree structure to reflect any change to the structure.

To give you an idea how complex and powerful the internal system is, which translates into how complex would be making it "visual", here's how a couple of lines for the KORD custom profile ( that is actual Python code located in GSX\airports\kord_v2_fsdt_MSFS.py )


__T1_C_GateNames = CustomizedName("Terminal 1, Concourse C|Gate C#", 1)

parkings = {
GATE_C : {
   None : ( __T1_C_GateNames, ApproachLengthAndWidth(70, 10),),
   },
}


The first line has defined a variable pointing to a function, which accept a text "rule" as a parameter, which can be expanded to group the gates using that function in the "Terminal 1, Concourse C" GROUP, then the | "pipe" sign is a delimiter to indicate the next part of the string is the rule to define how to display individual parking spots, in this case like "Gate C1", "Gate C2", "Gate C3", due to the expansion of the # character into the actual gate number, taken by the scenery.

The second line uses a Python data structure ( a Dictionary ), which represent all parking spots in the scenery, and the Dictionary contains a variable number of Dictionaries ( so they are nested ), I only shown the ones for GATE_C, but of course we have one for each gate group in the scenery so here, we say that all gates that were originally named as GATE_C in the .BGL (or the Navdata, it's the same), would use the __T1_C_GateNames object defined earlier. And the "None" at start, indicates we don't care which number the parking has. The ApproachLengthAndWidth indicates a custom size for the "corridor" in which the VGDS detects the airplane, since it might be bigger or smaller depending on the airport.

But we could have made something like this too:


parkings = {
GATE_C : {
   None : ( __T1_C_GateNames, ApproachLengthAndWidth(70, 10),),
   23: ( CustomizedName("Terminal 1, Concourse C|I am Gate C23, and I don't use the default rule", 1) ,),
   24: ( CustomizedName("Terminal 1, Orphan Gate|I am Gate C24, and I don't know which concourse I belong to", 1) ,),
   },
}


Meaning, most of the parking spots on GATE_C would normally use the same group and show the gates named in a standard way, but 23 and 24 are presented differently, 23 with just a different name, and 24 even outside the group.

This would affect BOTH what you'll see in the GSX menu when using the scenery, but also the editor "tree" structure itself. I hope you understand how tricky would be translating this purely programming structure into something visual, since even the smallest change would require a complete redraw of the customization dialog.

We are CONSIDERING adding the ability for users to JUST code in Python, not just for this function, but also for other things like a deeper airplane configuration. But it's more like a mid-term project, something we need to do it properly, possibly with some kind of integrated text editor and possibly a debugger, so it's not a quick fix, more like an foreseeable evolution, to allow users to work on something GSX already can do internally, but it's not fully exposed, because it was only meant for us.
« Last Edit: December 01, 2022, 01:41:42 am by virtuali »

davidcherrie

  • Newbie
  • *
  • Posts: 13
Re: Request: Please add naming options to positions/gates
« Reply #2 on: February 18, 2023, 05:32:14 am »
It would be great if you could include a notes section for each gate that is then displayed as a string went selecting gates. This way you can scroll through all the gates and name them a correct name if the gate numbers aren't correct. At each airport I usually only customize a couple of gates dependent on different classes (heavy & mediums) and will always use those gates so it would just be easier if you could easily identify these when selecting your gate through the interface.

I put my notes in the setup notes section of the airport currently to know which gates these are, but would be very beneficial to see this in the end-user interface.