• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Global Wildfires Open Source Project - Need Programming

I think I followed all that. So conceivably the fires would wander around based on the wind direction even, make it look like the fires are actually alive and moving :) Sorry I think out of the box a lot...

I'll see if I can make the smoke fx respond to wind as well like chimney smoke does and build a new effect.
 
The effects are emitted by an attachpoint on a model. The model is created through SimConnect as an AI object.

If the effect can take wind direction into account, then I suppose so. Alternately, the AI object could moved using SimConnect, but I would think that would be more computationally expensive (or at the very least, more complex to develop) than implementing the movement in the effect itself.

I think I have a build of my program that might be ready for a test release, but I'd like to review the code once more. I changed it so it queries the user's position periodically, and automatically creates SimObjects that are nearby (and removes SimObjects that are far away), instead of creating everything currently downloaded at once.
 
ab9gKBS.png


Should be pretty self explanatory. Just make sure you install the model while Flight Simulator is shut down to ensure the model is available for use.

Thanks to Brandon Filer for the icon and fire effect model.

Download from GitHub
 
Last edited:
Works awesome, still doing some testing, noticed the MDL box in the middle of the fire though, but that can be tweakable by placing the box at -10m or something ;)

I can probably tweak the MDL on my side if necessary. ;) I noticed the smoke is affected by winds which is awesome and what I remember of that effect.

Thanks so much, there's actually a fire on the island next to Stradbroke Island near where I live. I thought it was on Stradbroke but it's actually on the next island closer to the mainland. There's another developer at IRIS simulations as well who is keeping an eye out for bushfires so this could actually help save lives.

:)

I'll see if I can add the .exe to the xml loader when I get a chance.
 
Hi Ollyau,

I just created an exe.dll for FSX to load the program at runtime. I for some reason am getting a layer of smoke now just hovering above the fire, I never saw that before but maybe I wasn't paying attention.

Anyway it's working great, I have another suggestion of a confidence cutoff level that's user definable. May not be even worth coding, but there was a house fire in Melbourne Australia that showed up, unless we were to use different size fire effects for the different confidence levels.

Oh any idea where the MDL file gets saved?
 
Hi Dean,

The layer of smoke is created by the Cntrl_ForestFireSingle effect. It's a controller effect that calls both fx_ForestFireHuge and fx_ForestFireSmoke. The MDL file is saved to Microsoft Flight Simulator X\SimObjects\Misc\Fire_Effect\model\Fire_Effect.mdl.

I can look into adding options regarding the confidence value. School's started back up for me, though, so I may not get to it very quickly.

Orion
 
Awesome, I just took at look at the wildfires/bushfires in victoria the other day and the frame rates dropped to 2 fps due to the huge number of fires. Wondering if there could be a way to call a custom controller as when there's 60+ fires in an area frame rates are affected severely. Maybe giving the user the option to choose a Cntrl_ForestFireSinge_NoSmoke.fx file I could generate. Is Cntrl_ForestFireSingle.fx one of the stock ones or one you put together?
 
Cntrl_ForestFireSingle is a default FSX effect. You can change which effect displays by either specifying a different SimObject (by changing the SimObject Title textbox before downloading data), or by replacing the MDL file of the existing Fire_Effect SimObject.
 
I just downloaded this, this is awesome! Thanks so much.. What does the min. conf. slider do?

Also, can you drop retardant on the fires and put them out?
 
The slider sets a threshold for the minimum detection confidence attribute of the data -- only data with a detection confidence higher than what you set will appear in-sim. If you want to know what the detection confidence means, NASA has a couple passages on that:

From the FIRMS FAQ:

What is the detection confidence?

A detection confidence is intended to help users gauge the quality of individual active fire pixels. This confidence estimate, which ranges between 0% and 100%, is used to assign one of the three fire classes (low-confidence fire, nominal-confidence fire, or high-confidence fire) to all fire pixels within the fire mask. The confidence field should be used with caution; it is likely that it will vary in meaning in different parts of the world. Nevertheless some of our end users have found such a field to be useful in excluding false positive occurrences of fire.

