Jump to content
The simFlight Network Forums

Making single button toggle switch for two camera views


Recommended Posts

Hey everyone!

Newbie question here.

I’m trying to program two of my joystick buttons to views of two panels which are accessible in my add-on plane, ONLY through pressing “A” and “Shift+A” on keyboard. Most planes usually have more than few cockpit camera views and allow cycling through them from virtual cockpit. Pressing “A” progresses view forward one step, while pressing “Shift+A” progresses it one step back.

In my particular case plane has 7 view cycle. Example below illustrates how each of two interesting me view can be reached:

a) View (lets call it) “C” by pressing: 3 x “A” OR “4 x “Shift+A”

b) View “D” (immediately AFTER view “C”) – by pressing “4 x A” OR “3 x Shift +A”.

What I trying o achieve for each joystick button is:

Joystick button “1” – toggle between Virtual cockpit and View “C”

Joystick buttom “2” – toggle between Virtual cockpit and View “D”

I would know how to make string to toggle views with 4 joystick buttons, or less comfortably with 3, however neither option is either efficient nor elegant. What I really wish is two button control. Problem is since I don’t understand how o make compound and offset strings I don’t know how to do it.

Here are strings for each of joystick button with programmed keyboard letter A to it:

0=P0,21,K65,8

1=P0,20,K65,8

Appreciating help.

PS.

By the way what stands for argument “0” after "P" in strings above? Should it be:

Joystick#0 - where “0” is arbitrarily assigned by my OS to type of joystick I use? Is it constant for all buttons of same joystick or variable?

Link to comment
Share on other sites

button control. Problem is since I don’t understand how o make compound and offset strings I don’t know how to do it.

Here are strings for each of joystick button with programmed keyboard letter A to it:

0=P0,21,K65,8

1=P0,20,K65,8

I probably don't understand what you are after, but if you mean "how do i make button X send "A" 4 times, then this would do it:

1=P0,20,K65,8

2=P0,20,K65,8

3=P0,20,K65,8

4=P0,20,K65,8

If you want to make one action conditional on another, then that is rather different. But first you have to work out the logic of what you want to do.

Are you sure there isn't a way of selecting the views directly, rather than having to cycle through them like this? It seems pretty awful.

Also, please note that it is generally far far better to assigned the FS control for this sort of thing rather than use the keypresses which just happen to be assigned in FS to those controls. Why make things so long-winded? I believe the controls you are trying to use are simply "Next View" and "Prev view".

