The Curse of the TOGGLE !

SDK supports Prepar3D’s philosophy of an open development architecture and encourages third parties to bring new innovations with improved add-ons and training content.
Locked
FSMP
Posts: 678
Joined: Sat Sep 25, 2010 9:38 am

Post by FSMP »

The use TOGGLE functions has always been a problem within the Microsoft Flight Simulator Multiplayer series, and continues to cause issues in P3D.



In particular I am refereing to



(a) Toggle All lights ON/OFF

(b) Toggle Gear UP/DOWN (*** The worse)

(c) Toggle Air Brakes ON/OFF



Toggles cause two major issues.



(1) Because of their nature, a TOGGLE, the operation of using a toggle does not in itself, indicate to the use, what state the function is changing to.

The operator has to additionally monitor the conrolled function, to see what state it is has changed to. This is tyically very unrealistic.

(Yet to see ANY real world aircraft where there is a single TOGGLE button to control the GEAR !!)



(2) Toggle function are a major cause of the lack of syncronisation in Multiplayer, and require a lot of additional processing and communication to "attempt" to keep toggled functions, synchronised. (sometimes not sucessfully)



If P3D is to be a Realistic, Commercial Simulator, lack of syncronisation over multiplayer should be totally impossible.



I would suggest two things need to be addressed.



(1)



Removal on the dependancy of ALL toggle functions.

If it is not possible to REMOVE all toggle function (for backwatds compatability reasons), at least there should be pairs of alternate functions to operate those functions specifically into their two states.



ie TOGGLE GEAR -- There should also be a GEAR UP, and a GEAR DOWN function.



TOGGLE LIGHTS -- well, this is very much a GAMING Shortcut, and if it is not going to be eliminated, it should at least NOT be defined as a default Keyboard Function.

Note: (a) There are already specific functions to control individual lights.

(b) The TOGGLE ALL Lights function is NOT currently sent over Multiplayer.

(Maybe it should be, if it is not going to be eliminated)



Toggle Air Brakes. ( Same as TOGGLE LIGHTS.)





(2)



The second thing that needs to be addressed, is the loss of synchonism in Multiplayer.

A lot of this will automatically be eliminated, by the removal of Toggles.

In addition, there is probably still some missed states that need to be established, when a new player joins a Multiplayer session.

ie State of all other player's Air Brakes.



=====================================================

Talking about non-syncronish in Multiplayer.



Remember the BUG:

If the HOST does not have a plane with the same number of engines as a player, then NONE of that Player's ENGINE Information is passed over Multiplayer to other players !!! Hopefully this BUG can be fixed soon !! Its real DING-A-LING !!



This may help:

There was a time in the evolution of FSX (RTM > SP1 > SP2) whne a player could not even JOIN a session, unless the HOST had an aircraft installed, with the same number of engines as the player.

This was "FIXED?" in SP2, and those players can now join a MP session, BUT, it would seem the fix had the side effect of then not passing that Players Engine information to other players.

Hopefully an EASY fix, now knowing this is happening, ?



Geoff







Geoff











N4GIX
Posts: 617
Joined: Wed Dec 08, 2010 6:52 pm

Post by N4GIX »

IMHO, every switch should have on/off, up/down, etc. commands available! "Toggle commands" have always been a really Bad Idea...
Bill Leaming
Modeler and Programmer
Military Visualizations
beatle
Posts: 88
Joined: Thu Sep 16, 2010 8:34 pm

Post by beatle »

Over the years (like 16 or so of them :-> ), I've made 3 passes at "normalizing" the available event codes so that all events have _TOGGLE, _ON, _OFF, _SET, _INCR, _DECR, etc (ass appropriate), but unfortunately when others add events, they don't follow that and only implement the ones they need immediately (it can sometimes be hard to install the since of working on a platform instead of a program :-> ). The actual toggle events are important (for things like Gear Toggle on the G key), but they should also have on, off, set, etc events as well.



Looks like I need to schedule another pass through the event list to "normalize" it again (it has been 6 & 11 years since the last two attempts :-> ).



Tim
beatle
Posts: 88
Joined: Thu Sep 16, 2010 8:34 pm

Post by beatle »

I just checked the SDK docs, Gear has both Up, Down, and Set events, as well as the toggle event. Am I missing the issue here?



Tim
FSMP
Posts: 678
Joined: Sat Sep 25, 2010 9:38 am

Post by FSMP »

Tim



Gear UP & Gear Down are Simconnect Events, but they are not presented as an Option when defining Keyboard functions.



If G = TOGGLE Gear "has" to survive for legacy compatability, it would be good to be able to assign say "SHIFT G" as GEAR UP, and "CTRL G" as GEAR DOWN. ( and maybe un-assign the G = Gear Toggle)



