1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Ideas for Dialog / GUI Features in SimConnect

Discussion in 'SimConnect' started by DocMoriarty, 8/1/07.

  1. DocMoriarty

    DocMoriarty

    Joined:
    20/12/06
    Messages:
    64
    Country:
    germany
    The idea behind this thread is to collect a few ideas for GUI features that SimConnect should support so that add ons can better interact with the user especially while the simulation is running.

    1. Simple Messages: A function that lets queue messages in the message strip that displays for example the ATIS messages. This should be really easy for ACES.

    2. Texts like the adventure briefing messages. Pop up a window containing some blah blah that vanishes with delay like the mission blah blah windows. Should also be pretty easy.

    3. "Dialog Boxes" pretty much like the ATC window with some text, a couple of choices where the user can pick from and the result being sent back as custom event via SimConnect (with user selection or dialog cancelled selection in dwData).

    Alone these 3 would enable quite a lot possibilities and should be pretty easy to implement.

    4. Global Panels: A type of panel which is not configured for a particular aircraft. Only 2D panels. More complex dialog stuff could be made available as such a global panel, basically the dialog is implemented as panel/gauge. Perhaps a lot of work for the developer but for ACES somewhat easy to implement i guess. The main difference to a normal panel is, that it is not configured per aircraft and that it will show / pop up via a SimConnect function (something like SimConnect_ShowGlobalPanel("mypanel")/SimConnect_HideGlobalPanel("mypanel")). For example i could implement my more complex dialog stuff as a special PDA (personal data assistant) gauge then which is available in all aircraft and the user can interact with my addon without a break in immersion.

    5. It should be possible to pop up a dialog like the map or aircraft dialogs of FSX, that is with the blackened background. I would like to see some more options though, such as leave the last rendered frame as background. Currently it appears to me that if FSX main window looses focus then it automatically minimizes which is very annoying.

    My proposals are more targeted towards getting some dialog features that are not too much effort for ACES to implement (i hope) so that it could basically be done ASAP.

    Of course if they want to provide us with more cool features such as passing out the DirectX device handle for custom rendering before a frame gets presented i sure won't hesitate to take that. Or maybe a complete set of transparent GUI controls for windows like dialogs while in game ...
  2. lc0277

    lc0277

    Joined:
    25/9/06
    Messages:
    156
    Country:
    france
    My number #1 item on simconnect wishlist is very simple :
    - allow access to gauges variables from simconnect programs.

    As I want to run my simconnect programs from outside FS, and possibly on a remote machine, I can't access the Panels structure.
    So i'm actually using an intermediary module that uses client data areas to bridge panel system and simconnect, but it's really painful. Mainly because panel C callbacks are synchronous whereas simconnect not. And not so efficient, especially for variables that need real-time updates.Doing a SetClientData + RequestClientData + associated event on every sim frame has probably a severe performance issue.

    The simconnect application would create a callback that would be refered in XML Gauges
    as (C:MyCallback:VarName). The application can set variables, readable from XML gauges, and gets notified when the gauge writes to it via some event handlers.

    That would immediately extends the range of simconnect possibilities : access to facilities data (through fs9gps), and some gui features because XML gauges drawing and text rendering capabilities are largely underestimated IMHO.
    For example, a MouseClick gauge element that contains
    1 (>C:MyCallback:ClickTrigger)
    would immediately trigger an event in the simconnect application, thus enabling interaction between the GUI (as a gauge) and the simconnect application (possibly external, and even remote)


    My 2c :)

Share This Page