Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Team_P3DSpacePort

Commercial Member
  • Joined

  • Last visited

Everything posted by Team_P3DSpacePort

  1. Thanks everyone. I started a week ago and covered quite a bit, but I need to at least reach the jungle so I can blend with the default textures. I am closely watching the size, now at 110Mb, because AVSIM has a 500Mb limit. That will also determine the extent of the reach.
  2. Here are the first shots of the up and coming freebie PhotoReal scenery of Kilimanjaro, Tanzania. Tools used: TerraBuilder FSX, SBuilderX (road exclusion poly), FSX SDK. Cheers, Misho
  3. Hi Everyone! We'd like to anounce a release of TerraBuilder FSX, an easy-to-use Photo Realistic scenery designer for FSX. It is geared towards assembly of pre-downloaded sequence of photo realistic images into one coherent scenery, as opposed to using one large image as a source. It is perfect for creating small, localised, high-resolution sceneries of airports, urban areas, landmarks etc. FSX is payware, but the unregistered version lets you create a single-image scenery (up to 2880x2880 pixels including water and blend masks) so you can freely try and decide for yourself. Also, unregistered app is fully featured, but it will save only a single image and its masks. Check it out at www.terrabuilder.com - there is a complete, clear manual and a tutorial available for download, to quickly get you started on photorealistic scenery design on FSX. Cheers, Misho
  4. I am using FREEZE_... events to disable the flight model with SimConnect client controlling the positioning of my object. How does the surface interaction work in this case? Is it still active? For example, if I land my SimConnect-controlled helicopter on a slope, will the contact points still "sense" the slope and tilt the aircraft accordingly? or will it stay level, and just sense the ground underneath? Or, the worst case, will it ignore the ground and just keep falling towards the center of the earth?
  5. Bill, I got tons of lines of VB/InstallShield code :) that reliably looks up the registry where FS is installed - I use it for Installation/Registration ops. Let me know if you need a snippet.
  6. Well, it all comes down to having an artistic skill, and being on speaking terms with PhotoShop :). There is no one way of "teaching" you to create a panel if you don't have those skills.The best way (for me) is to design a "blank" (cockpit dashboard layout without gauge "holes") in 3D using 3DS MAX, render it with all the fancy shadow settings and convert it into an 8-bit bitmap. This yields a nice, realistic looking panel... If you have the right filters/materials, you can make it looking worn/new/modern/vintage etc. Also - the 3D model is also ready to be converted into a VC cockpit that would match perfectly to the 2D panel.
  7. OK, I wrote some code to call KEY_ENGINE_AUTO_SHUTDOWN and shut down the engine when fuel is low but not completely gone. Now - when I try to re-start the engine (with next to nothing in the gas tanks) it starts up, and then immediately shuts down, all with a LOT of white and dark smoke - as if the combustion is incomplete (what is that effect, btw?). I don't want that effect, so I need to trap the engine autostart sequence and block it while the fuel level is low.What's the best way of trapping an event and BLOCKING it from reaching FS until the certain condition is met? The event I want to trap is KEY_ENGINE_AUTO_START. Also - what's the syntax/method for setting up and calling a gauge initialization routine?
  8. Hi Doug - no, this is still FS9, but eventually I'll port it to FSX. I noticed that they are stored as integers in percentage numbers... is that what you were refering to?Also, wouldn't this behaviour exhibit in the default aircraft if the case was as you explained it? I thought my changes to CFG did something that resulted in this problem.
  9. Note to self: :)After a good night's sleep and a hearty bowl of corn flakes, I realized that I could call KEY_ENGINE_AUTO_SHUTDOWN event just before the fuel is completely exhausted (say, 1% remaining) and force the engine shutdown until the fuel quantity gets above 1%... I'll give that a try and see if any other "gotchas" crop up...
  10. I've come across an odd problem, and I'm unable to get past it. I used a default Cessna flight model and heavily modified the CFG file to use it as a land vehicle. I've worked out almost all the kinks and bugs, except one:When I run out of fuel, the engine shuts down. If I re-start the engine on empty tanks (without refueling), the vehicle takes off like a bat out of ####, does a wheelie on its rear axle and literally takes off - at which point, the system freezes. Not just a "The FS has stopped responding" message, but a nasty, all-out lockup, requiring a power down of the computer. Now, I know I've heavily modified and hacked the CFG (and AIR) file, so things are probably out of whack, but does anyone know what's going on in this case, and how to remedy that behavior? Any help would be much appreciated!Misho
  11. No problem, Rob - the gauge is indeed C (.gau) type, and I got it going now... all it needed was a "bogus" graphic element (as in, tiny transparent background without mouse interaction) for it to be "visible" to FS.
  12. Thanks Bill! That worked nicely! Looks like there has to be at least one grapgic element for the gauge to be valid...
  13. Ok, so I thought I set this up properly:I created a "Control" gauge using the following declaration:GAUGE_HEADER_FS700(GAUGE_W, control_gauge_name, 0, 0, ControlCallBack, 0, 0, 0);ControlCallBack is a callback function where all the processing is done. The global variables are declared as externs in all the gauges. The whole set up compiles nicely, no warnings or errors. I declared it in the Panel.cfg, but when I start FS, I get a crash screen right at the startup splash screen. When remove the "Control" gauge references from panel.cfg, FS starts up normally (but the custom processing is missing, of course)What am I doing wrong?
  14. Thanks Rob, yes this is FS9 C (.gau) gauge. I was thinking of the same thing - to group the processing into a common, non-display gauge.
  15. thanks Bill! That's what I was thinking needs to be done. I'm just concerned with the same code executing twice, or unnecessarily. I might look into grouping the processing functionality into a "common", non-display gauge and call it from both 2D and 3D panels.
  16. I have a few custom (as in, non FS-native) parameters that are processed in 2D gauge cockpit. They are also referenced (but not initialized or processed) from the 3D gauge versions intended for VC. If I start the sim in the VC and don't activate 2D panels, the parameters are inactive, and stay dormant until the 2D panel is accessed. How can I kick-start them by default? One way I was thinking is the "dummy" VC panel that references the 2D gauges but doesn't draw them. Is there a better, more elegant way?Thanks!
  17. Hi Dai!Thanks for the info - I'll keep that in mind! Last night I implemented latest suggestions from Bill and Ed and now my gauge is finally working as advertised! I noticed a few forehead slappers I did ( I was calling hiding/showing in every cycle) but now that's been adressed and the gauge is behaving as it should! Thanks everyone!
  18. hmmm okay - as I mentioned before, this is a FS2004 gauge, so I might not be able to use these extensions...I'll test out the OFF_SCREEN macro to see if that takes care of it...
  19. Thanks, Bill and Ed! Bill, the code you pasted above makes sense except for the SHOW_LISTELEMENT macro - I get an undefined on it...must be something extra defined in the "new" gauges.h file. I am working with a stock FS2004 setup. Nevertheless, I have figured it out, with one wrinkle outstanding. I have set up my gauge with a MAKE_STATIC background (with transparent bitmap) and a MAKE_ICON member for gauge panel, working as a 2-position switch. On top of that, I have a MAKE_SLIDER element that is moving along the scale drawn in the MAKE_ICON bitmap. Then, I defined a gauge callback (thanks Ed!) that looks like this:static void FSAPI callBack(PGAUGEHDR pgauge, int service_id, UINT32 extra_data){ if(bShow) { SHOW_IMAGE_TREE(pgauge->elements_list[0]); } else { HIDE_IMAGE_TREE(pgauge->elements_list[0]); }}This basically does exactly what I wanted it to (without the need of element callbacks), except for one nagging thing: The MAKE_SLIDER bitmap, when it is hidden, is replaced by a "ghost" artifact bitmap, in the same position and size as the slider, but it looks as if it is carved out of its background, MAKE_ICON bitmap. Is there something I'm missing? Why is this little piece left behind? Is there something I need to call, akin to "Invalidate region"? I tried a few different ways of doing the same thing, including individual calls to SHOW_IMAGE on all 3 elements, and breaking down to callbacks in the MAKE_SLIDER and MAKE_ICON elements, all with the same artifact left behind...Thanks in advance,
  20. Yup, I know it is the example of the "lookup_var" usage, but it still shows what appears to be showing and hiding of the slider and its background. "lookup_var" is only used to determine the visibility state. Is this then an arbitrary piece of code that would actually never work in a real app, and author just wrote this to illustrate the point?So then, how can I hide a static element? Statics don't allow for callback routines, so how are they referenced in SHOW_IMAGE() macro? Can you give me a short code snippet using the code from my original post? Also, what is the "gauge's main callback routine"? From what I've seen so far, each gauge element has its own callback routine (except STATIC) - there are no "main" callbacks for the whole gauge.Alternatively, Bill suggested that gauge backgrounds can be declared as MAKE_ICON (which allows callback function), rather than MAKE_STATIC, and thus allowing for the access to pelement through the callback. I'll give that a try tonight...Thanks,
  21. As I mentioned, this is in ESP Documentation under "Programming C++ Gauges", which is available on-line in its entirety:http://msdn.microsoft.com/en-us/library/cc526958.aspxSearch for HIDE_IMAGE. I am using ESP documentation as it seems to be identical to FSX SDK, and available on-line, in case I don't have my dev system with me :)I apologize if I refered to something which is ESP-specific... I'll check if this is the case with the FSX SDK when I get to my dev system.
  22. Thanks Bill! That's what I thought, but I thought I check with the forum to see if I'm not seeing something. What confused me is the following code snippet from the ESP SDK documentation (it is on-line, and I'm using it as a reference since it seems to be identical to FSX SDK):MODULE_VAR gs_var = {VOR1_GS_FLAG}; Void update_routine() { lookup_var(&gs_var); if(gs_var.var_value.n == 0) { HIDE_IMAGE((&gs_slider)); HIDE_IMAGE((&gs_background)); } else { SHOW_IMAGE((&gs_slider)); SHOW_IMAGE((&gs_background)); } 'Include other update code} This clearly shows a gauge that has a slider and a background, and pointers to both that are being used in the HIDE/SHOW calls. I'd love to know how to get &gs_slider and &gs_background. Any thoughts on this?
  23. I'm trying to conditionally show and hide gauge image lements, namely an indicator and a background. I'm using the HIDE_IMAGE() and SHOW_IMAGE() macros, but I'm having problems hiding the background of the gauge. I can hide the indicator element of the gauge by specifying the callback function and using the "pelement" parameter as an argument to HIDE_IMAGE(). However, MAKE_STATIC doesn't allow for a callback, so it is rather ambiguous how to use the macros to hide and show the background... For example, in the following simple code:char cs_gauge_name[] = GAUGE_NAME; extern PELEMENT_HEADER cs_list; extern MOUSERECT cs_mouse_rect[]; GAUGE_HEADER_FS700(GAUGE_W, cs_gauge_name, &cs_list, cs_mouse_rect, 0, 0, 0, 0); MAKE_SLIDER ( cs_slider_rudder, BMP_CS_SMALL_RUDDER, NULL, 0, IMAGE_USE_ERASE | IMAGE_USE_TRANSPARENCY, 0, 94, 83, RUDDER_DEFLECTION, NULL, 80, MODULE_VAR_NONE, NULL, 0 ) PELEMENT_HEADER cs_sliders_list[] = { &cs_slider_rudder.header, NULL }; MAKE_STATIC ( cs_background, BMP_CS_SMALL_BACKGROUND, &cs_sliders_list, NULL, IMAGE_USE_TRANSPARENCY, 0, 0,0 ) PELEMENT_HEADER cs_list = &cs_background.header; MOUSE_BEGIN( cs_mouse_rect, HELP_NONE, 0, 0 ) MOUSE_PARENT( 60,78,76,16, HELPID_GAUGE_YAW_TRIM ) MOUSE_END #undef GAUGE_NAME #undef GAUGEHDR_VAR_NAME #undef GAUGE_W I'd like to hide both "cs_slider_rudder" and "cs_background" using the HIDE_IMAGE() and SHOW_IMAGE() macros. How is this done?

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.