And from the data's about page:

This value is based on a collection of intermediate algorithm quantities used in the detection process. It is intended to help users gauge the quality of individual hotspot/fire pixels. Confidence estimates range between 0 and 100% and are assigned one of the three fire classes (low-confidence fire, nominal-confidence fire, or high-confidence fire).

FS Active Fires currently provides no way of removing individual fires from the simulation. Third parties may use the the undocumented FS10DeleteAIAircraft function call in ACONTAIN.DLL to remove SimObjects (e.g. the fires created by FS Active Fires) if their addon is built as a DLL and running inside the FSX process space.
 
Last edited:
Well at least I can go and do some fire recon, that is good enough. Now that I think about it, I think someone on FSEconomy has a mod where he can actually put fires out.
 
Hello,

First of all many thanks for this great little app.
I dowloaded it but have some problems it constanly crashes when i try to connect to the sim. I know it was made for FSX but tried it in P3 D2.4.
Anyway a guy in the ORBX forums has the same prob but with FSX.

THanx for your help

Greetz MJ
 
You'll need to provide more information than that for me to diagnose anything. Can you provide exact steps to reproduce the crash? Can you go to the event viewer and tell if it has a stack trace?
 
Hi,

many thanks for the quick answer :)
Here is the one from FSX

Name der fehlerhaften Anwendung: FSActiveFires.exe, Version: 0.1.2.0, Zeitstempel: 0x53980e00
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 6.1.7601.18409, Zeitstempel: 0x53159a86
Ausnahmecode: 0xe0434352
Fehleroffset: 0x0000c42d
ID des fehlerhaften Prozesses: 0x530
Startzeit der fehlerhaften Anwendung: 0x01cfe9ee2976ad2e
Pfad der fehlerhaften Anwendung: D:\_Downloads\FSActiveFires.exe
==> Pfad des fehlerhaften Moduls: C:\Windows\syswow64\KERNELBASE.dll
Berichtskennung: 69575e2f-55e1-11e4-8fff-00248c2b1c12

As you can see he tried it from his d/l folder. I advised him to put it into his FSX main folder.

In the case of P3D2.4 i can give you more details next week im away from my machine. Im using a german Win7 64 Pro OS.
The app crashes so that the mouse pointer is pretty slow and hardly controllable.

Thanks again :)
 
Usually there'll be another entry that actually contains the exception type and message, as well as a stack trace, which will help me pinpoint the issue.

Running from within the FSX main folder should make absolutely no difference.
 
Well, it's my event viewer problem file that Michael posted above.
So here my datas again:
My system
FSX+Acc / Win 7 64 bit home, German language / All Win 7 updates/patches installed until today.

(FSX is off)
Running this software as admin, "Install Model" creates a folder \Fire_Effect im SimObjects\Misc.

When clicking "Download Data" the software crashes (internet connection is permanent).

- Crash report (translated):
FSActiveFires.exe doesn't work anymore, looking for a solution... close program

Results in Event Viewer:

Information:

Fehlerbucket 86985200, Typ 22
Ereignisname: CLR20r3
Antwort: Nicht verfügbar
CAB-Datei-ID: 0

Problemsignatur:
P1: fsactivefires.exe
P2: 0.1.2.0
P3: 53980e00
P4: System.Data
P5: 4.0.30319.18408
P6: 52311175
P7: 1b5c
P8: 1a
P9: System.Data.OleDb.OleDbException
P10:

Angefügte Dateien:
C:\Users\Dieter Linde\AppData\Local\Temp\WER10C4.tmp.WERInternalMetadata.xml

Diese Dateien befinden sich möglicherweise hier:
C:\Users\Dieter Linde\AppData\Local\Microsoft\Windows\WER\ReportArchive\AppCrash_fsactivefires.ex_e462bb29950f5cc38835ac1ca16bab44ed8f2c_1a775053

Analysesymbol:
Es wird erneut nach einer Lösung gesucht: 0
Berichts-ID: 23b94ad8-5770-11e4-978e-00248c2b1c12
Berichtstatus: 0