If these are Camera Views in FSX (you don't say what version of FS even), then you will probably be able to select them more directly. I think most camera view have an ID or keystroke associated with them -- though I'm not sure about that without checking. Perhaps if you could be more speicifc I could have a look. There are a lot of View controls in FS and I'm not totally sure what they all do!

By the way what stands for argument “0” after "P" in strings above? Should it be:

Joystick#0 - where “0” is arbitrarily assigned by my OS to type of joystick I use? Is it constant for all buttons of same joystick or variable?

Yes, Windows is identifying that joystick as #0, so it's the same for everything arriving from that joystick. However, if you plug the joystick into a different USB port it will probably change.

In the latest updates of FSUIPC the relationship between the ID numbers and the names of devices is made more explicit, and FSUIPC gives you the option of choosing letters to use, instead of numbers.

Regards

Pete

Link to comment
Share on other sites

Woo hoo! Great thanks for reply. I actually didn’t expect THE very author himself writing me reply.

I using FSX SP2 Acceleration, Deluxe (Direct X9, 32bit Windows XP Pro SP3, Saitek X52 joystick), and in fact trying to assign mentioned panel view to two separate add-on planes.

Are you sure there isn't a way of selecting the views directly, rather than having to cycle through them like this? It seems pretty awful.

In Aerosoft Jayhawk/Seahawk helicopter it is, however not to all panels, and to those to which it is possible, number of buttons is missing or not functioning due to known bug.

In Flight 1 MD-81 (I’m guessing that what you referring to in “sequence, combination mixture” part of your instruction when giving start engine and pushback examples) – I didn’t had time to check yet. Possibly it will be possible to use macros rather than “views”

I did missed fact that FSUIPC offers “next view” – thanks for pointing. Same control is listed by FSX in its settings as “View (next in current category)”. Thought I checked all instances of “View” but somehow I missed it. I also was able to figure how to make repetition of button on my own, by reading instructions, even before making post:

Quote:

1=P0,20,K65,8

2=P0,20,K65,8

3=P0,20,K65,8

4=P0,20,K65,8

I bought my copy of registered version of FSUIPC just yesterday and since I have 73 planes and over 600 different paint and model variations, to be honest I didn’t read entire User and Advanced User Guides from cover to cover yet, instead (I’m expecting to be leaving soon for extended period at sea) I jumped to programming them all and reading parts of instruction which refers to what needed.

Unfortunately reading different chapters of Guide as “stand alone”, without reading prior ones first can be sometimes bit problematic. I can understand more or less chapter dedicated to programming buttons, sequence, combination and mixture, I cannot however produce a single string of working code for compound buttons, while offsets are totally beyond my grasp at the moment.

Generally every part of instruction which has an examples of working code (beside syntax explanation), - it is much easier to grasp. It is so simply because it becomes possible by analyzing example of code structure to decipher what was missed in explanation and practice functioning of concept in reality. Problem is Compound section doesn’t have any examples of working code at all. There are syntax patterns, but often it’s not clear what should be where dots are – and similar. On other hand I just discovered Appendix – so hopefully reading it will enlight me.

Because I don’t fully understand idea at this point, what’s below is really speculation of possible ways, how I imagine what I trying to do could be accomplished:

Assuming it is possible to condition functioning of the control to its own flag:

1. JOYSTICK BUTTON “1” FLIPS CONTROL 3 TIMES, THAN 4 TIMES WHEN PRESSED AGAIN.

a) Some keyboard key would be assigned, upon pressing which flag of defined control would be cleared (would work as sort of “power” button which always has to be pressed when airplane is loaded for a first time and would ensure that initial state of control flag is set to desired value. Some automation instead doing it by pressing keyboard key would be of course more desirable, however I don’t know how to accomplish it. On other hand its possible that state of control flags is arbitrarily set to some value every time new plane is started, so perhaps all of this is not necessary:

[Keys,…]
1=70,10,66153,C1004,0 - ????

b) String below has (or should I say: I wish it had) compound condition in line “0”. Pressing joystick button 20 would cause line “0” to check condition of flag of control “66153” (or button 20 – not sure which). If flag is set to ON than line “0” would cause control 66153 to be switched once. In this however case, because, flag was arbitrarily cleared with keyboard key mentioned above, flag of control would be “clear “and instruction in line “0” would be omitted. Next, no matter is line “0” executed or not, lines 1-3 would cause control to be switched 3 times in quick succession from Virtual cockpit to desired camera view of panel.

[Buttons,…]
0=CP(F+0,20),0,20,C66153,40 << ERROR 19! Line ignored >> ---????
1=P0,20,C66153,10
2=P0,20,C66153,20
3=P0,20,C66153,30

Now, because control was switched 3 times (odd number), it means its flag was toggled to opposite state and now is set to “On” (given I understand this correctly). Pressing same joystick button again now would cause line “0” to be executed. This would cause control 66153 to be executed 4 times in row in quick succession – which would return from Camera View to Virtual Cockpit. Because however control would be flipped this time 4 times (even number), at the end its flag would remain in “ON” state. To take care of this, line “4” would toggle flag, however when, and only when (using compound structure again) flag is set to ON (…or should I say again: I wish it did):

4=CP,20,(+F0,20),C1005,4 

Once flag is toggled back, whole state is reset, and pressing joystick button again will cause it again to flip control 66153 3 times, than 4 times, than 3 times and so forth.

2. JOYSTICK BUTTON “2” FLIPS SAME CONTROL 4 TIMES, THAN 3 TIMES WHEN PRESSED AGAIN.

This could be accomplished on same analogy as above, however by programming either control (if such exists), which moves views backwards instead of forwards, or by programming joystick button to control keyboard key “A”, where “shift” is added. Moving view 4 times forward with “A” key is same as moving it three times backward with “Shift+A” - in 7 view cycle. Hence odd number of flips could be preserved and code would work for 2nd joystick button which would move back and forth to different view too.

Other way of accomplishing same action for two joystick button, seems to be possible with conditioning functioning of the button action to offset of “Current View” (…if its possible).

In any case because I use Sitek joystick which has 3 position selector switch with leds (switching to each position lights different led) – this is just ideal scenario for conditioning some buttons on position of selector. For this reason I feel understanding compound structure is a must for me.

