Jump to content

anthony31

Commercial Member
  • Content Count

    484
  • Donations

    $0.00 
  • Joined

  • Last visited

Everything posted by anthony31

  1. Thanks for letting us know about this product.It's the first I have heard of it.I downloaded the demo and it certainly seems to work rather well (just like AFX but inside FSX)It still has the terrible problem where runways must be at least 1m wide, I must post a complaint on the F1 forums about this, I'm sick of having to load an airport into ADE just to reduce the runway width so it doesn't mess up my PR textures.One thing I am interested in is the ability to create airport fence lines in FSX, much easier than linking AFX to FSX and then slewing about trying to transfer points from FSX to AFX so I can add in the lines later.I will have to buy the full version soon (not too expensive either at $19,95)
  2. Just did a quick test on this and can confirm that it is probably an effects file.In the attached picture I have edited an effects file so that one of the variables has it's parameters as 34,0 (which is not how FSX likes them, the first number must be less than or equal to the second). You can see the line in the notepad window directly above the error message (X Emitter Velocity=34.00,0.00).And that brings us to the error message which looks a lot like Tomaz's description.It's a pity FSX doens't tell us which fx file has the problem so if anyone runs into this they would have to search through all their fx files (or at least the ones installed latest) for the problem.
  3. Possibly a problem in an effects file.Effects files can have two parameters for each variable and FSX will randomly generate a number between the two parameters. But, the first parameter must be less than the second parameter otherwise you will get an error message.If an effects file has 34,0 as the parameters for a variable then this may generate the error you describe as the first number (34) is greater than the second number (0) which won't work in effects files.
  4. It's not just related to bloom Noel. I don't use bloom (not enough free framerates) but I first noticed this behaviour with the RealAir Duke where the framerates would dramatically drop when the mouse pointer is active and jump back up again when the mouse disappeared. Now that I am aware of it I notice it more in other aircraft. Just another one of those quirks of FSX I guess :)
  5. You forgot to add the Window04 entry into the [Window Titles] section at the top. FSX needs that to know that there is a new window available. Something like this may work:[Window Titles]Window00=Main panelWindow01=HMDWindow02=Default Radio StackWindow03=Default GPSWindow04=PFDBy the way. Here is a tip for you.If you run FSX in windows mode you can open up the panel.cfg file, make some changes and save it and then using the reload aircraft command (I think it is crtl+shift+r but you should check this in the key assignments in FSX 'cause I use a lot of non-standard key assignments so I may have changed it) you can check how your changes work. You can then go back and tweak the panel.cfg and then reload the aircraft. It is a hell of a lot quicker than having to restart FSX every time.
  6. God no, don't do that.You are correct that a 2D panel is named Window and VC parts are Vcockpit but you shouldn't rename your Vcockpit entries to Window. Leave the Vcockpit entries alone otherwise the VC will be stuffed.What you need to do is add a new entry in the Window Titles such as this:Window04=Instruments That lets FSX know that there is a new 2D popup window.Next you must define the 2D popup window [Window04]BACKGROUND_COLOR=2,2,2size_mm=1024,512position=7visible=0ident=12000gauge00=f35!mfd1, 0,0,512,512gauge01=f35!mfd2, 512,0,512,512 This gauge should display the two mfd gauges side by side.Here's how it works:ident can be a special word or a number between 10000 and 19999. I just randomly chose 12000position is 0 to 8 and tells where to put the gauge on screensize_mm is the size of the gauge. I just put in 900x512. You're going to need to do some tweaking of this number.gauge00 tells what gauges to put in (eg f35!mfd1 etc). Make sure the numbers are in order and there are no duplicates otherwise it won't work.The important thing is the four numbers after the gauge name, the first two define the x and y coordinates on the gauge (whose size is defined by size_mm), the last two digits define the size that the gauge should be drawn as, in this case 300 wide by 512 high. Again you're going to need to do a lot of tweaking of these numbers as well to add in the other gauges.Basically what you are doing is creating a panel with size_mm and then telling FSX what gauges you want displayed (the gauge00 lines), where you want them (the first two coords) and what size to make them (the last two coords). It's going to take a bit of tinkering but you should be able to create a 2D panel for this aircraft. If in doubt you can refer to panel.cfg of the default aircraft or try reading this document http://msdn.microsoft.com/en-us/library/cc526956.aspx it is the panel.cfg documentation for Microsoft's ESP (which is the commercial version of FSX) and appears to say much the same as the FSX documentation.
  7. As Greg says FSRecorder is what you want.It will do exactly what you require although it will involve reading the manual to understand how it works.
  8. Hi SimeonThere are two main programs that allow you to make changes to the .air files. One is aired and the other is aircraft airfile manager (aam) and you should be able to get both from here:http://hsors.pagesperso-orange.fr/fsairfile.htmlOtherwise try searching the library for the files.Personally, I recommend aam as it is easier to use but others like aired. Both are free though so you can try each out to see which works best for you.
  9. As promised here is the final code of the gauge. I've commented the hell out of it because in 6 months time I will probably come back to it and need to know what I did (so I don't have to relearn everything from scratch).It's written as a subgauge of a multi gauge (just like in the SDK examples) so you would need to set up the main source file, header file and resource file appropriately. Most of the gauge is just setting the gauge up so that it works in FSX. There are only a handful of lines that actually send the panel information. I'm also not so sure that this is the best way to write the gauge. I'm just a beginner so I'm certainly no guru.I spent quite a bit of time trying to figure this all out so if this example saves someone else a bit of time or helps them understand the dark mystical art of C++ FS gauges then that would be a good thing. // Set up gauge header. The Gauge name is PanelCheckchar panelcheck_gauge_name[] = GAUGE_NAME;extern PELEMENT_HEADER panelcheck_list;// extern MOUSERECT panelcheck_mouse_rect[]; // No mouse rect needed for this gauge so commented outGAUGE_CALLBACK panelcheckcall; // Calls the Main procedure that does all the workGAUGE_HEADER_FS700(GAUGE_W, panelcheck_gauge_name, &panelcheck_list, NULL, panelcheckcall, 0, 0, 0);// Changes to the usual header// Inserted NULL as we don't have the Mouserect// Inserted panelcheckcall which seems to be needed for the Gauge_Callback int panel_ident; // Variable that holds the result of the window visible check. Could have made this a local var in the panelcheckcall but I didn't// Main procedure that does all the workvoid FSAPI panelcheckcall(PGAUGEHDR pgauge, int service_id, UINT32 extra_data){ int return_value=0; // Holds the return value from execute_calculator_code. Nothing else is done with this var // Now we use a case statement to check the service_id and put our code into the PANEL_SERVICE_PRE_UPDATE so that it executes every tick switch(service_id) { case PANEL_SERVICE_PRE_UPDATE: // This is where we put all the logic (everything else is just setting up the gauge to actually work) // This is the logic I used but you can do any sort of processing you need to return the results you need // Writes the status of panel 15532 (change this to the panel ID you need) into panel_ident. 1 if the window is open, 0 if it is closed. panel_ident=is_panel_window_visible_ident(15532); // Now we check the result (a smarter person would skip writing into panel_ident and just check is_panel_window_visible_ident directly) if ( panel_ident == 1 ) // Panel is visible so set transfer to 0. Value is set to 0 and not 1 as it removes // the need for the XML gauge to be dependant upon the C gauge working. // If the C gauge is not working the transfer value will still be 0 and the XML will still work. { execute_calculator_code("0 (>L:EKP_Visible2D, number)", NULL, &return_value, NULL); } else // Panel is not visible so set transfer to 1 { execute_calculator_code("1 (>L:EKP_Visible2D, number)", NULL, &return_value, NULL); } break; } }// It seems we need a background image in every gauge we make so here is a blank one with NULL instead of a BMP referenceMAKE_STATIC( panelcheck_background, NULL, NULL, NULL, IMAGE_USE_ERASE | IMAGE_USE_TRANSPARENCY, 0, 0,0)PELEMENT_HEADER panelcheck_list = &panelcheck_background.header;/////////////////////////////////////////////////////////////////////////////// Not sure if these undef are needed but they were in the original SDK.temperature gauge so I left them in here.#undef GAUGE_NAME#undef GAUGEHDR_VAR_NAME#undef GAUGE_W  
  10. Thanks BillMy problem now is getting this all into a simple gauge.What I started with is the SDK.temperature gauge and the code I made sits in one of the functions that the MAKE_STRING macro calls.I need to get it out of that macro and into something that just runs. Looks like I need to do some research on PANEL_SERVICE commands.Did I mention this is the first ever C gauge I have made that actually works? :) So, I know nothing and I'm really trying to learn a lot of stuff real quick.I've contacted Doug Dawson and he was kind enough to send me his gauge so I will have a look at that and see what I can learn.
  11. Sorry about all the font troubles in the previous reply :)I think I have worked it out. I think the process of posting the question got my brain working in a different way and I was able to figure out where I was going wrong.here is what I have now and it seems to be working (although there are some things I really need to change)panel_ident=is_panel_window_visible_ident(15532);panel_ident2=panel_ident;if ( panel_ident == 1 ){execute_calculator_code("1 (>L:Transfer, number)", NULL, &panel_ident, NULL); }else{execute_calculator_code("0 (>L:Transfer, number)", NULL, &panel_ident, NULL); }panel_ident holds either 0 or 1 depending if window 15532 is closed or openpanel_ident2 is just a temp holding spot which I should delete.the if statement checks if panel_ident is true ie the window is open and writes 1 into L:transferthe else statement writes in 0 to L:transfer indicating the window is closed.I should also change the &panel_ident values in both execute_calculator_code lines.When I write something neater I will post it here again.
  12. Well, after messing about with C I've got a gauge that displays if a particular window is open or not and it works quite well.This simple line checks if window ident 15532 is open and returns 1 into panel_ident if it is or 0 if it ain't panel_ident=is_panel_window_visible_ident(15532); My problem now is transferring that information back into an XML L: variable.Here is Dai Griffiths advice on how to do it: "To reverse the procedure and write to the XML variables, use the following piece of code. execute_calculator_code("(>K:<kvar>)", NULL, &return_value, NULL); "So this is what I did: [font="Courier New"][size="2"][font="Courier New"][size="2"][font="Courier New"][size="2"][font="Courier New"][size="2"]panel_ident=is_panel_window_visible_ident(15532);panel_ident2=panel_ident;execute_calculator_code([/size][/font][/size][/font][font="Courier New"][size="2"][color="#a31515"][font="Courier New"][size="2"][color="#a31515"][font="Courier New"][size="2"][color="#a31515"]"(>L:Transfer, number)"[/color][/size][/font][/color][/size][/font][/color][/size][/font][font="Courier New"][size="2"][font="Courier New"][size="2"], NULL, &panel_ident, NULL); [/size][/font][/size][/font][/size][/font][/size][/font] I'm copying panel_ident into panel_ident2 so I can print out panel_ident2 in the C gauge to check things are working. Also using the execute_calculator_code resets panel_ident to zero (which is supposed to indicate a successful transfer)Checking L:Transfer though in my XML gauge shows it as zero. Hmmm, obviously something I am missing.If anyone has any ideas on how to get the panel_ident value into L:Transfer it would be the missing piece in the puzzle.Thanks.
  13. Thanks for the reply Rob.It looks like I will have to go down the C route. I'll download your ground handling gauge so I can get a feel for how it should work.
  14. Hello againI am making a gauge (in XML) and I would like to be able to check if it is visible as a 2D popup. The problem is that the gauge also appears in the virtual cockpit so using the <update hidden="no"> command won't work as From a brief read of the SDK it appears that C gauges can use the is_panel_window_visible_ident function. It would be really nice if there was a similar function in XML but if there is I can't find it which is why I am asking the question.It may be that I have to write a C gauge just to check the panel window is visible and then transfer that value back to xml.Thanks in advance for any info.
  15. or you can click on "Enable changes in Selected Mission (no rewards given)" on the mission selection screen if you don't mind not receiving any rewards. Clicking "Enable changes..." will allow you to select a different aircraft once the mission has loaded.
  16. Well, I have a go at seeing what works and doesn'tPaul (pve) is 100% correct ! (and the SDK is wrong, again :) )%((@c:WaypointAirportFrequencyName) 0 11 ssub)%!s!outputs the first 11 characters of the frequency name and is just what I was looking for (and works a treat).It seems then that ssub can take 3 parameters.The first being the string.The second is the number of characters to start extraction from (with 0 being the left most)The third being the number of characters to extract.I don't know whether the example that Bill quoted above in the SDK actually works or not. I've never had a need to do what the SDK example describes.BTW In case anyone was wondering. The only time I have found the frequency name being longer than 10 characters is ay big airports where they might have a "Clearance Pre-Taxi" frequency name.Thanks for everybody who replied. Much appreciated.On another note:Here are some examples of messing with the !s! output character that I tried to see if I could get the result I was after. I thought I would try a decimal place and see what effect that had. It looks like the decimal will extract a substring but starting from the right (it would have been more useful if it started from the left). I don't know why anyone would want to just display a subset of characters from the right hand side but if you do try putting in a decimal place into the !s! Freq name = is the value being returned from (@c:WaypointAirportFrequencyName)output is what is displayed on screen"-" indicates a blank space added to the output%((@c:WaypointAirportFrequencyName))%!5s! Freq name = "Approach" output "Approach" Freq name = "Atis" output "-Atis"5s simply adds leading spaces to fill the string to a minimum of 5 characters%((@c:WaypointAirportFrequencyName))%!.5s! Freq name = "Approach" output "roach" Freq name = "Atis" output "Atis".5s will extract the 5 right most characters from the string. It will not add leading spaces to strings less than 5 characters long.%((@c:WaypointAirportFrequencyName))%!10.5s! Freq name = "Approach" output "-----roach" Freq name = "Atis" output "------Atis"10.5s extracts the 5 right most characters from the string and then adds leading spaces to fill the string to 10 characters.
  17. Thanks for the ideas guys.I'll try the suggestions and see what works best.The other crude way I was thinking of was to just to duplicate the element and only output the string and then limiting the x size prevents any overlapping (I did say it was crude didn't I ?).
  18. Hello allI was wondering if anyone new of an easy way to display only the first 12 characters of a string. I know the hard way would be to create a loop and output a character at a time but I'd like to try to avoid that if I could.I'm trying to output to screen a GPS waypoint frequency name ( %((@c:WaypointAirportFrequencyName))%!s! in the code snippet below). The problem is that on rare occasions this string can be rather long and can end up messing up the tabs in the rest of the line and thus messing the formatted text. I was hoping there would be an easy command that would just return the first 12 (or whatever number i enter) characters. I tried %!12s! but that just fills the string with blank space to make it a minimum of 12 characters long.Thanks for any help you can provide. <Element> // FREQUENCIES Right Column <Visible>(L:EKP_AirportPage,number) 0 ==</Visible> <Position X="230" Y="244"/> <FormattedText X="220" Y="493" Font="Courier New" FontWeight="800" FontSize="20" VerticalAdjust="Center" Color="0x598a59" Bright="Yes" Tabs="0,120"> <String> %((@c:WaypointAirportFrequenciesNumber) s2 21 >) %{if} %(22 sp1) %{loop} %(l1 (>@c:WaypointAirportCurrentFrequency)) %((@c:WaypointAirportFrequencyName))%!s! %((@c:WaypointAirportFrequencyLimit))%{case}%{:1}\{dpl=RX}%{:2}\{dpl=TX}%{end}\t %((@c:WaypointAirportFrequencyValue,Mhz))%!3.2f!\n %(l1 ++ s1 l2 <) %{next} %{end} </String> </FormattedText> </Element>
  19. Well, the airport altitude is 82ft and directly west of the airport is the ocean (0ft altitude) so the ground needs to get from the airport flatten of 82ft down to 0ft pretty quickly. The airport flatten ends at around the edge of the cleared grass area (where the fence line is) and that is pretty close to the shoreline.How quickly the terrain changes and what you will see all comes down to your personal terrain mesh resolution settings. At 5m I have a nice cliff edge, maybe not realistic when compared with the real world (although I don't know what the real world is like) but looks acceptable. At 38m though it all gets a bit ugly with water patches at the top of the slope. There's just not enough space between the edge of the airport flatten and the ocean for the 38m resolution to bend the terrain neatly.Try messing with your terrain mesh resolution settings to see what changes it makes. (Under menu Options/Settings/Display and then tab Scenery)
  20. Where did you read that Rick (could you provide the link please)?I could only find this from the product page at http://www.carenado....duct&correl=57?Technical Requirements:Windows Vista or 7 (32 or 64 bits)Microsoft Flight Simulator FSX with SP1 and SP2 (or Acceleration Pack) installed.Pentium V/2GHz or similar – 2GB RAM – 512MB graphics card.260MB available hard disk space. EDIT: IGNORE THE ABOVE. I just went back to the website, exited out of the product page and went back into the Baron product page and it now says:Technical Requirements:Windows XP with SP3 installed, Vista or 7 (32 or 64 bits)Microsoft Flight Simulator FSX with SP1 and SP2 (or Acceleration Pack) installed.Pentium V/2GHz or similar – 2GB RAM – 512MB graphics card.260MB available hard disk space. So it looks like Carenado maybe edited the webpage and updated the Technical requirements to include Windows XP with SP3.
  21. I noticed this on the screenshots on the Carenado website. The turn indicator on my Carenado Saratoga (the only other Carenado plane I own) has the same issue.This quote from the Falcon Gauge Turn Coordinator manual explains how it should operate:"When the aircraft power is activated to the instrument, observe the functionalindicator on the right-hand side of the instrument face. It must turn from red toblack to indicate the instrument is operating normally. If the functionalindicator remains red or becomes red in flight, the instrument should not berelied upon for flight information."
  22. Nope, I just use the plain old notepad++ v5.8.7 which seems to work with xml just fine for me. Haven't really had a chance to look at all the tools and plugins yet either as I only downloaded it a couple of weeks ago.
  23. Thanks BobJust so happens I am working on a GPS gauge at the moment and trying to decipher the default GPS xml code to try to work out what is what so I'm sure your guide will be a big help.Plus, if anyone doesn't have Notepad++ yet get it. It's great for writing XML.
×
×
  • Create New...