FSXA The purpose of DEFAULT_VIEW setting?

#1
What exactly is the purpose of the DEFAULT_VIEW switch in [PANELS] section of the fsx.CFG?

I know the definition and its UI linkage within FSX - it is supposed to kick in VC (DEFAULT_VIEW = 0) or 2D panel (DEFAULT_VIEW = 1)...

But this does not do anything for me. I saved my FLT with VC view active, and changing this switch manually or through UI does not change anything for me.

So, what is under what circumstances is this switch behaving properly?
 

Heretic

Resource contributor
#2
Could be that you also need to set an appropriate hotkey.

In the camera.cfg that's located in the same folder as the fsx.cfg, set the "HotkeySelect=" line for the VC camera to "1" and delete the value in the same line in the section for the 2D view. This will at least map the VC view to the F9 key.
 
#3
Could be that you also need to set an appropriate hotkey.

In the camera.cfg that's located in the same folder as the fsx.cfg, set the "HotkeySelect=" line for the VC camera to "1" and delete the value in the same line in the section for the 2D view. This will at least map the VC view to the F9 key.
Yes, I have that- I think that is the default behavior. (F9 VC, F10 2D, F11 outside)...

As per my other post, the goal is to have a FLT situation with the outside view, and S-cycling into a VC (not 2D cockpit) - and that is not possible without first "waking up" cockpit group by hitting F9.

The problem is - the 2D view is the default, go-to view for FSX. Even if the camera.cfg file is missing or corrupt, it will go to this default, 2D cockpit view. The only way to avoid it is to "hide" it from S-cycling by setting "CycleHidden=Yes" to it (I tried deleting it from camera.cfg but FSX freaks out). However, since VC is the memeber of the cockpit group, this also hides the VC from the S-cycle. I am then forced to use F9 key to "wake up" VC ...
 
#4
The 2D view is not the default view for FSX. All of my flights load into the VC by default in FSX and Prepar3D. Only FS9 loads the 2D display by default. You can set FSX up to load into the 2D panel first, but it's default behavior is to go into the VC view. Do you have a custom default flight? If it was saved with the 2D visible, that will be what the sim shows first.
 
#5
I specified that 2D view is the "default go-to view" for FSX, which means the lowest-level, common denominator view.

If you remove all the global, system wide cameras (in Camera.cfg), AND all the cameras specific to aircraft (in aircraft.cfg), FSX will by default go into an "internal", hard-coded in-cockpit, 2D view.

The fact that your flights load with VC cameras is because you have [camera.n] entry/entries in either of those files...
 

n4gix

Resource contributor
#6
I specified that 2D view is the "default go-to view" for FSX, which means the lowest-level, common denominator view.
That is simply not correct behavior, Misho... Whatever view you have active when you open the "default flight" will be the view that is always loaded. Check your "default flight" and set the view to the VC, then re-save it as the "default flight." Now every aircraft should open in the VC view.
 
#7
Thanks Bill - What you specify is true, but again, I am talking about a very basic, lowest-common-denominator case.
To quickly replicate what I'm talking about: (make backup copies of all the files that are about to be changed):

AppData\Roaming\Microsoft\FSX\Cameras.cfg: completely blank out the file and save.
AppData\Roaming\Microsoft\FSX\FSX.cfg: change entry "SITUATION=<whatever>" to "SITUATION=" . This will be later filled automatically with "FLIGHTS\OTHER\FLTSIM". Also, set "SHOW_OPENING_SCREEN=0"
Microsoft Flight Simulator X\Flights\other\FLTSIM.FLT: remove any "CurrentCamera=" and "[Camera.n.n]" from the file, and save
Microsoft Flight Simulator X\SimObjects\Airplanes\Aircreation_582SL\Aircraft.cfg: remove any "[CameraDefinition.n]" entries

So, what has now been taken away is, for a default FLTSIM.FLT, to read any camera entries. When you start FSX, it will load the DEFAULT.FLT flight, and the only view available (from the UI or cycling S and A) will be a 2D panel. And, this 2D view isn't specified anywhere in cfg or flt files - it is an internal, hard-coded fall-back view. (the structure of this view IS specified in panel.cfg, but that's where a window is defined, not a view)

After the above steps, you have no choice in choosing any views - this is all that's available and there is no way of choosing anything else...
1539902597072.png


That's the view I was talking about.

Granted - it is unlikely a casual user will ever be faced with this situation, but I was just trying to make a point how a 2D view cannot be completely supressed from FSX.

My original question still stands: I cannot create a setup which will allow me to:

  • Load a FLT situation that starts in a non-cockpit view (Outside, Custom or Aircraft)
  • S-cycle into a VC cockpit WITHOUT ever seeing a 2D cockpit