Just started reading Appendix, which appears DOES have some of code examples.

Despise my problem with understanding, have to say, I’m impressed with FSUIPC. For all this time I was reprogramming manually FSX joystick controls everyt ime I switched the plane (FSX “save” option ignores controls – thank you Microsoft) and didn’t know what I was missing.

PS.

It seems FSUIPC misses some controls which FSX has (ex.“Hoist Hook”). Is this correct or I missing something?

Link to comment
Share on other sites

After reading some of Appendix. Why am I getting error in line “0” in code below:

[buttons.HH-60J_USCG]

0=CP(F+0,10),0,20,C66153,0 << ERROR 19! Line ignored >>

1=P0,20,C66153,10

1=P0,20,C66153,20

1=P0,20,C66153,30

2=P0,20,C1005,10

Also if I use keyboard ad Joystick which has 34 buttons, how do I know which flags are free and which are not?

Link to comment
Share on other sites

1. JOYSTICK BUTTON “1” FLIPS CONTROL 3 TIMES, THAN 4 TIMES WHEN PRESSED AGAIN.

Right, so you want to change a button into a latching toggle switch. that is usually done with the button's own flag (as i see you already worked out).

Some keyboard key would be assigned, upon pressing which flag of defined control would be cleared (would work as sort of “power” button which always has to be pressed when airplane is loaded for a first time and would ensure that initial state of control flag is set to desired value. Some automation instead doing it by pressing keyboard key would be of course more desirable, however I don’t know how to accomplish it. On other hand its possible that state of control flags is arbitrarily set to some value every time new plane is started, so perhaps all of this is not necessary:

No. All the flags will be clear when you load FS, but there is no under-cover operation on your flags when you load an aircraft. The state of a button or switch is regarded as irrespective of the current state of the sim, it is a property of the buttons on the devices. Though different aircraft may use the different buttons differently, they remain the same physical things, and the flags are associated with them and their state (i.e. pressed or not, switched on or not).

[Keys,…]
1=70,10,66153,C1004,0 - ????

The parameter is as documented (though actually I see it is only mentioned for the C1003, the "set button flag" control -- evidently I thought it obvious that all three button flag controls take the same parameter form, 256*joy + btn. You need to replace the ",0" in your assignment with that value.

b) String below has (or should I say: I wish it had) compound condition in line “0”. Pressing joystick button 20 would cause line “0” to check condition of flag of control “66153” (or button 20 – not sure which).

Controls cannot have "conditions" so cannot be checked. Controls are just commands -- to FS or to FSUIPC. Like "pause". You might have a state called "paused" but the control would be "pause on", "pause off" or "pause toggle" -- the control has no condition, it is a request, and order.

Button flags have a state -- set or clear. That's what flags do. It is ALL they do. Have a state!

If flag is set to ON than line “0” would cause control 66153 to be switched once.

You cannot "switch" a control, you can send it or not send it. You can only switch switches.

[buttons,…]

0=CP(F+0,20),0,20,C66153,40 << ERROR 19! Line ignored >> ---????

You have a syntax error, as it clearly indicates. When you see an Error reported like that, look up the erorr number (in this case it is "the C or K needed for Control or Key is missing". That's a good clueobviously your "C" is there, so why isn't it seen.

The problem is there's an extra comma which shouldn't be there:

0=CP(F+0,20)[color=#FF0040][b][size=150],[/size][/b][/color]0,20,C66153,40

Now this suggests you might be referring to a pretty old copy of the Advanced User's guide, as there were a couple of examples (only) in there which had that extra comma. That was fixed a long time ago! Please tell me that you aren't using an old version of FSUIPC? I don't support old versions -- 3.85 or 4.40 earliest -- this weekend it will be 3.90 and 4.50 as i am releasing them in a couple of days or so.

It seems FSUIPC misses some controls which FSX has (ex.“Hoist Hook”). Is this correct or I missing something?

It lists all of the controls which FSX provides. It obtains its list directly from FSX's own "CONTROLS.DLL" which tabulates all of them by internal names -- it is those names which are listed.

I suspect you are referring to something specifically added in particular panels? Can you give any more details? Maybe they are mission specific assignments, not general FS controls.

Regards

Pete

Link to comment
Share on other sites

Hello.

I spent entire day yesterday on analyzing problem,… and studying Advanced User Guide LOL,…and for sake anyone going through same pains in future :lol:, achieving goal stated in thread title with flags with and/or compound notations is not desired way of going. Below explanation why. (This post DOES NOT contain solution how to solve problem., If you just found this thread and are not interested in details you can stop reading now)

On one note, I would like to say – Advanced User Guide is not lecture which is easy to read. For sure it is very thorough and exhaustive – what it lacks in my humble opinion is being “informative”.

There are number of notions introduced in context which are not adequately in my opinion explained (as notion of not existent joysticks for instance), sound confusing, especially if someone like me wants to learn just say keyboard key programming in a hurry and starts reading from some chapter instead beginning of the Guide. With some exceptions, ideas often lack examples, language is often not very intuitive (, and sound all very similar while it could be: ). Examples in Appendix are stretched 30 pages apart, making moving back and forth very uncomfortable.

It is not to say that existence of exhaustive documentation is not desired or deeply appreciated. Actually I’m sure many will agree: the very opposite! It just seems to me it would help lots of new users to have simplified version of call it “Quick Programming instruction” richer in easier language and examples of code, parallel to existing one.

By the way Appendix at the top of page 43 has following line:

The next trick allows me toggle the mirror with one button:

36=CP(F+0,13)(F-0,30)0,0,C66294,0 ;Incr Concorde Visor (activate rear-view mirror)

37=CP(F+0,13)(F+0,30)0,0,C66295,0 ;Decr Concorde Visor (deactivate rear-view mirror)

38=CU(F+0,13)0,0,2005,30 ;Toggle flag 30

Is “2005” in line above something I miss or an error? What “2005” stands for? Searching for “2005” in “List of FSX Controls” and “Advanced User Guide” – produces no results. It seems that possibly what author intended to say could been: "C1005".

PANEL CAMERA VIEW TOGGLE BUTTON:

It is very easy to create toggle action for single button, either with flag defined to button own state or some third unused button, which moves through Camera Views some defined number of times when pressed once, than some defined number of times when pressed again:

[buttons.H-60]

0=CP(F+0,20)0,20,C66153,0

1=P0,20,C66153,0

2=P0,20,C66153,0

3=P0,20,C66153,0

[buttons.H-60]

0=CP(F+1,1)0,20,C66153,0

1=P0,20,C66153,0

2=P0,20,C66153,0

3=P0,20,C66153,0

4=P0,20,C1005,257

Such a button works quite OK, when I want to move from Virtual Cockpit to some Camera View (which shows say some desired panel – 3 times forward on example above), than return back to Virtual Cockpit when pressed again (4 times forward on example above).

Unfortunately such a button also has one very important weakness – namely it is prone to errors.

Using flag does nothing more than define cycle when button is pressed again and again (3 times, 4 times, 3 times, 4 times,..(..) – where numbers of times of course can be defined as pleased.

Even this works fine, however it works fine ONLY if cycle of 3 is pressed from some particular view (Virtual Cockpit in this case), than cycle of 4 is pressed from some other particular and expected view (Panel View in this case). If lets imagine for some reason, after going to Panel view, instead returning back to Virtual Cockpit (even by pressing some key by mistake), I would press say 2D Cockpit view, pressing programmed toggle button again would neither returned me to desired Virtual Cockpit View, nor get me again from Virtual Cockpit to same Panel should I go to Virtual Panel after. Another words entire functioning of the button would become disrupted.

This is NOT something I want. Let’s imagine you're on final, and you want to go to pedestal or overhead panel for some quick look. You pressed your programmed “toggle view action” button from Virtual Cockpit, and while on panel view, you just reminded yourself, that you need one more parameter from 2D view which has to be entered into some gadget on pedestal. Now lets imagine instead of returning first to Virtual Cockpit, than going to 2D View as you should, by mistake (possibly pressing 2D faster before you thought about it) you go to 2D view directly from Pedestal.

Vuala!

In most mission critical and time tense moment (which final is), you effectively disrupted functioning of one of your panel Views. In order to restore it you will have to now put everything on hold and figure how to fix it. This is NOT how I would want my Toggle View button to work. Toggle view should work spotlessly no matter in what view I am. Get me to desired View, than return me back to view on which I was last, when pressed again.

Therefore in order for Toggle button to work on desired manner, in order for it to “know”, how many times it has to move through view cycle (and in what direction), it would be necessary to invent some mechanism, which would tell it first ON WHAT PARTICULAR VIEW I AM CURRENTLY.

At first glance it seems problem can be solved with flags. After all when FSX is restarted all values of flags are reset and therefore their initial state is predictable. Since initial state can be predicted and any further move through views can be tracked by “observing” flags of anything which changed View - task seems physically possible.

Considering however complexity of how views can be changed:

First Views can be changed with FSX controls “previous view” and “next view – so flags of those would have to be “tracked”. Next same can be accomplished by using “A” and “shift A” on keyboard – so those would have to be tracked too. Views ca also be changed with direct commands as: Spot View, Locked View, Tower, Runway etc – so those would have to be also tracked. Now while say in Tower view I can cycle through views again with “next/previous view” and “A” and “shift A”. Going further, I can access same Tower view not only by commands but also keyboard keys “S” and “shift S” - even Menu option. Summarizing: list of tracked flags, and logical mechanism of observing them all to decipher from their position current view quickly becomes so big and so complex, I starting to doubt is it worth of doing or even possible.

Personally I suspecting it would be possible to invent some very cleaver way of using flags (possibly adding some “artificial” ones to unused imaginary joysticks and their buttons), question is: does it make sense investing 200-300 maybe even more lines of code, just to make single toggle switch button to work? I feel its not. Utilizing “flags” to describe state of “Current view” is simply not efficient way of doing it. I’m not sure would accomplishing same goal by utilizing “offsets” be even possible. Didn’t read “Offset” part of instruction yet, therefore cannot tell. Anyway for sure using “flags” for task seems as not a way to go.

Pete Dowsone wrote:

Now this suggests you might be referring to a pretty old copy of the Advanced User's guide, as there were a couple of examples (only) in there which had that extra comma. That was fixed a long time ago! Please tell me that you aren't using an old version of FSUIPC? I don't support old versions -- 3.85 or 4.40 earliest -- this weekend it will be 3.90 and 4.50 as i am releasing them in a couple of days or so.

I'm using Advanced User Guide for version 4.40 (and same version of FSUIPC). Error which I made in code (and to which this sentence is referring), was not result of incorrect instruction, but simply cases of something simple, even dumb and obvious, yet impossible to spot no matter how long code is looked at.

X-man wrote:

It seems FSUIPC misses some controls which FSX has (ex.“Hoist Hook”). Is this correct or I missing something?

Pete Dowson replied:

It lists all of the controls which FSX provides. It obtains its list directly from FSX's own "CONTROLS.DLL" which tabulates all of them by internal names -- it is those names which are listed.

I suspect you are referring to something specifically added in particular panels? Can you give any more details? Maybe they are mission specific assignments, not general FS controls.

“Hoist cable HOOK” is something what most helicopter users will know about. It simply allows victims to attach themselves to cable, when wire is within their reach (they grabbing and holding to it). Hoist Hook disabled, causes victims to ignore hoist wire presence. When Hoist is deployed and lowered down for the first time, its HOOK usually is enabled by default by FSX (there is red status massage next to zoom in upper right corner of screen which state it). When first victim is hooked, unloading it to helo requires pressing HOOK. This disables it and causes victims to be dis attach from wire and load onboard.

14591454sn6.jpg

Originally all victims placed by FSX were limited to mission and Augusta helicopter only. Even functioning of Hoist Hook was always functional also in FSX Free Flight:

47965524.jpg

From not long however, hoist become fully functional in Areosoft add on Sehawk/Jayhawk Helicopter,..or any other helicopter for that matter - whoever wishes to modify its helo aircraft.cfg file. Also placing "fully functional" victims (or even their groups) in Free Flight is possible now with some trickery to AI Carriers config files (last being free add-on):

http://www.forum.aerosoft.com/index.php?s=d661f9223b8a6639a45e010e85e5e4fd&showtopic=13803

In final word, in regard to my comments to “Advanced User Guide” I would like to stress, no matter how clear I feel it is - I am very grateful for it existence. Most of add-on planes, even FSX itself, presents whole range of much worse documentation: lacks, deficiencies, or even dishonesty, where happens authors bore users to death placing into User Guides irrelevant and gibberish paragraphs from real plane manuals, unable themselves to understand their context and lacking honesty and moral back bone to simply admit it.

However imperfect I do fell FSUIPC Documentation might be, it definitely shines above all, in many respects.

Link to comment
Share on other sites

On one note, I would like to say – Advanced User Guide is not lecture which is easy to read. For sure it is very thorough and exhaustive – what it lacks in my humble opinion is being “informative”.

Well, it is a collection of information of possible interest to advanced FSUIPC users who want to delve deeper into some areas. It is information which would be out of place in a user's guide as it is for detailed reference only, not general use, and certainly not tuition.

It is not to say that existence of exhaustive documentation is not desired or deeply appreciated. Actually I’m sure many will agree: the very opposite! It just seems to me it would help lots of new users to have simplified version of call it “Quick Programming instruction” richer in easier language and examples of code, parallel to existing one.

That would not be an Advanced User's reference but a programming tutorial, which I am most certainly not qualified to write. If you are volunteering to write one i am sure we will all applaud your efforts!

Is “2005” in line above something I miss or an error? What “2005” stands for? Searching for “2005” in “List of FSX Controls” and “Advanced User Guide” – produces no results. It seems that possibly what author intended to say could been: "C1005".

Thank you for finding that typo just in time for me to correct it before the update due out this Friday! I'm afraid I did not comb through the user's submission before appending it. I was just too grateful for the help, I suspect! ;-)

Such a button works quite OK, when I want to move

however it works fine ONLY if cycle of 3 is pressed from some particular view

Yes, I suspected something was up with your logic earlier on in the thread, but, honestly, I did not have time to think it through.

Really, unless there are specific facilities associated with the Camera views you wish to select, I think there's no tidy way to do what you want to do. In FS9 and before FSUIPC could tell you what your main view mode was currently set to, but even that isn't available in FSX, so it cannot even be programmed internally.

it would be necessary to invent some mechanism, which would tell it first ON WHAT PARTICULAR VIEW I AM CURRENTLY.

Exactly, which is not possible programmatically, or at least in any way I know, in FSX.

Have you investigated the possibility of referring to the camera views directly, or even changing the order, possibly with duplication? I think the solution to your quest lies in that direction. If you look at the CAMERAS.CFG file (in the same folder as your FSX.CFG file) you will see that some of the CameraDefinition entries have "HotKeySelect" numbers defined. According to the FSX/ESP SDK:

  • hotkeyselect integer 1 to 10
    No default. Links the camera to one of the 10 pre-defined key events for activating cameras; see the Control Assignments dialog.

So it looks like you can select a view, provided it has a HotKeySelect parameter defined, by a direct control: try View Camera Select 0 to 9? These appear to do the job -- they are new to FSX and I've not tried them before now.

There are also View Aux 0 to 5, but I've no idea what they do.

Regards

Pete

Link to comment
Share on other sites

Pete – that worked! Thanks a lot!

If you reading this thread – this post DOES contain instruction how goal stated in thread title can be achieved.

One more time for sake anyone else, here’s how it can be done. Before starting, apologies to everyone to whom fine down to bottom commentary are not necessary and may feel bit foolish, even bugging. I realizing of course most people here will not need it. To save aggravation (or laugh - not sure which), I marked all fine “computer secrets” of absolute beginners text with green to make skipping it easier.

MAKING SINGLE BUTTON TOGGLE SWITCH FOR CAMERA VIEWS:

1. Locate “Aircraft.cfg” file located (in my case) in:

C:\Program Files\Microsoft Games\Microsoft Flight Simulator X\SimObjects\Rotorcraft\NAME OF YOUR PLANE FOLDER

If you trying to add panel views to airplane and not helicopter (as me), than of course “Rotorcraft” (part of folder path), would have to be replaced with “Aircraft”

2. Open “aircraft.cfg” file with Notepad and locate definitions of Camera Views for interesting you panels. In my case it was “Overhead” and “Pedestal”. Below examples how those definitions looked in my case:

[CameraDefinition.2]

Title = "Pedestal"

Guid = {7F759B00-5BEC-438c-BB6E-22C91E0D855D}

Origin = Virtual Cockpit

MomentumEffect = YES

SnapPbhAdjust = Swivel

SnapPbhReturn = False

PanPbhAdjust = Swivel

PanPbhReturn = False

Track = None

ShowAxis = FALSE

AllowZoom = TRUE

InitialZoom = 0.60

SmoothZoomTime = 2.0

ZoomPanScalar = 1.0

ShowWeather = Yes

XyzAdjust = TRUE

ShowLensFlare=FALSE

Category = Cockpit

PitchPanRate=20

HeadingPanRate=60

InitialXyz=-0.59, 0.1,0.15

InitialPbh=80, 0, 0

[CameraDefinition.3]

Title = "Overhead"

Guid = {96d7ccdb-ae92-4d83-89ed-9c7366d1e422}

Origin = Virtual Cockpit

MomentumEffect = YES

SnapPbhAdjust = Swivel

SnapPbhReturn = False

PanPbhAdjust = Swivel

PanPbhReturn = False

Track = None

ShowAxis = FALSE

AllowZoom = TRUE

InitialZoom = 0.80

SmoothZoomTime = 2.0

ZoomPanScalar = 1.0

ShowWeather = Yes

XyzAdjust = TRUE

ShowLensFlare=FALSE

Category = Cockpit

PitchPanRate=20

HeadingPanRate=60

InitialXyz=-0.60, -0.60,-0.42

InitialPbh=-45, 0, 0

3. Copy interesting you View definitions to the end of “Camera.cfg” file located in :

C:\Documents and Settings\YOUR_NAME\Application Data\Microsoft\FSX

4. If you cannot find folder path mentioned above, make sure that in Windows Explorer: Tools (menu) >> Folder Option (menu item) >> View (tab) – you have:

a) Check mark in “Show hidden files and folders”

b) Don’t have check mark in “Hide protected operating system files (Recommended).

Once you finish with whole process you can of course reverse those options back as they were originally. Also note that Windows Explorer is not INTERNET Explorer. Windows Explorer is program which shows all your drives and folders when "My Computer” is started form Window’s START menu.

5. Add following lines to the end of each CAMERA DEFINITION located in “Camera.cfg”:

HotKeySelect=5 – to the end of (in my case) Overhead panel camera definition

HotKeySelect=6 – to the end of (in my cease) Pedestal panel camera definition

As noted by Pete in previous post, numeric value after HotKey defines View number - and can be any unused View between 0-9.

In my case end of “overhead” definition looked like this:

(…)

Category = Cockpit

PitchPanRate=20

HeadingPanRate=60

InitialXyz=-0.60, -0.60,-0.42

InitialPbh=-45, 0, 0

HotKeySelect=5

6. Once done close and save file.

7. Go to FSUIPC same way as you do every time you adding new assignments for joystick buttons and keyboard keys and add newly created panel views by selecting “View Camera Select 5” and “View Camera Select 6” from FSUIPC’s drop down menu.(if you chose different view numbers while modifying "Camera.cfg" choose of course corresponding view numbers to match)

8. Once done start your plane and examine how your newly created views works and looks. If cameras are not positioned the way you want it, it is possible to redefine camera position, by editing parameters in following line:

InitialXyz=-0.60, -0.55,-0.42

Where:

-0.60 – defines position of camera to the right and left ( 0 – center ; “-“ – right; “+” left)

-0.55 – defines position of camera up and down (0 – center; “-“ – down ; “+” – up)

-0.42 – defines position of camera back and forward (0 –center; “-“ – forward; “+” – backward)

Additional values which might need to be changed are zoom and angle of camera:

InitialZoom = 0.80 – defines zoom (0.30 - max zoom out)

InitialPbh=-45, 0, 0 – defines angle of camera in degree

Generally process will require tweaking some parameter restarting FSX and examining what it did.

While changing camera position consider that:

- It appears values stating position represent feet (reminder to all metric countries users: 3 feet approximately equals 1 meter)

- If your camera ended up in some weird spot where its even hard to understand what it shows, note that you can move it along three axis with following keyboard commands (given you not eased them previously from FSX control menu:

a) Ctrl + ENETER/Backspace – moves view forward/backward

b) Shift + ENETER/Backspace – moves view up and down

