PHII33 Posted October 26, 2015 Report Posted October 26, 2015 Pete directed me to this thread. So I looked at it and I'm completely baffled. I printed out all the manuals and can't find what these codes mean, like PD and PA for example. Does anyone know where I can find information on how to learn this stuff? Thanks. There are methods, using 'conditional' assignment coding where you can extend the number of functions assigned to those switches almost indefinitely. I have Saitek dual throttle quadrants, giving me 12 switch positions (2 up-middle-down on each quadrant). My method uses one of those 6 switches as my 'mode up' and 'mode down' controls. Activating those increments or decrements my current 'mode number' that is stored in user-defined offset 0x66C0. The value in that offset is tested against the conditional coding for my other 10 switch positions to determine what assignment is currently being used. On my A2A B-17G implementation I have 9 'modes'. That is 9 different assignments for each of the 10 up/down switch positions. 90 functions. I have a lua script that displays the current assignments when the mode is changed up or down. The display in my case is set to 2 seconds. It can be any number of seconds :) To implement something like this you have to edit the INI file 'by hand'. here is an example of the coding for the first three modes for my B-17G. Note that I use the "[JoyNames] AutoAssignLetters=Yes" specification in my INI file. "CM6" is the FSUIPC4 assigned number for my B-17G MCRO file that defines the L:Variables I use for that aircraft. Note that in Set 2 (Mode 1) I have multiple operations assigned to some of those switches....primer select, fire ext. select, etc, so that by throwing one switch I can activate other related items. This may seem complex but once you have worked with it a bit the coding becomes quite easy. "B66C0=0" is the 'conditional' portion of the coding. So only the lines with that 'condition' will be active IF the value in offset 0x66C0 is 0. [buttons.Boeing B-17G]!1=//SET 1 GENERATORS, FUEL PUMPS, FUEL VALVES, CONTROLS LOCK0=B66C0=0 PD,14,CM6:39,0 ;//TOGGLE ENG1 FUEL VALVE1=B66C0=0 PD,16,CM6:40,0 ;//TOGGLE ENG2 FUEL VALVE2=B66C0=0 PD,18,CM6:41,0 ;//TOGGLE ENG3 FUEL VALVE3=B66C0=0 PA,0,CM6:42,0 ;//TOGGLE ENG4 FUEL VALVE4=B66C0=0 PD,15,C66340,0 ;//TOGGLE FUEL PUMP 15=B66C0=0 PD,17,C66341,0 ;//TOGGLE FUEL PUMP 26=B66C0=0 PD,19,C66342,0 ;//TOGGLE FUEL PUMP 37=B66C0=0 PA,1,C66343,0 ;//TOGGLE FUEL PUMP 48=B66C0=0 PA,2,CM6:45,0 ;//CONTROLS LOCK OFF9=B66C0=0 PA,2,CM6:46,0 ;//CONTROLS LOCK OFF10=B66C0=0 PA,3,CM6:45,1 ;//CONTROLS LOCK ON11=B66C0=0 PA,3,CM6:46,1 ;//CONTROLS LOCK ON!2=//SET 2 STARTERS ENG 1 - 4 CLEAR START & MESH SET 4 PRIMER & PUMP - ALL MACROS20=B66C0=1 PD,14,CM6:5,0 ;//STARTER ENG 1 - SET PRIMER TO ENG 1 MACRO21=B66C0=1 PD,16,CM6:5,2 ;//STARTER ENG 2 - SET PRIMER TO ENG 2 MACRO22=B66C0=1 PD,18,CM6:6,2 ;//STARTER ENG 3 - SET PRIMER TO ENG 3 MACRO23=B66C0=1 PA,0,CM6:6,0 ;//STARTER ENG 4 - SET PRIMER TO ENG 4 MACRO24=B66C0=1 PD,15,CM6:7,0 ;//MESH ENG 125=B66C0=1 PD,17,CM6:7,2 ;//MESH ENG 226=B66C0=1 PD,19,CM6:8,2 ;//MESH ENG 327=B66C0=1 PA,1,CM6:8,0 ;//MESH ENG 428=B66C0=1 PA,2,CM6:5,1 ;//CLEAR STARTER 1/229=B66C0=1 PA,2,CM6:6,1 ;//CLEAR STARTER 3/430=B66C0=1 PA,2,CM6:7,1 ;//CLEAR MESH 1/231=B66C0=1 PA,2,CM6:8,1 ;//CLEAR MESH 3/432=B66C0=1 PA,2,CM6:30,0 ;//SET PRIMER SELCT TO OFF33=B66C0=1 PA,3,CM6:31,1 ;//ACTIVATE PRIMER34=B66C0=1 PD,14,CM6:30,1 ;//SET PRIMER SELCT TO ENG 135=B66C0=1 PD,16,CM6:30,2 ;//SET PRIMER SELCT TO ENG 236=B66C0=1 PD,18,CM6:30,3 ;//SET PRIMER SELCT TO ENG 337=B66C0=1 PA,0,CM6:30,4 ;//SET PRIMER SELCT TO ENG 438=B66C0=1 PD,14,CM6:37,1 ;//SET FIRE EXT. SWITCH TO ENG 139=B66C0=1 PD,16,CM6:37,2 ;//SET FIRE EXT. SWITCH TO ENG 240=B66C0=1 PD,18,CM6:37,3 ;//SET FIRE EXT. SWITCH TO ENG 341=B66C0=1 PA,0,CM6:37,4 ;//SET FIRE EXT. SWITCH TO ENG 442=B66C0=1 PA,2,CM6:37,0 ;//SET FIRE EXT. SWITCH TO OFF!3=//SET 3 MAGNETOS, INVERTERS50=B66C0=2 RD,14,Cx11000892,x00030001 ;//MAG1 INC51=B66C0=2 RD,15,Cx21000892,x00000001 ;//MAG1 DEC52=B66C0=2 RD,16,Cx1100092A,x00030001 ;//MAG2 INC53=B66C0=2 RD,17,Cx2100092A,x00000001 ;//MAG2 DEC54=B66C0=2 RD,18,Cx110009C2,x00030001 ;//MAG3 INC55=B66C0=2 RD,19,Cx210009C2,x00000001 ;//MAG3 DEC56=B66C0=2 RA,0,Cx11000A5A,x00030001 ;//MAG4 INC57=B66C0=2 RA,1,Cx21000A5A,x00000001 ;//MAG4 DEC58=B66C0=2 PA,2,CM6:38,0 ;//INVERTER SWITCH ON59=B66C0=2 PA,3,CM6:38,2 ;//INVERTER SWITCH OFF60=B66C0=2 UA,3,CM6:38,1 ;//INVERTER SWITCH NEUTRAL!10=//CONTROL SET (MODE) INCREMENT/DECREMENT161=PA,4,Cx510066C0,x00080001 ;//INCREMENT 0X66C0 VALUE BY 1, MAX 8 THEN 0, CYLCLIC162=PA,5,Cx610066C0,x00080001 ;//DECREMENT 0X66C0 VALUE BY 1, MIN 0 THEN 8, CYLCLICPaul
Gypsy Baron Posted October 26, 2015 Report Posted October 26, 2015 I have my FSUIPC4 set to use letters for joystick assignments instead of the default numbers, so in the above examples the second letter of the 2-letter code is the Joy# or JoyName as a letter. This prevents problems should Windows re-assign a different number to a Joystick or controller. This statement in the FSUIPC4.ini file forces the use of Letters instead of Numbers. [JoyNames]AutoAssignLetters=Yes The first letter of the pair: 'P' is 'pulse when pressed, a single execution of the following command' 'R' is repeat while held' 'U' is 'pulse when released, the command is executed when the button is released' 'PD,14,' - execute the command when Button 14 of Joystick 'D' is pressed. 'UA,3,' - execute the command when Button 3 of Joystick 'A' is released. The 'conditional' part of the above statements such as 'B66C0=0' indicates that the command is executed ONLY when the value in offset 0x66C0' is 0. The conditional code of 'B66C0=2' indicates that the command is only executed if the value in offset 0x66C0 is 2. I use the 'user-defined' offsets of 0x66C0 to 0x66FF for various purposed. In the cases above, 0x66C0 acts as my 'MODE' switch. 161=PA,4,Cx510066C0,x00080001 ;//INCREMENT 0X66C0 VALUE BY 1, MAX 8 THEN 0, CYLCLIC162=PA,5,Cx610066C0,x00080001 ;//DECREMENT 0X66C0 VALUE BY 1, MIN 0 THEN 8, CYLCLIC The 1st line above is 'unconditional' in that whenever Button 4 of Joystick A is pressed, the value in offset 0x66C0 is incremented by 1, changing to the next 'MODE' (The Cx510066C0,x00080001 part) This is analogous to using the 3-position mode switch on the Saitek gear, but this method allows for more 'MODES' that one could ever need/use. Up to 256 possible 'modes' in this case as 0x66C0 is an unsigned byte (8 bits). The 2nd line decrements the current mode by 1. The coding used here allows for 9 modes as the CYCLIC feature counts up to 8 from 0, then rolls over to 0, or counts down from 8 to 0 and rolls over to 8. The P/D/U codes are explained on Page 19 of the "FSUIPC4 for Advanced Users.pdf". Page 25 begins the discussion on using offsets in conditional statements. This is the document you should be studying when it comes to setting up custom controls and just plain understanding the operations that are possible with FSUIPC4. Paul 1
PHII33 Posted October 26, 2015 Author Report Posted October 26, 2015 May I ask Paul, where did you learn all this? Did you have formal training? I have ben googling all day and night and looking at YouTubes but I can't find anything that even comes close to a method of leaning this stuff. What you typed above seems to make some kind of sense but it's still too much for me. I have no knowledge of scripting and programming at all. All I know how to do is fly as I have been in real-world aviation all my life. I am getting frustrated and might have to give it up and stick with the SST software and send back the X52. If I can't figure out how to get the mode switch to work I have no need for FSUIPC becuase I'll lose 19 button assignments.
Pete Dowson Posted October 26, 2015 Report Posted October 26, 2015 May I ask Paul, where did you learn all this? Did you have formal training? I have ben googling all day and night and looking at YouTubes but I can't find anything that even comes close to a method of leaning this stuff. What you typed above seems to make some kind of sense but it's still too much for me. I have no knowledge of scripting and programming at all. All I know how to do is fly as I have been in real-world aviation all my life. I think you are making this too complicated. It is much much simpler than you appear to be imagining. This stuff is neither scripting nor programming. The lines are simply slightly more elaborate versions of the assignment parameters which FSUIPC normally automatically puts into your settings file (FSUIPC4.INI) when you make an assignment. The parameters are simply formatted values from the assignments, and the format is described in the Advanced User's document installed with FSUIPC. See the FSUIPC Documents folder, inside your FS Modules folder. Each parameter line is one parameter, and is free standing. The only "scripting" type of relationship is that FSUIPC executes the lines in order of the parameter number, the one to the left of the first =. If you look at your current FSUIPC4.INI file you will see you already have the basic lines. All the above more complex looking ones have got extra are conditions, the "B66C0=n" parts, which just say "only do this is byte 66C0 equals n". 66C0 is a user offset and can be set and changed by other FSUIPC assigned controls, those in the "Offset byte" area of the drop down lists. Google and YouTube are not likely to be dealing with individual parameter formats for a program. Pete
PHII33 Posted October 26, 2015 Author Report Posted October 26, 2015 I think you are making this too complicated. It is much much simpler than you appear to be imagining. This stuff is neither scripting nor programming. The lines are simply slightly more elaborate versions of the assignment parameters which FSUIPC normally automatically puts into your settings file (FSUIPC4.INI) when you make an assignment. The parameters are simply formatted values from the assignments, and the format is described in the Advanced User's document installed with FSUIPC. See the FSUIPC Documents folder, inside your FS Modules folder. Each parameter line is one parameter, and is free standing. The only "scripting" type of relationship is that FSUIPC executes the lines in order of the parameter number, the one to the left of the first =. If you look at your current FSUIPC4.INI file you will see you already have the basic lines. All the above more complex looking ones have got extra are conditions, the "B66C0=n" parts, which just say "only do this is byte 66C0 equals n". 66C0 is a user offset and can be set and changed by other FSUIPC assigned controls, those in the "Offset byte" area of the drop down lists. Google and YouTube are not likely to be dealing with individual parameter formats for a program. Pete Hi Pete and thanks. But I have no idea what an offset it, or what B66C0=n means, or an Offset byte is. I'm going through your manual as I type this to try to get this stuff set up and I even notice you mention on page 17 "for programmers among you". I'm not a programmer, that's why I'm struggling. Please remember this is all brand new to me, I do not have a body of knowledge about this that most users do. But I am trying and plodding along. All I wish is that I could have the same functionality in FSUIPC with that stupid Mode switch so I can have triple button assignments. In the Windows 7 Devices window it sees the mode switch move but it's not a number, just a set of three horizontal bars that shows where it is when rotated. I will spend the day mucking about with it and looking at that ini file and try to figure things out but I fear that unless someone comes to my rescue I will not be able to use FSUIPC. I'd gladly pay someone to help me get this set up. Best regards and thanks for being patient.
PHII33 Posted October 26, 2015 Author Report Posted October 26, 2015 Right, I've spent the morning going step by step with the manual. I have assigned functions to buttons. I do have Enable Controller" unchecked in FSX's settings but I am using the commands under the Buttons/Keys tab in FSX. Things are working but I lost 2/3 of my yoke & throttle switch functionality. So I have opened the FSUIPC.ini file and copied the text so far. I have no idea what these codes mean so perhaps you could help me? Or where would I find more information about them? And how exactly do I get the mode switch to be recognized so I can use it as a shift to allow me to program the same buttons? [JoyNames] AutoAssignLetters=Yes 0=Saitek Pro Flight Yoke 0.GUID={6E68D0C0-70D7-11E4-8003-444553540000} 1=Saitek Pro Flight Rudder Pedals 1.GUID={BD42D1F0-70D7-11E4-8005-444553540000} A=Saitek Pro Flight Yoke B=Saitek Pro Flight Rudder Pedals [WideServer] WideFSenabled=Yes [Monitor] [Axes] PollInterval=10 RangeRepeatRate=10 [buttons] PollInterval=25 ButtonRepeat=20,10 3=RA,2,K50,11 4=RA,3,K49,11 6=PA,1,K90,8 7=PA,14,K117,8 8=PA,15,K119,8 9=PA,17,K71,8 10=PA,16,K190,10 11=PA,0,K145,8 12=PA,6,K76,10 13=PA,7,K66,8 14=PA,4,K191,9 15=PA,5,K191,8 16=PA,19,K80,9 17=PA,18,K49,8
Gypsy Baron Posted October 26, 2015 Report Posted October 26, 2015 RA,2 = when Controller "A" button 2 is held, the following command/control is executed continuosly. K50,11 = the code for the KeyStroke combination Shift+Control+2 (Page 20 and 21 of the Advanced Users PDF) So: 3=RA,2,K50,11 ----> Send the keystrokes Shift+Control+2 continuosly as long as Button 2 of the Saitek Yoke is pressed. You really need to become intimately familiar with the contents of the "FSUIPC4 for Advanced Users.pdf" in your FSX\Modules\Documents folder. Even as an 'experienced user' I find the need to refer to that document often, along with the other documents included with the FSUIPC4 installation. It is good that you chose to use the "AutoAssignLetters=Yes" function as this will prevent issues from occuring if Windows decides to re-number controllers for whatever reason. The Saitek Yoke will ALWAYS be Controller "A" and the Saitek Rudder Pedals will ALWAYS be Controller "B". You might also want to consider using the "Profiles" option for the particular baircraft you are setting up the controls for, or use the "Aircraft Specific" checkbox in the FSUIPC4 menus particularly if you will be setting up controls for many different aircraft types. Paul
PHII33 Posted October 26, 2015 Author Report Posted October 26, 2015 Thanks Paul, it looks like it's a matter of matching up what's in the advanced document with what is shown in the ini. Becoming intimately familiar with the contents of the "FSUIPC4 for Advanced Users.pdf is daunting. That's a lot of stuff to cross reference. I'm going to try to keep at it but I see frustration in my future and just giving up the whole works and staying with Saitek's SST. I've been at it all day and I still have no idea what I'm doing. I haven't even gotten to the point where I assign axes yet. The regular manual is over my head. It really is. I don't know how you guys do it.
SenorRaj Posted November 26, 2015 Report Posted November 26, 2015 RA,2 = when Controller "A" button 2 is held, the following command/control is executed continuosly. K50,11 = the code for the KeyStroke combination Shift+Control+2 (Page 20 and 21 of the Advanced Users PDF) So: 3=RA,2,K50,11 ----> Send the keystrokes Shift+Control+2 continuosly as long as Button 2 of the Saitek Yoke is pressed. You really need to become intimately familiar with the contents of the "FSUIPC4 for Advanced Users.pdf" in your FSX\Modules\Documents folder. Even as an 'experienced user' I find the need to refer to that document often, along with the other documents included with the FSUIPC4 installation. It is good that you chose to use the "AutoAssignLetters=Yes" function as this will prevent issues from occuring if Windows decides to re-number controllers for whatever reason. The Saitek Yoke will ALWAYS be Controller "A" and the Saitek Rudder Pedals will ALWAYS be Controller "B". You might also want to consider using the "Profiles" option for the particular baircraft you are setting up the controls for, or use the "Aircraft Specific" checkbox in the FSUIPC4 menus particularly if you will be setting up controls for many different aircraft types. Paul Hi Paul, I have read your many posts on this forum as well as a couple of others. I cannot thank you enough for all the knowledge you have imparted selflessly on a regular basis. I use your offset 066C0 method of conditional button programming on a couple of jets I fly, but 3 is about the limit of button states I can just about remember. i know you posted some time back about how you use a snippet of code to display your new controls on screen when you switch modes. I have tried various ways of implementing this, but with absolutely no success. I have modified one of Pete's examples to display certain feedback info on screen but cannot for the life of me adapt it to work with offset button modes. I would really appreciate it if you could share the code you use to perform this highly useful function. Hopefully, Paul
Gypsy Baron Posted November 26, 2015 Report Posted November 26, 2015 Hello Paul, Here is the Lua script I use for displaying my control mappings for the A2A Piper Cherokee 180. When offset 0x66C0 changes (the 'mode' number for the conditional statements) it calls (executes) the function to display the current mode data in a Lua Display window whose position and size are set by "ipc.setdisplay( )" line. The function then displays the lines that match the current mode number (values in 0x66C0) function DispP180(offs, val) -- Adjust the Control Set to a 1 to 8 range. val is 0 to 7 in 0x66C0 conset=val+1 -- Define the positon and size of the Lua Display on the screen ipc.setdisplay(870, 550, 500, 100) if val == 0 then ipc.display("MAG LEFT _ MAG RIGHT _ FUEL PUMP _ BATTERY _ AVIONICS ON\nMAGS OFF _ MAGS BOTH _ STARTER _ PRIMER _ AVIONICS OFF\nControl Set = "..conset, 10) end if val == 1 then ipc.display("BEACON _ LAND LIGHTS _ TAXI LT _ NAV/INS LT _ STROBE\nPITOT _ FUEL CUTOFF _ FUEL L _ FUEL R _ SPARE\nControl Set = "..conset, 10) end if val == 2 then ipc.display("AP CHART _ RED LT _ DOME LT _ HEAT _ VENT\nANR75 _ RADIO LT _ HPHONES _ DEFROST _ VENTS\nControl Set = "..conset, 10) end if val == 3 then ipc.display("NAV1 SWAP _ COM1 SWAP _ COM/NAV1 PWR _ ADF PWR _ DME POWER\nNAV2 SWAP _ COM2 SWAP _ COM/NAV2 PWR _ GPS PWR _ DME MODE\nControl Set = "..conset, 10) end if val == 4 then ipc.display("AP ON _ AP ALT _ HDG DEC _ HDG INC _ ALT UP\nAP MODE _ SPARE _ TURN LT _ TURN RT _ ALT DN\nControl Set = "..conset, 10) end if val == 5 then ipc.display("OBI 1 INC _ OBI 2 INC _ ADF CARD INC _ NAV/GPS _ APPR\nOBI 1 DEC _ OBI 2 DEC _ ADF CARD DEC _ HDG _ REV\nControl Set = "..conset, 10) end if val == 6 then ipc.display("NAV1 SPKR _ NAV2 SPKR _ DME SPKR _ MKR AUDIO _ NAV1 IDENT\nNAV1 HDPH _ NAV2 HDPH _ DME HDPH _ ADF AUDIO _ NAV IDENT\nControl Set = "..conset, 10) end if val == 7 then ipc.display("MKR LAMP TEST _ TEL SPKR _ COM1 SPKR _ COM2 SPKR _ XPDR MODE\nMKR SENSITIVITY _ TEL HDPH _ COM1 HDPH _ COM2 HDPH _ XPDR IDENT\nControl Set = "..conset, 10) end end event.offset(0x66C0,"UB","DispP180") This script handles 8 'modes'. For any more or less, simply follow the method above. Note that I use 2 lines to display my 10 switch mappings on my Saitek Dual Throttle quads. Switches 11 & 12 are my 'mode increment and decrement' switches. So, I have 5 switches in the upper row and 5 below them, thus I format the display readout to show the 5 top and 5 bottom mappings. Note that the character pair \n causes a new line to be started. I insert the necessary number of spaces to align the upper and lower display fields to get a display like this below: MAG LEFT _ MAG RIGHT _ FUEL PUMP _ BATTERY _ AVIONICS ONMAGS OFF _ MAGS BOTH _ STARTER _ PRIMER _ AVIONICS OFFControl Set = 1 I assume you alreadt have the code in your INI file to increment/decrement the 0x66C0 value but I will show it here where I use switch 4 & 5 on my "A" controller (one of my Saitek Throttle Quads) to do the mode switching. 200=PA,4,Cx510066C0,x00070001 ;//CONTROL SET INC Max = 7 Step = 1201=PA,5,Cx610066C0,x00070001 ;//CONTROL SET DEC Max = 7 Step = 1 The last part of each 'ipc.display' statement \nControl Set = "..conset, 10) displays the current mode number (conset) in the range 1 to 8 while the actual input value is 0 to 7. Note the new line \n then the text Control Set = and a single quote " which closes out the literal text display which began at the first single quote after ipc.display( The two periods before conset are required to have the value of conset displayed. The 10 after the comma defines the time for the text lines to be displayed, in seconds. Note that the event.offset statement must be located AFTER the function that it calls. In the above case there is only one but I usually have several functions defined for a given aircraft to display data as events occur or things like rudder trim are adjusted. Here is an example: function Disp_Rud_Trim(control,Dummy) if Rud_Trim_last == nil then Rud_Trim_last = 0 end RTrim_in = ipc.readSW(0x0C04) Rud_Trim = (round(RTrim_in/163.83))/10 -- Only display the trim value if it is different from the last one by 0.05 -- to prevent displaying values caused by 'jitter' or noise. Increase the -- test value from 0.05 as necessary if you have a very noisy rotary! if (Rud_Trim > (Rud_Trim_last + 0.05)) or (Rud_Trim < (Rud_Trim_last - 0.05)) then ipc.display("Rud Trim = "..Rud_Trim, 1) end Rud_Trim_last = Rud_Trim end -- rounds the integer function round(num) num = tonumber(num) if num == nil then return 0 end if num >= 0 then return math.floor(num+.5) else return math.ceil(num-.5) end end event.offset(0x0C04,"SW","Disp_Rud_Trim") Note that lines which start with -- are interpreted as comments.. I believe that they can also occur at the end of a line as well but I tend to put my comments on separate lines for ease in reading the code. So, if I included that Rudder Trim function in the same script as the Control Set display the two event statements would be located below all of the function code. An example from my script showing the triggers for several functions: event.offset(0x66C0,"UB","DispP180")event.control(65607,"Disp_El_Trim")event.control(65615,"Disp_El_Trim")event.offset(0x0C04,"SW","Disp_Rud_Trim")event.offset(0x66D0,"SW","Mixture_Lever") The two elevator trim events are for sensing the trim UP and trim DOWN events which I have mapped to switches whereas the rudder trim event is driven by an axis (a rotary) and the mixture by a lever which is sent to the user defined offset 0x66D0. The above examples and info should give you some more insight in to using more of the power of FSUIPC4 programming and the Lua scripts. Let me know if you have any questions or problems implementing the above functions. Glad to be able to help! BTW, I see you are in Galway. My ex-wife lives in that area: TinageeraghKilnadeemaLoughrea, Co. Galway Paul
SenorRaj Posted November 28, 2015 Report Posted November 28, 2015 Thank you so much Paul, you really couldn't have been more thorough, but that seems typical of you. I don't want to go overboard, but you truly are an invaluable asset to the Flight Sim community as far as I can tell in my 8 or 9 months since I got serious about FSX. I honestly don't know how you manage 8 or 9 modes on the one plane- I had to print out a diagram of my yoke and quadrant for each of the 3 modes when I first implemented your method. And it was after seeing what was possible by delving into the more advanced depths of FSUIPC. Just out of interest, you seem to come from a Naval background- is the where you learned to program or are you self-taught? Funny that you ex-wife lives near Loughrea, if you've ever visited you'll know that it's only about a 20-30 min drive from Galway. I'd be interested to hear if you ever visited our little coastal town. Quite a contrast to California, weather-wise in any case. I've never made it to the West Coast myself, Chicago being the furthest I've managed. I love my ocassional visits over there, I've been to Flushing Meadows for the tennis twice- I'd take it over Wimbledon any day! Anyway, I've rambled on as usual, so I just want to thank you so much again. I may have a follow up question or two, but I'll definitely print it out and study and experiment with it long and hard- it's the only way to really learn (says the guy who straight out asked for the code in the first place!!). Best wishes and I hope to chat to you again, Paul
Gypsy Baron Posted December 1, 2015 Report Posted December 1, 2015 Paul, Sent you a PM to reply to your questions that aren't FSUIPC4 related :) Paul
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now