The closest I can get to is, set "CycleHidden=Yes" on my default 2D view in Cameras.CFG, and when the sim starts (in an outside view) hit "F9" (that's my HotKeySelect setting for VC) to get to VC. This "wakes up" the cockpit viewing group which has been hidden with "CycleHidden". After that, I can S-cycle through and get to VC, as I wanted.

I know, I'm splitting hairs :rolleyes:, but my users might not be aware that they need to "wake up" the cockpit view using F9, and I'd like to avoid that.
 
Last edited:

n4gix

Resource contributor
#8
Ah, now I understand what you have been trying to explain. You are quite correct in this particular edge case.
 

ddawson

Resource contributor
#9
Once upon a time, I wrote a gauge that would allow the user to skip either the 2D or the VC view.
You watch for either the Next View or the Previous View commands and check what the current view is when they occur.
The same gauge could also for the view to either VC or 2D on panel load.
 
#10
Once upon a time, I wrote a gauge that would allow the user to skip either the 2D or the VC view.
You watch for either the Next View or the Previous View commands and check what the current view is when they occur.
The same gauge could also for the view to either VC or 2D on panel load.
Did you use SimConnect for that, and used SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_2D/SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_VIRTUAL?

I have that going as well, for a different purpose, but that was the next avenue I was going to try...

Still - no clear answer to the post's original question... :rolleyes: the purpose of DEFAULT_VIEW setting...
 

ddawson

Resource contributor
#11
Didn't use SimConnect, although I'm sure you could.

Code:
void FSAPI Event_Handler ( ID32 event_in, SINT32 evdata, PVOID userdata )
{
    switch (event_in)
        {
        case KEY_VIEW_MODE:
            event_logged = 0;
        break;

        case KEY_VIEW_MODE_REV:
            event_logged = 1;
        break;
        }
}


void FSAPI no_2d_callback(PGAUGEHDR pgauge, int service_id, UINT32 extra_data)
{
switch(service_id)
{
case PANEL_SERVICE_PRE_UPDATE:
    execute_calculator_code ( "(P:ACTIVE VIEW MODE,enum)", &event_view[1], NULL, NULL);
    if ( event_view[1] == 1 && _2d_delay == 0 )
        {
        skip_required = 1;
        _2d_delay = 1;
        }
    else _2d_delay = 0;
break;

case PANEL_SERVICE_POST_UPDATE:
    if ( skip_required == 1 )
        {
        if ( event_logged == 0 ) send_key_event(KEY_VIEW_MODE, 0);
        else send_key_event(KEY_VIEW_MODE_REV, 0);
        skip_required = 0;
        }
break;

}
}
 
#12
Yep - thanks Doug! I implemented SimConnect version:

Code:
                case EVENT_VIEWCHANGED:
                    TB_PRINTF("VIEW_CHANGED Event:\n");
                    switch (evt->dwData)
                    {
                        case SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_2D:
                            if (CFGPrefs->bSupress2DCockpit)
                            {
                                // Supress 2D view:
                                hr = SimConnect_TransmitClientEvent(hSimConnect, 0, EVENT_NEXT_SUB_VIEW, 0, SIMCONNECT_GROUP_PRIORITY_HIGHEST, SIMCONNECT_EVENT_FLAG_GROUPID_IS_PRIORITY);
                                TB_PRINTF("COCKPIT 2D [SUPRESSED]\n");
                            }
                            else
                            {
                                SystemVars->nViewMode = FSXVIEW_COCKPIT_2D;
                                TB_PRINTF("COCKPIT 2D\n");
                            }
                            break;
                        case SIMCONNECT_VIEW_SYSTEM_EVENT_DATA_COCKPIT_VIRTUAL:
                            {
                                SystemVars->nViewMode = FSXVIEW_COCKPIT_3D;
                               ...
This assumes there is a VC view (and there is, by default) but I'll still insert a check, bcz this might give me infinite loop :rolleyes:
 
#14
The purpose of DEFAULT_VIEW setting is to tell the sim what initial view to load. It has exactly two choices... VC or 2D.
Ok - "mystery" solved! (duh :rolleyes:)

The DEFAULT_VIEW pertains ONLY to the situation where user is setting up a brand new flight (as opposed to previously saved and loaded one), in the "Free Flight" portion of the user interface. While there, user has the option of going into "settings/customize/aircraft" and choose 2D/3D initial cockpit view.

This option is active during the flight, however it has absolutely no effect on the CURRENT flight, and hence my initial confusion.

This is one of those UI nuances that was missed by the original ACES dev team. I think (since I am such a stickler for UI clarity :laughing:) that this option should have been removed, or at the very least, grayed out when in-flight.

(I can't believe I'm debating this on a 12yr old software :rolleyes:)
 
#15
While there is a setting that can change the value, DEFAULT_VIEW isn't a UI. It's a setting in a configuration file. In the "Settings-Display" UI, if you mouse over the respective radio buttons, each one has it's own help text assigned that describes it's purpose. As a stickler, you should at least be clear in what you're calling a user interface.

The radio button labeled "3-D virtual cockpit" displays "Select this option to display the 3D virtual cockpit by default."
The radio button labeled "2-D instrument panel" displays "Select this option to display the 2D Instrument panel by default."

Default, for all intents and purposes is generally expected to be what happens if nothing else is there to override it. Just like a default case in a switch statement. As you've pointed out, this is software that has been around for quite a long time and you are the first to take issue with this particular setting, it's representation within the UI and how it actually behaves.
 
#16
While there is a setting that can change the value, DEFAULT_VIEW isn't a UI. It's a setting in a configuration file. In the "Settings-Display" UI, if you mouse over the respective radio buttons, each one has it's own help text assigned that describes it's purpose. As a stickler, you should at least be clear in what you're calling a user interface.
Sorry if it wasn't clear to you, but I indicated that there is a UI linkage to this CFG setting:

I know the definition and its UI linkage within FSX (...)
Perhaps I might have been presumptuous assuming that everyone reading this will know exactly what UI element I was talking about.

As for the mouse rollover "help text", there is nothing in that tidbit of text that further explains under what circumstances this switch will affect user. Actually, it confuses things even further... To me, the text "Select this option to display the 3D virtual cockpit by default." means that, if I select this, my flight will start in 3D cockpit. And it won't - if I save the flight in a different view. As it stands, this switch will do absolutely nothing if used while in flight, and that is just plain wrong UI implementation.
 
Last edited:
Top