c) Ctrl + Shift + ENETER/Backspace – moves view left and right

That would not be an Advanced User's reference but a programming tutorial, which I am most certainly not qualified to write. If you are volunteering to write one i am sure we will all applaud your efforts!

Generally this would not present a big problem for me, there are however few considerations:

- First (as stated few post back), I am expecting to be leaving soon – which is actually on Monday. I am leaving at sea where I will not have computer or Internet access or even time for that matter. I should be back within week or two than after day or two will leave again. All this is beyond my control and I cannot tell when I will be back for good. This may not be (and probably won’t be) anytime soon - and to write tutorials I would really need time to play with is so I myself have fine understanding of it.

- If you believing “you’re not qualified” that makes me feel “I’m not qualified also”. I'm bot ’t English Literature PhD, novel writer or journalist. I could try is to write some simple word instruction (pdf, txt, doc or whatever) which objective would be to simply allow to someone who is new to program and in a hurry, to understand basic structure and formation of strings allowing manipulating with them. On my own experience I feel that what is needed. Structures are not that complicated, to understand them it could take 20 minutes (instead reading between many pages of Advances Guide back and forth). Fine details of AUG (Advanced User Guide), often result in stretching explanation of concept and ideas between many pages. While reading detailed definition of some structure, by the time reader reach last line, he may forget how the structure even looks like. Frankly, I myself while reading iwas forced to produce myself cheat page, on which I wrote basic things which I felt, are needed to remember. My cheat note ended up half page long. Without it I could not proceed at all. Quick Reference or Tutorial could easily skip all down to gut fine details refereeing anyone needing details to AUG. I could write something and either submitted as text on forum or send to you directly for, revision, edit and approval. Of course all this on volunteer basis free of obligations of ANY sort.