Application error:
Name der fehlerhaften Anwendung: FSActiveFires.exe, Version: 0.1.2.0, Zeitstempel: 0x53980e00
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 6.1.7601.18409, Zeitstempel: 0x53159a86
Ausnahmecode: 0xe0434352
Fehleroffset: 0x0000c42d
ID des fehlerhaften Prozesses: 0x11c4
Startzeit der fehlerhaften Anwendung: 0x01cfeb7ce0ed29c0
Pfad der fehlerhaften Anwendung: D:\_Downloads\FSActiveFires.exe
Pfad des fehlerhaften Moduls: C:\Windows\syswow64\KERNELBASE.dll
Berichtskennung: 23b94ad8-5770-11e4-978e-00248c2b1c12


.NET Runtime:
Anwendung: FSActiveFires.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund eines Ausnahmefehlers beendet.
Ausnahmeinformationen: System.Data.OleDb.OleDbException
Stapel:
bei System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(System.Data.OleDb.OleDbHResult)
bei System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(System.Data.OleDb.tagDBPARAMS, System.Object ByRef)
bei System.Data.OleDb.OleDbCommand.ExecuteCommandText(System.Object ByRef)
bei System.Data.OleDb.OleDbCommand.ExecuteCommand(System.Data.CommandBehavior, System.Object ByRef)
bei System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(System.Data.CommandBehavior, System.String)
bei System.Data.OleDb.OleDbCommand.ExecuteReader(System.Data.CommandBehavior)
bei System.Data.OleDb.OleDbCommand.ExecuteReader()
bei Catfood.Shapefile.Shapefile.OpenDb()
bei Catfood.Shapefile.Shapefile.Open(System.String)
bei Catfood.Shapefile.Shapefile..ctor(System.String, System.String)
bei Catfood.Shapefile.Shapefile..ctor(System.String)
bei FSActiveFires.MainViewModel.ParseShapefile(System.String)
bei FSActiveFires.MainViewModel.ProcessData(System.String)
bei FSActiveFires.MainViewModel.<get_DownloadCommand>b__2(System.Object)
bei FSActiveFires.RelayCommand.Execute(System.Object)
bei MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(System.Windows.Input.ICommandSource, Boolean)
bei System.Windows.Controls.Primitives.ButtonBase.OnClick()
bei System.Windows.Controls.Button.OnClick()
bei System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs)
bei System.Windows.UIElement.OnMouseLeftButtonUpThunk(System.Object, System.Windows.Input.MouseButtonEventArgs)
bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate, System.Object)
bei System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
bei System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject, System.Windows.RoutedEventArgs, System.Windows.RoutedEvent)
bei System.Windows.UIElement.OnMouseUpThunk(System.Object, System.Windows.Input.MouseButtonEventArgs)
bei System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate, System.Object)
bei System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean)
bei System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs)
bei System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs)
bei System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean)
bei System.Windows.Input.InputManager.ProcessStagingArea()
bei System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs)
bei System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport)
bei System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions, Int32, Int32, Int32)
bei System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef)
bei System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
bei MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
bei MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
bei MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
bei MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
bei System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
bei System.Windows.Threading.Dispatcher.Run()
bei System.Windows.Application.RunDispatcher(System.Object)
bei System.Windows.Application.RunInternal(System.Windows.Window)
bei System.Windows.Application.Run(System.Windows.Window)
bei FSActiveFires.App.Main()
bei FSActiveFires.Program.Main()


Maybe a problem only with the German version of Win 7? (for example: use of comma instead period at decimal places)

Greetings
Dieter
 
Last edited:
Have you tried temporarily setting the regional settings to use a decimal instead of a comma to see if it changes the outcome? It looks like it's failing at reading the shapefile, which is handled by a third party library (not my code) -- I'm not familiar with its workings. Have you tried using a different dataset?
 
Well, it doesn't work for me this way either:
I changed the decimal separator to . (period) with no success and I also changed between several datasets.
Still same problems as reported above - same errors
 
Last edited:
Back
Top