Currently you cannot do that. Apart from TOGGLE gear, only other Gear Control available for Keyboard Mapping is "Landing Gear (extend Manually) -- no RETRACT.



Similarly, no SPOILER UP, or SPOLIER DOWN available for Keyboard Mapping, just the SPOILER TOGGLE.



Geoff

beatle
Posts: 88
Joined: Thu Sep 16, 2010 8:34 pm

Post by beatle »

Hey Geoff,



Ahh, OK, I understand now, it's just the availability of the events in the UI (which is controlled by whether they have a string ID in that column of the event table) that is the problem. All the events can actually be assigned to keyboard or joystick buttons, even the ones not displayed in the UI, if you hand edit the Standard.xml file. I guess we need a "normalizing" pass on what shows up in the UI vs what doesn't.



Tim
N4GIX
Posts: 617
Joined: Wed Dec 08, 2010 6:52 pm

Post by N4GIX »

Tim, check the tokens for the lighting commands as well. All ten possible "lights" should have separate on and off key_events (both for C and XML).
Bill Leaming
Modeler and Programmer
Military Visualizations
FSMP
Posts: 678
Joined: Sat Sep 25, 2010 9:38 am

Post by FSMP »

Expanding on GEAR Operation -- for general discussion / wish list.



Is there any way in P3D to simulate, and Visually show, individual gear stuck in the non-fully extended state, or to simulate that status of the gear being actually LOCKED when it appears visually to be down. ?



For pilot training (and realism ) this would be desirable.



Once again, in a FSX "Game", Toggle Gear UP/Down + a light or three on the Panel responding in "Some fashion" might have been acceptable, but for a "Realistic, Commercail Sim", a more detailed and realistic simulation of Gear operation becomes far more desirable.



Unfortunatly, from what I can see with my limited knowledge current FSX Aircraft Modeling, current SIM aircraft may not be capable of displaying their gear, stuck in an intermediate state, between fully extended, and fully retracted, as their animation may not be programmed to stop when not fully exteneded or retracted ??? or hopefully I am wrong about that.



Anyway, I throw it out there, as something I see currently as a weak area of realistic simulation in the current product, that hopefully may get addressed in the future.



IN an idea "SIM" would, one would like to be able to land an aircraft, with gear semi-extened,(or even fully extended) and not locked, and simulate the resulting gear collapse, in a realistic manner, having first been able to determine that failure state from correctly simulated panel displays, and visual inspection of the gear state, by a possibler Tower Fly by.





Hopefully,

Geoff

Sam Three Six
Posts: 2
Joined: Sun Jan 30, 2011 2:16 am

Post by Sam Three Six »



Quote:
Quote from N4GIX on March 4, 2011, 22:43

Tim, check the tokens for the lighting commands as well. All ten possible "lights" should have separate on and off key_events (both for C and XML).



Thank you for bringing this up! This has made developing my home cockpit very difficult. And please, include C# in that list. ;)



Patrick, Patrick
aussiecop
Posts: 24
Joined: Wed Dec 29, 2010 4:13 am

Post by aussiecop »

Hi guys,



I have very limited experience with the issues that your describing, but I have made a few fully working panels that interact with the sim using a leo bodnar board. I also had issues with the toggle only doing one action, until a very brainy engineer buddy of mine who has made several full cockpits put me on to XML modifications (yes you can still use FSUIPC if desired, but I have not tested any FSUIPC compatibility in P3D yet) but by using an XML editor you can go into the controls folder and adjust the controls XML file to for instance on a flick switch for nav lights, have both up and down or on/off by looking for the specific command in the controls XML menu which will usually have an "on" command and cutting and pasting the same command right under it and renaming it "off" which will then give the command 2 events and dependant on how you program either a physical switch or joystick/controller event can have both on and off, I am sure the same principle applies for more than 2 commands but I have not programmed more than 2 events as I have not needed that as yet. Forgive me if I am already stating information that is known, but if not feel free to PM me if you want in depth instructions.
FSMP
Posts: 678
Joined: Sat Sep 25, 2010 9:38 am

Post by FSMP »

I do not think you can CREATE "NEW" Events this way.



You can however, edit the control.xml file to associate existing events with keyboard keys, where those EXISTING Events do not appear in the P3D GUI, for defining keys.



And yes, GEAR_UP and GEAR_DOWN are two existing evenst, that are not available to assocuate with keyboard keys, using the P3D GUI, but can be associated by editing the control.xml file.



Also, as you point out, "Registerted" FSUIPC give you a GUI where you can associate any Keyboard key (or Joystick button), with "ANY" of the existing P3D Events.



Geoff



Geoff
Locked