- FSUIPC gives many different options, beyond programming joystick buttons and keyboard keys. For my own purpose at this time programming keyboard and buttons is all I read. I suspecting as I get deeper into FSUIPC options, I myself will want to understand it better for my own use. By reading keyboard instruction alone I can see it refers to things like offsets. If you read part of forum post I gave in previous post you will see, even I have SDK and have it installed, I never dig into it beyond skidding mission building instruction, on which I stuck on part 1 page 4 (not knowing what to do). Because I don’t fully understand what SDK is, I cannot tell are things like offset (or possible other options of FSUIPC to which I didn’t get to yet) are not beyond my capacity.

- Since you said you releasing new version within days, it seems possible it will come with some new options, possible new Guides. I suspecting that, as it often happen, after some time of public exposure and input, you might decide that something need to be changed, fixed modified. Another words version might possibly need some time to become stable. I don’t know how often you are releasing new version and what are your feelings about waiting some time before writing anything? It’s possible that since bugs are rarely predictable, some version may require many fixes while other none – therefore time after release is as good as any.

- Since I expecting to leave and don’t know when be back making any promises would be unwise for me. On other hand I can see, how devoting time by program authors to produce manuals is waste of time, which otherwise could be devoted elsewhere, something which users could easily fill in. I could try writing something, somewhere in the future, if you see such a need and approve idea, with understanding: a)it will not be anytime soon b)I’m not making any promises c) I probably will post my own questions many times long before writing anything.

