Everything posted by Team_P3DSpacePort
- FSX PhotoRealistic Kilimanjaro Project
- FSX PhotoRealistic Kilimanjaro Project
-
TerraBuilder FSX Now Available
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
-
Interacting With Surface When Flight Model Disabled
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?
-
Reading Aircraft.cfg File
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.
-
Panel Graphic
Team_P3DSpacePort replied to a post in a topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToWell, 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.
-
Lockup when starting up engine with empty tanks
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToOK, 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?
-
Lockup when starting up engine with empty tanks
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToHi 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.
-
Lockup when starting up engine with empty tanks
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToNote 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...
-
Lockup when starting up engine with empty tanks
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
-
Kick-starting the gauges in virtual cockpit
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToNo 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.
-
Kick-starting the gauges in virtual cockpit
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToThanks Bill! That worked nicely! Looks like there has to be at least one grapgic element for the gauge to be valid...
-
Kick-starting the gauges in virtual cockpit
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToOk, 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?
-
Kick-starting the gauges in virtual cockpit
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToThanks 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.
-
Kick-starting the gauges in virtual cockpit
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How Tothanks 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.
-
Kick-starting the gauges in virtual cockpit
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!
-
Hiding/Showing Gauge Images
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToHi 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!
-
Hiding/Showing Gauge Images
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How Tohmmm 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...
-
Hiding/Showing Gauge Images
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToThanks, 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,
-
Hiding/Showing Gauge Images
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToYup, 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,
-
Hiding/Showing Gauge Images
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToAs 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.
-
Hiding/Showing Gauge Images
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToThanks 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?
-
Hiding/Showing Gauge Images
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?
-
Simulation Rate - no equivalent for C gauges?
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToTHAT'S the one!!! Thanks a bunch!
-
Simulation Rate - no equivalent for C gauges?
Team_P3DSpacePort replied to Team_P3DSpacePort's topic in FSX/FSX-SE Aircraft and Panel Design Forum - How ToSplendid! thank You Sir!