It also would understand that by devoting my time you are absolutely under no any obligation to use text at all, are free to edit and change it a pleased.

What are your feelings?

Link to comment
Share on other sites

Pete – that worked! Thanks a lot!

Glad you/we found the way, eventually!

If you believing “you’re not qualified” that makes me feel “I’m not qualified also”.

Well, it shouldn't. Trouble with my place in this is that I'm in it too deep and what seems obvious to me is quite the reverse to some, as I find out occasionally in this Forum. So, I stick to what I do best -- programming, and technical support, and try to encourage users to help each other. It works quite well mostly, though no doubt things could be better. But isn't that true of most things?

I could try is to write some simple word instruction (pdf, txt, doc or whatever) which objective would be to simply allow to someone who is new to program and in a hurry, to understand basic structure and formation of strings allowing manipulating with them. On my own experience I feel that what is needed.

...

I could write something and either submitted as text on forum or send to you directly for, revision, edit and approval. Of course all this on volunteer basis free of obligations of ANY sort.

That would be great -- any way you'd like to do it. If you'd like to send anything to me as an attachment, send it to petedowson@btconnect.com.

Since you said you releasing new version within days

Within the next hour or two, in fact.

it seems possible it will come with some new options, possible new Guides.

Well, the 'new' options are (or perhaps were, by the time you get to look) listed in the Changes list in the Updates announcement above, where they've been accumulating over the last three and a half months. This new release is merely the culmination of lots of work, Beta testing and feedback, mostly through this Forum. There's nothing drastically new to anyone who's been keeping up to date here, but there is quite a lot for those who haven't.

What are your feelings?

I would be very grateful for anything you feel you can contribute. Don't worry about the timescale or committing yourself -- no commitments either side, as you say.

Oh, and Bon Voyage!

Best Regards

Pete

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.