├── .gitignore ├── .gitattributes ├── screenshots └── nodegraph-stlaurent.png ├── mission-packages ├── geehalel-testmission-0.1.0.zip └── geehalel-bushtrip-stlaurent-0.1.0.zip ├── TestProject ├── PackageSources │ ├── testmission │ │ ├── LATUQUE.FLT │ │ ├── images │ │ │ ├── Activity_Widget.jpg │ │ │ ├── testmission_Briefing.jpg │ │ │ └── testmission_Loading.jpg │ │ ├── Overview.htm │ │ └── testmission.xml │ └── latuque-chalets-cylq │ │ ├── images │ │ ├── Briefing.jpg │ │ ├── LacDoucet.png │ │ ├── Loading.jpg │ │ ├── LacDesrochers.png │ │ └── Activity_Widget.jpg │ │ ├── bushtrip-latuquechalets.FLT │ │ ├── Overview.htm │ │ └── bushtrip-latuquechalets.xml ├── TestProject.xml └── PackageDefinitions │ ├── geehalel-bushtrip-latuquechalets.xml │ └── geehalel-testmission.xml ├── BushtripStLaurent ├── PackageSources │ └── stlaurent │ │ ├── stlaurent.flt │ │ ├── images │ │ ├── Loading.jpg │ │ ├── pintendre.png │ │ ├── charlevoix.png │ │ ├── chicoutimi.png │ │ ├── Activity_Widget.jpg │ │ └── grandes-bergeronnes.png │ │ ├── stlaurent.pln │ │ └── stlaurent.xml ├── bushtripstlaurent.xml └── PackageDefinitions │ └── geehalel-bushtrip-stlaurent.xml ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | Packages 2 | _PackageInt -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /screenshots/nodegraph-stlaurent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/screenshots/nodegraph-stlaurent.png -------------------------------------------------------------------------------- /mission-packages/geehalel-testmission-0.1.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/mission-packages/geehalel-testmission-0.1.0.zip -------------------------------------------------------------------------------- /TestProject/PackageSources/testmission/LATUQUE.FLT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/testmission/LATUQUE.FLT -------------------------------------------------------------------------------- /mission-packages/geehalel-bushtrip-stlaurent-0.1.0.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/mission-packages/geehalel-bushtrip-stlaurent-0.1.0.zip -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/stlaurent.flt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/BushtripStLaurent/PackageSources/stlaurent/stlaurent.flt -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/images/Loading.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/BushtripStLaurent/PackageSources/stlaurent/images/Loading.jpg -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/images/pintendre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/BushtripStLaurent/PackageSources/stlaurent/images/pintendre.png -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/images/charlevoix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/BushtripStLaurent/PackageSources/stlaurent/images/charlevoix.png -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/images/chicoutimi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/BushtripStLaurent/PackageSources/stlaurent/images/chicoutimi.png -------------------------------------------------------------------------------- /TestProject/PackageSources/testmission/images/Activity_Widget.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/testmission/images/Activity_Widget.jpg -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/images/Briefing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/latuque-chalets-cylq/images/Briefing.jpg -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/images/LacDoucet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/latuque-chalets-cylq/images/LacDoucet.png -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/images/Loading.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/latuque-chalets-cylq/images/Loading.jpg -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/images/Activity_Widget.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/BushtripStLaurent/PackageSources/stlaurent/images/Activity_Widget.jpg -------------------------------------------------------------------------------- /TestProject/PackageSources/testmission/images/testmission_Briefing.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/testmission/images/testmission_Briefing.jpg -------------------------------------------------------------------------------- /TestProject/PackageSources/testmission/images/testmission_Loading.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/testmission/images/testmission_Loading.jpg -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/images/grandes-bergeronnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/BushtripStLaurent/PackageSources/stlaurent/images/grandes-bergeronnes.png -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/images/LacDesrochers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/latuque-chalets-cylq/images/LacDesrochers.png -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/bushtrip-latuquechalets.FLT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/latuque-chalets-cylq/bushtrip-latuquechalets.FLT -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/images/Activity_Widget.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geehalel/msfsmissions/HEAD/TestProject/PackageSources/latuque-chalets-cylq/images/Activity_Widget.jpg -------------------------------------------------------------------------------- /TestProject/TestProject.xml: -------------------------------------------------------------------------------- 1 | 2 | . 3 | _PackageInt 4 | 5 | PackageDefinitions\geehalel-testmission.xml 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BushtripStLaurent/bushtripstlaurent.xml: -------------------------------------------------------------------------------- 1 | 2 | . 3 | _PackageInt 4 | 5 | PackageDefinitions\geehalel-bushtrip-stlaurent.xml 6 | 7 | -------------------------------------------------------------------------------- /BushtripStLaurent/PackageDefinitions/geehalel-bushtrip-stlaurent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | MISSION 4 | Saint-Laurent mission package 5 | 6 | geehalel 7 | 8 | 9 | false 10 | false 11 | 12 | 13 | 14 | Mission 15 | 16 | false 17 | 18 | PackageSources\stlaurent\ 19 | Missions\geehalel\BushTrips\stlaurent\ 20 | 21 | 22 | -------------------------------------------------------------------------------- /TestProject/PackageDefinitions/geehalel-bushtrip-latuquechalets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | MISSION 4 | La Tuque chalets package 5 | 6 | geehalel 7 | 8 | 9 | false 10 | false 11 | 12 | 13 | 14 | Mission 15 | 16 | false 17 | 18 | PackageSources/latuque-chalets-cylq\ 19 | Missions/geehalel/BushTrips/latuque-chalets-cylq\ 20 | 21 | 22 | -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/Overview.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 |
Supply Chalets
11 | 12 | 13 |
14 | 15 | 16 |
17 | 18 |

Fly a Icon A5 out of La Tuque airport, and supply chalets located on various lakes around La Tuque.

19 | 20 |

You will have to land on these small lakes, then return and land back at La Tuque.

21 | 22 | 23 |
24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /TestProject/PackageSources/testmission/Overview.htm: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 |
Test Mission: La Tuque, Canada
11 | 12 | 13 |
14 | 15 | 16 |
17 | 18 |

Fly a XCub out of La Tuque airport, reach a certain altitude and speed (1000 feet and 80 knots), then land back at La Tuque.

19 | 20 |

This mission is derived from the FSX mission creation tutorial, it is aimed at serving as a base framework.

21 | 22 | 23 |
24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /TestProject/PackageDefinitions/geehalel-testmission.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | MISSION 4 | Test missions package 5 | 6 | geehalel 7 | 8 | 9 | false 10 | false 11 | 12 | 13 | 14 | ContentInfo 15 | 16 | false 17 | 18 | PackageDefinitions\geehalel-testmission\ContentInfo 19 | ContentInfo\geehalel-testmission 20 | 21 | 22 | Mission 23 | 24 | false 25 | 26 | PackageSources\testmission\ 27 | Missions/geehalel/BushTrips/testmission\ 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/stlaurent.pln: -------------------------------------------------------------------------------- 1 | 2 | 3 | AceXML Document 4 | 11 | 12 | CYRJ to CPT9 13 | VFR 14 | 2000 15 | CYRJ 16 | N48° 31' 11.62",W72° 15' 57.49",+000586.00 17 | CPT9 18 | N46° 45' 27.00",W71° 6' 33.01",+000270.00 19 | CYRJ, CPT9 20 | 21 | Roberval 22 | Pintendre 23 | 24 | 10 25 | 61472 26 | 27 | 28 | Airport 29 | N48° 31' 11.62",W72° 15' 57.49",+000586.00 30 | 31 | CYRJ 32 | 33 | 34 | 35 | User 36 | N48° 25' 16.42",W72° 2' 54.19",+000000.00 37 | 38 | 39 | User 40 | N48° 22' 13.41",W72° 0' 8.57",+000000.00 41 | 42 | 43 | User 44 | N48° 25' 2.48",W71° 57' 22.95",+000000.00 45 | 46 | 47 | User 48 | N48° 27' 5.48",W71° 50' 41.26",+000000.00 49 | 50 | 51 | User 52 | N48° 35' 24.84",W71° 45' 40.92",+000000.00 53 | 54 | 55 | User 56 | N48° 34' 34.15",W71° 37' 59.91",+000000.00 57 | 58 | 59 | User 60 | N48° 26' 43.34",W71° 14' 56.87",+000000.00 61 | 62 | 63 | User 64 | N48° 26' 1.53",W71° 4' 21.58",+000000.00 65 | 66 | 67 | Airport 68 | N48° 31' 14.51",W71° 3' 2.07",+000543.00 69 | 70 | CYRC 71 | 72 | 73 | 74 | User 75 | N48° 27' 8.75",W71° 0' 8.21",+000000.00 76 | 77 | 78 | User 79 | N48° 21' 58.63",W70° 42' 51.24",+000000.00 80 | 81 | 82 | User 83 | N48° 8' 15.66",W69° 43' 29.20",+000000.00 84 | 85 | 86 | User 87 | N48° 8' 2.46",W69° 33' 16.16",+000000.00 88 | 89 | 90 | Airport 91 | N48° 13' 56.00",W69° 32' 34.00",+000069.00 92 | 93 | CTH3 94 | 95 | 96 | 97 | User 98 | N47° 57' 16.29",W69° 46' 36.46",+000000.00 99 | 100 | 101 | User 102 | N47° 45' 47.98",W69° 53' 44.10",+000000.00 103 | 104 | 105 | User 106 | N47° 40' 51.98",W70° 10' 37.59",+000000.00 107 | 108 | 109 | Airport 110 | N47° 35' 51.32",W70° 13' 25.87",+000977.00 111 | 112 | CYML 113 | 114 | 115 | 116 | User 117 | N47° 24' 30.86",W70° 22' 44.34",+000000.00 118 | 119 | 120 | User 121 | N47° 5' 46.70",W70° 31' 43.22",+000000.00 122 | 123 | 124 | User 125 | N46° 51' 43.45",W70° 59' 4.57",+000000.00 126 | 127 | 128 | User 129 | N46° 44' 37.05",W71° 17' 14.69",+000000.00 130 | 131 | 132 | User 133 | N46° 42' 24.87",W71° 16' 30.20",+000000.00 134 | 135 | 136 | User 137 | N46° 43' 51.31",W71° 5' 52.44",+000000.00 138 | 139 | 140 | Airport 141 | N46° 45' 27.00",W71° 6' 33.01",+000270.00 142 | 143 | CPT9 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /TestProject/PackageSources/testmission/testmission.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Test Mission File 5 | 6 | 7 | 8 | dialogintro 9 | Welcome to this test mission. You are at La Tuque, runway 19. Take off when you are ready. 10 | 1.000 11 | 12 | 13 | dialogclimb 14 | Good, now climb to an altitude of 1800 feet with a speed of at least 80 knots 15 | 1.000 16 | 17 | 18 | dialogpattern 19 | Great, now complete a left or right traffic pattern and land back at La Tuque. Try to land on the runway number 19 20 | 1.000 21 | 22 | 23 | dialogstop 24 | Nicely done, now bring the aircraft to a complete stop 25 | 1.000 26 | 27 | 28 | dialogend 29 | Good job, you have completed the mission 30 | 1.000 31 | 32 | 33 | 34 | timerintro 35 | 2.000 36 | 37 | 38 | 39 | 40 | 41 | 42 | trigger_takeoff 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Simvar.AltitudeAGL 52 | feet 53 | User 54 | 55 | 56 | 57 | 58 | 50.000 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | trigger_alt_speed 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | Simvar.AltitudeAMSL 79 | feet 80 | User 81 | 82 | 83 | 84 | 85 | 1800.000 86 | 87 | 88 | 89 | 90 | 91 | 92 | Simvar.IndicatedAirSpeed 93 | knots 94 | User 95 | 96 | 97 | 98 | 99 | 80.000 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | RectangleArea_Runway19 109 | 0.000,0.000,175.65527269161526647 110 | 100.000 111 | 100.000 112 | 20.000 113 | 114 | N47° 24' 52.31",W72° 47' 22.56",+000000.00 115 | True 116 | 117 | 118 | 119 | 120 | ProximityTrigger_Runway19 121 | False 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | AirportLandingTriggerLaTuque 136 | CYLQ 137 | FullStop 138 | False 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | ActionTriggerRunway19 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | GoalResolutionAction_Goal1 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | GoalResolutionAction_Goal2 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | Goal1 175 | Landed at La Tuque on runway 19 176 | 177 | 178 | 179 | Goal2 180 | Complete stop 181 | 182 | 183 | 184 | Test Mission 185 | La Tuque, CANADA(PQ) 186 | 5 minutes 187 | images\testmission_Loading.jpg 188 | images\testmission_Briefing.jpg 189 | 190 | 191 | 192 | 193 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # msfsmissions 2 | #### Microsoft Flight Simulator Missions 3 | 4 | This is a first attempt to create missions in the new Microsoft Flight Simulator. 5 | As for now (and from what I've understood), the only way to add an activity in MSFS is to create 6 | either new LandingChallenges or new BushTrips. This first test mission (in `TestProject`) is declared 7 | as a BushTrip and a thumbnail will be added in the Bushtrip menu of the simulator. Directories are reparsed 8 | every time you open the menu, thus easing testing. You may also modify and compile using the dev tools while 9 | you are flying the mission, you just need to restart the mission for changes to take effect. Before restarting 10 | you need to copy back the compiled package (found in local Packages directory) to the Community directory of your 11 | MSFS installation. I'm not sure but it seems that `.flt` files are not reloaded without restarting the simulator. 12 | 13 | #### Mission packages 14 | Compiled mission packages are in the `missionpackages` directory. 15 | 16 | *Under TestProject* 17 | - Test mission 18 | This first mission is derived from the Boeing Field mission found in the Mission Creation Kit of the FSX SDK, 19 | I just located the mission in La Tuque (Canada PQ). 20 | There is a [first release archive of the test mission](https://github.com/geehalel/msfsmissions/raw/master/mission-packages/geehalel-testmission-0.1.0.zip), 21 | just unzip the file under the Community directory. 22 | - Bushtrip mission `latuque-chalet-cylq` 23 | This a first attempt to create a bushtrip mission. It does not work as is because each leg should end/start in an airport and I tried to use 24 | unexisting seaports here (on the numerous lakes found in Canada). However it shows that you may define many packages in a single project. 25 | 26 | *Under BushtripStLaurent* 27 | - Single `stlaurent` bushtrip mission package in its own project. This one uses airports for each leg, and works as axpected. You may use it as a framework 28 | for your own missions. 29 | - [first release](https://github.com/geehalel/msfsmissions/raw/master/mission-packages/geehalel-bushtrip-stlaurent-0.1.0.zip) 30 | 31 | #### Creating a package in its own project 32 | - I use in this example the project `BushtripStLaurent`, using `geehalel` as creator. The project will contain only one package, a bushtrip mission package. 33 | - Refering to Asobo practice, I name activity/package in the form `creator-type-name` 34 | - In a MSFS projects directory (whatever you want), create a `BushtripStLaurent` directory. 35 | - In this `BushtripStLaurent` directory: 36 | - Create a `PackageDefinitions` directory 37 | - Create a `PackageSources` directory 38 | - Create a `bushtripstlaurent.xml` file (named after the project name) which enumerates the packages defined in the project: 39 | ``` 40 | 41 | . 42 | _PackageInt 43 | 44 | PackageDefinitions\geehalel-bushtrip-stlaurent.xml 45 | 46 | 47 | ``` 48 | - In the `BushtripStLaurent\PackageDefinitions`, create the `geehalel-bushtrip-stlaurent.xml` referenced above: 49 | ``` 50 | 51 | 52 | MISSION 53 | Saint-Laurent mission package 54 | 55 | geehalel 56 | 57 | 58 | false 59 | false 60 | 61 | 62 | 63 | Mission 64 | 65 | false 66 | 67 | PackageSources\stlaurent\ 68 | Missions\geehalel\BushTrips\stlaurent\ 69 | 70 | 71 | 72 | ``` 73 | I am not sure what the `ContentInfo` asset is used for. 74 | 75 | - In the `BushtripStLaurent\PackageSources` directory: 76 | - Create the `PackageSources\stlaurent\` file referenced above 77 | - Inside this directory, you will have to put your mission files: `stlaurent.flt` which defines your initial flight position, `stlaurent.xml` which defines 78 | your mission (and will be compiled into a `.spb` file by the `fspackagetool`), `images` subdirectory for activity/briefing/loading/legs/sublegs illustration, 79 | `overview.htm` and/or `stlaurent.pln` (draws the flight path in Briefing, NO), sound files... 80 | - `images/Activity_widget.jpg` (786x602) is used as a thumbnail in the bushtrip menu. Briefing Text is not displayed. I don't know how to create the fly path 81 | in the 3D wrold map. If `UseLiveWeather` is set to true in the `.flt` file, 82 | you can not change the current time, but, on the second loading the time is read from the `.flt` file. 83 | See below how I proceed for other infos. 84 | 85 | #### Creating a BushTrip 86 | - Use a flight planner to generate a flight plan in `.pln` format. The flight should have valid departure and destination airports. 87 | You can not use GPS/user defined locations as departure or arrival. I use LittlenavMap in this BushTrip (`latuque-chalets.pln`). 88 | - Start Microsoft Flight Simulator, select the World Map widget, select the aircraft to use in the BushTrip, and then load your 89 | flight plan using `Load/Save` button. You can not load a `.pln` file after you have started the flight. Start the flight. 90 | - Immediately save your flight in the simulator, this will create a `.flt` file we will use in the BushTrip. Note that it creates also 91 | a `.fssave` file and a `.spb` file. They will be saved by default in your user's `AppData\Local\WindowsApps\Microsoft.FlightSimulator...` directory 92 | (`latuque-chalets.flt`). 93 | - Create a new directory for your bushtrip inside your package source directory (`PackageSources\latuque-chalets-cylq`). You may add a `images` 94 | directory inside it (`PackageSources\latuque-chalets-cylq\images`). 95 | - Copy the `.flt` flight file you saved in the simulator in the `PackageSources\latuque-chalets` directory (`PackageSources\latuque-chalets-cylq\latuque-chalets-cylq.flt`). 96 | - Extract from an existing BushTrip `.spb` file the skeleton used for the mission `.xml` file. I won't detail that part here, it should hopefully be soon included in the 97 | SDK documentation. If you know how to extract the `.xml` file, you will find that the XML elements are self-explanatory enough. 98 | - Fill the legs/sublegs of your BushTrip with comments and images as needed. The waypoints in the legs/sublegs are linked to the ones from the `.flt` file 99 | using a fake Region identifier (these are the `!A`, `!B`, ... ids you find in the `.xml` file) and a usual name ID (usually ICAO, here `POI1`, `POI2`, ...) . 100 | You should modify your `.flt` file accordingly by updating each waypoint in the `ATC_Aircraft.0` waypoints list with its corresponding fake region 101 | identifier and name ID. For instance: 102 | ``` 103 | [ATC_Aircraft.0] 104 | ActiveFlightPlan=True 105 | RequestedFlightPlan=False 106 | AcState=ACSTATE_CTAF_TAKEOFF 107 | ActiveVFRAirport=CYLQ 108 | Waypoint.0=, CYLQ, , La Tuque, A, N47° 24.56', W72° 47.34', +000548.00, , , , , , NONE, 0, 0, -1 109 | Waypoint.1=!A, POI1, , Motocross field, U, N47° 23.43', W72° 47.13', +000750.00, , , , , , NONE, 0, 0, -1 110 | Waypoint.2=!A, POI2, , Chemin du Lac Wayagamak, U, N47° 23.43', W72° 45.85', +000900.00, , , , , , NONE, 0, 0, -1 111 | Waypoint.3=!A, POI3, , Intersection, U, N47° 23.82', W72° 44.75', +001050.00, , , , , , NONE, 0, 0, -1 112 | ... 113 | Waypoint.9=, , , Chalet Doucet, U, N47° 21.01', W72° 26.69', +002000.00, , , , , , NONE, 0, 0, -1 114 | Waypoint.10=!B, POI1, , Climb south to the powerlines, U, N47° 20.04', W72° 26.28', +002000.00, , , , , , NONE, 0, 0, -1 115 | Waypoint.12=!B, POI2, , Follow the powerlines, U, N47° 14.92', W72° 25.46', +002000.00, , , , , , NONE, 0, 0, -1 116 | ``` 117 | In the `.xml` file, you would refer them as follows: 118 | ``` 119 | ... 120 | 121 | 122 | Take off from La Tuque and search for the Motocross field just right after the end of the runway 123 | 124 | 125 | 126 | 127 | !A 128 | 129 | 130 | 131 | When you reach the motocross field, turn left to the east while you climb 132 | 133 | 134 | 135 | !A 136 | 137 | 138 | !A 139 | 140 | 141 | 142 | ... 143 | ``` 144 | - For each leg, you should specify a trigger which signals the end of the leg. This is usually an `AirportLandingTrigger`. In the current BushTrips, 145 | these triggers are extended with specific computations (using speed, runway distance, ...), the XML element being `AirportLandingTriggerEnd`. 146 | Those computations use a Reverse Polish notation which you see referenced at the end of the SDK documentation. The same computation has to be repeated 147 | in the `.xml` file as it depends on the airport ICAO to get Lat/Lon/Elev. Thus for each leg you should add the same bunch of code to check if the aircraft has correctly 148 | landed on the given airport (I don't know if there will be a way to factor these computations using an airport ICAO parameter). 149 | - I try to use an `AreaLandingTrigger` instead in this particular BushTrip as we are landing on water here. Looking at the `propmission.xml` file this is not supported. 150 | - The next part concerns the goals and objectives. The `SimMission.MissionBushTrip` element has an `Objectives` element which may reference one or many 151 | `Goal` elements. Those `Goal` elements are triggered as usual using `GoalResolutionAction`. Success is triggered using the `OnFinishedActions` element of 152 | the `SimMission.MissionBushTrip` element, which should trigger when you end the last leg. Failures may be triggered as usual or using a flight loop computation 153 | (out of fuel in the current BushTrips). What I am not sure is that failures are part of objectives. 154 | - The last part concerns the interaction with the simulator. There seems to be a Finite State Machine (`FlowState` actions/events) used to interact with 155 | the simulator flight loop/interface. There are predefined events and actions, particularly two predefined objects referenced as actions: 156 | - `id="RTC_Ground_Airport_Aircraft_Intro" InstanceId="{306B2AE4-06BA-48C3-93A0-BD5569E6EF5B}"` 157 | - `id="RTC_Ground_Aircraft_Outro" InstanceId="{5DAADB19-3BA3-4235-BCC0-39CD6F4CD4D9}" />` 158 | 159 | They seem to be used as predefined actions between legs. I won't go further here as I would need to know more about the semantics of this FlowState machine. 160 | - As of now I simply reuse the existing elements found in the Asobo scripts. There is no need to generate other GUIDs for those elements in each mission. 161 | I suppose these objects only exist the time of the mission. 162 | - The Node graph editor in the sim is cool to see what's going on in the mission. 163 | 164 | ![](https://github.com/geehalel/msfsmissions/raw/master/screenshots/nodegraph-stlaurent.png "Node graph editor") 165 | 166 | #### Some notes for myself 167 | - FSX/ESP 1.0 mission elements are parsed as before. There is a bunch of new elements however. 168 | Better wait all this to be published in the next SDK release. 169 | - Use .GUID app from the Microsoft store to create Guids 170 | - Images: use jpegs (not sure pngs are ok), Briefing/Loading images may be any size (screenshots), 171 | the Activity_Widget thumbnail should be 786x602. There is a marketplace thumbnail too, which should be 412x170 (not tested). 172 | Use `paint` to edit/resize screenshot captures. 173 | - Flight starts directly after loading (no preflight screen) 174 | - End of mission: nothing happens in the current version. 175 | - No menu, vfr, atc during the mission, but you can change view 176 | - Try to put multiple missions in a package 177 | - Add scenery objects: use Model GUID, need to decompile BGL files, don't find them in the Scenery Editor 178 | - Add Sim objects: animation may have changed -------------------------------------------------------------------------------- /TestProject/PackageSources/latuque-chalets-cylq/bushtrip-latuquechalets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chalets de La Tuque 4 | bushtrip-latuquechalets.spb 5 | 6 | 7 | Supply chalets in la Tuque with a small seaplane 8 | 9 | 10 | Chalet on lake Doucet 11 | 12 | 13 | 14 | 15 | 16 | Take off and look for the motocross field at your right, just after the end of the runway. Turn left when you reach it while you continue climbing. 17 | 18 | 19 | 20 | 21 | !A 22 | 23 | 24 | 25 | Soon at the top of the hill, you will find a track, the 'Chemin du lac Wayagamak". Follow it to the north. 26 | 27 | 28 | 29 | !A 30 | 31 | 32 | !A 33 | 34 | 35 | 36 | At the intersection, follow the left track, till the 'Chemin de lac Wayagamak', which follows the river 'Petite rivière Bastonnais'. To the east you should already 37 | see the lake Wayagamak. Follow the river or the track which leads to the lake 38 | 39 | 40 | 41 | !A 42 | 43 | 44 | !A 45 | 46 | 47 | 48 | When you reach the lake Wayagamak, simply follow its north bank, or still follow the track, up to the opposite bank, the eastern bank. 49 | 50 | 51 | 52 | !A 53 | 54 | 55 | !A 56 | 57 | 58 | 59 | You should see at the east, if you still follow the track, a smaller lake, the 'Petit lac Wayagamak'. fly over its north bank and cross it. 60 | 61 | 62 | 63 | !A 64 | 65 | 66 | !A 67 | 68 | 69 | 70 | The track becomes a small road ('Route2') and gets around a small hill. Follow that road or just fly over the hill. 71 | 72 | 73 | 74 | !A 75 | 76 | 77 | !A 78 | 79 | 80 | 81 | You will find an intersection of tracks, near a small bean shaped lake ('Lac Scott'). Look to the south, you will see an elongated lake, oriented 82 | almost north/south. This is the 'Lac Doucet' where you should land. 83 | 84 | 85 | 86 | !A 87 | 88 | 89 | !A 90 | 91 | 92 | 93 | Prepare to land on the 'Lac Doucet', and find a chalet located near the south bank of the lake. 94 | 95 | 96 | 97 | !A 98 | 99 | 100 | !A 101 | 102 | 103 | 104 | Lac Doucet: go near the pontoon. 105 | images\LacDoucet.png 106 | 107 | !A 108 | 109 | 110 | !A 111 | 112 | 113 | 114 | 115 | 116 | Chalet on lake Desrochers 117 | 118 | 119 | 120 | 121 | 122 | Take off to the south from Lac Doucet and start climbing until you see a powerline. 123 | 124 | 125 | 126 | !A 127 | 128 | 129 | !B 130 | 131 | 132 | 133 | Follow the powerline to the south. After approximatively 5 Nm, a small river crosses the powerline, forming a small cannyon. 134 | At the east, there is a small elongated lake, oriented East/west, Lac Turgeon. Turn to the right and follow that small canyon to the west. 135 | 136 | 137 | 138 | !B 139 | 140 | 141 | !B 142 | 143 | 144 | 145 | After one Nm or two , the small cannyon goes between two small hills, leading you to a track, and on the right, to the north, 146 | you will find an irregular elongated lake, oriented north/south. This is Lake Desrochers where you should land. 147 | 148 | 149 | !B 150 | 151 | 152 | !B 153 | 154 | 155 | 156 | Chalet des Epinettes: on the east bank of the lake, there is a chalet with a blue roof that you can glimpse between the trees. 157 | Land on the lake and go near the chalet. 158 | images\LacDesrochers.png 159 | 160 | !B 161 | 162 | 163 | !B 164 | 165 | 166 | 167 | 168 | 169 | Back to La Tuque 170 | 171 | 172 | 173 | 174 | 175 | Take off to the south or to the north from Lac Desrochers and start climbing until you reach your cruising altitude (1500 feet). 176 | 177 | 178 | 179 | !B 180 | 181 | 182 | !C 183 | 184 | 185 | 186 | When above the surrounding hills, fly to the west for a tenth of Nm, until you reach a powerline oriented north/south. 187 | To the north you could see the lake Wayagamak near the horizon. 188 | 189 | 190 | 191 | !C 192 | 193 | 194 | !C 195 | 196 | 197 | 198 | Follow the powerline to the northwest until you reach a main road along the Saint Maurice river. You should already see 199 | the La Tuque airport to the north. Follow the river. 200 | 201 | 202 | !C 203 | 204 | 205 | !C 206 | 207 | 208 | 209 | La Tuque airport: land on runway 1 and park the seaplane. 210 | 211 | 212 | !C 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | End mission 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | La Tuque Airport 230 | CYLQ 231 | false 232 | 233 | 234 | 235 | (A:SIM ON GROUND, Boolean) 0 > 236 | 237 | 238 | 239 | 240 | [OnGround] 241 | if{ 242 | [SignedDistanceToClosestRunway] 0 < 243 | if{ 1 } 244 | els{ [LandedOnRunway] } 245 | } 246 | els{ 247 | 0 248 | } 249 | 250 | 251 | 252 | 253 | [LandedOnRunway] [IsInAirportArea] (A:GROUND VELOCITY, Knots) 2 < and and 254 | if{ 255 | [TimerLanded] [dtime] + 256 | } 257 | els{ 0 } 258 | 259 | 260 | 261 | 262 | 100 263 | 264 | 265 | 266 | 267 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] > [OnGround] and [FarTouchDown] or 268 | 269 | 270 | 271 | 272 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] < [SignedDistanceToClosestRunway] 0 > [OnGround] and and [OutsideTouchDown] or 273 | 274 | 275 | 276 | 277 | 278 | 279 | [OutsideTouchDown] [FarTouchDown] not and 280 | 281 | 282 | 283 | 284 | 285 | 286 | true 287 | 288 | [TimerLanded] 2 > 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | RectangleArea_LakeDoucet 299 | 0.000,0.000,175.65527269161526647 300 | 1000.000 301 | 100.000 302 | 20.000 303 | 304 | N47° 21.74', W72° 27.00',+000000.00 305 | True 306 | 307 | 308 | 309 | 310 | RectangleArea_LakeDesrochers 311 | 0.000,0.000,005.65527269161526647 312 | 1000.000 313 | 100.000 314 | 20.000 315 | 316 | N47° 14.56', W72° 28.64',+000000.00 317 | True 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | End of mission 335 | false 336 | 337 | 338 | Resolve Goal End of mission 339 | 340 | 341 | 342 | 343 | 344 | 345 | TimerStart 346 | true 347 | true 348 | true 349 | 350 | 351 | 352 | 353 | 354 | INTRO 355 | false 356 | true 357 | true 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | BUSHTRIP 382 | false 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | LANDING_REST 391 | false 392 | 393 | 394 | 395 | 396 | 397 | 398 | FlowEvent_Landing_Rest 399 | 400 | 401 | 402 | 403 | 404 | Landed outside of runway 405 | EVENT_TRIGGER_NOT_ON_RUNWAY 406 | 407 | 408 | WiseAFSSet 409 | ACTIVITIES_FLOW_STATE 410 | BUSHTRIP 411 | 412 | 413 | WWiseRTCState_NON_RTC 414 | GAME_RTC_STATE 415 | NON_RTC 416 | 417 | 418 | WWiseRTCState_RTC 419 | GAME_RTC_STATE 420 | 421 | (A:PLANE ALT ABOVE GROUND, meter) (A:STATIC CG TO GROUND, meter) - 0 < 422 | RTC 423 | 424 | 425 | (A:PLANE ALT ABOVE GROUND, meter) (A:STATIC CG TO GROUND, meter) - 0 > 426 | RTC_IN_FLIGHT 427 | 428 | 429 | 430 | -------------------------------------------------------------------------------- /BushtripStLaurent/PackageSources/stlaurent/stlaurent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Bush Trip 4 | stlaurent.spb 5 | 6 | 7 | Saint-Laurent Bush Trip 8 | 9 | 10 | Roberval to Chicoutimi 11 | 12 | 13 | 14 | 15 | 16 | Welcome to Roberval, Canada. Wind your way southeast along Road 169 and the Saint-Jean Lake southern bank. 17 | As Road 169 runs on, it will deliver you into the heart of a small city, Chambord. 18 | 19 | 20 | 21 | 22 | !A 23 | 24 | 25 | 26 | When you leave the city, at the railroad junction, leave Road 169 and follow a small road heading southeast. 27 | This road leads you to the Métabetchouane River. 28 | 29 | 30 | 31 | !A 32 | 33 | 34 | !A 35 | 36 | 37 | 38 | Follow its path to northeast and then north, among its successive rapids. You will be back to the Saint-Jean lake bank in the city of Deschiens. 39 | 40 | 41 | 42 | !A 43 | 44 | 45 | !A 46 | 47 | 48 | 49 | Follow the Saint-Jean Lake bank. Beware you enter in a restricted area (fly under 2000 feet). 50 | 51 | 52 | 53 | !A 54 | 55 | 56 | !A 57 | 58 | 59 | 60 | Go on following the Saint-Jean Lake bank, until you catch sight of a great aluminum plant located on your right. 61 | 62 | 63 | 64 | 65 | !A 66 | 67 | 68 | !A 69 | 70 | 71 | 72 | Set your course to it, and go on up to the mouth of the Saguenay river. You fly over the three dams which should power that aluminum plant. 73 | 74 | 75 | 76 | !A 77 | 78 | 79 | !A 80 | 81 | 82 | 83 | Follow the path of the Saguenay river until you find the next dams located at Jonquiere, the "Chute à Caron" (Caron's Fall). 84 | 85 | 86 | 87 | !A 88 | 89 | 90 | !A 91 | 92 | 93 | 94 | Cross the dams site and after a bend on the river, go on up to a road bridge over the river. This is the city of Chicoutimi and you will land 95 | here at the Chicoutimi/Saint-Honoré airport. Simply follow the north direction pointed to by the bridge and you will be on final for runway 36. 96 | 97 | 98 | 99 | !A 100 | 101 | 102 | !A 103 | 104 | 105 | 106 | Land at Chicoutimi/Saint-Honoré airport, runway 36. 107 | images\chicoutimi.png 108 | 109 | !A 110 | 111 | 112 | 113 | 114 | 115 | 116 | Chicoutimi to Grandes Bergeronnes 117 | 118 | 119 | 120 | 121 | 122 | Take off from Chicoutimi/Saint-Honoré airport and fly towards south to find the Saguenay River. 123 | 124 | 125 | 126 | 127 | !B 128 | 129 | 130 | 131 | Follow its path to southeast until you reach another blend of the river. On your right a wide bay (Baie des Ha!Ha!) shows 132 | an ancient arm of the river. Someone laughing here? 133 | 134 | 135 | 136 | !B 137 | 138 | 139 | !B 140 | 141 | 142 | 143 | Continuing along the river, you may explore some of the fjords that lead to it. 144 | Go on until you reach the Saint-Laurent river and the city of Tadoussac on the north bank of the Saguenay river. 145 | 146 | 147 | 148 | !B 149 | 150 | 151 | !B 152 | 153 | 154 | 155 | Tadoussac is well known for its whales watching in speedboat. Why not go to the middle of the saint Laurent river 156 | to try to observe some? 157 | 158 | 159 | 160 | !B 161 | 162 | 163 | !B 164 | 165 | 166 | 167 | Hope you saw some belugas. To land at the Grandes Bergeronnes airfield, fly towards north to the second large river mouth 168 | you can see on the Saint-Laurent river bank. Landing from the west (runway 10) may be tricky. 169 | images\grandes-bergeronnes.png 170 | 171 | !B 172 | 173 | 174 | 175 | 176 | 177 | 178 | Chicoutimi to Charlevoix 179 | 180 | 181 | 182 | 183 | 184 | Take off from Grandes Bergeronnes airfield and fly towards southwest along the Saint-Laurent river bank while passing again off Tadoussac. 185 | 186 | 187 | 188 | 189 | !C 190 | 191 | 192 | 193 | In the middle of the river you may see an elongated island, the 'Ile aux lièvres' (hare island). Then there is a 194 | smaller one, the 'Ile aux fraises' (strawberry island). 195 | 196 | 197 | 198 | !C 199 | 200 | 201 | !C 202 | 203 | 204 | 205 | You may choose to fly over land now, just one mile, and reach the next river mouth, the "La Malbaie" river and the city of the same name. 206 | 207 | 208 | 209 | !C 210 | 211 | 212 | !C 213 | 214 | 215 | 216 | That leads you to the Charlevoix airport whose only runway is perpendicular to the Saint-Laurent river path. Prepare your approach 217 | and land at Charlevoix airport. 218 | Images\charlevoix.png 219 | 220 | !C 221 | 222 | 223 | 224 | 225 | 226 | 227 | Charlevoix to Pintendre 228 | 229 | 230 | 231 | 232 | 233 | Take off from Charlevoix airport and follow the Saint-Laurent river path towards southwest. The first island you fly over is 234 | the "Ile aux coudres" (hazel island). Then fly towards south to reach the next island. 235 | 236 | 237 | 238 | 239 | !D 240 | 241 | 242 | 243 | After having almost crossed the Saint-Laurent river, you see the end of the next island, the "Ile aux grues" (cranes island). Fly over the 244 | island staying parallel to the Saint-Laurent river south bank. Start climbing 3500 feet. 245 | 246 | 247 | 248 | !D 249 | 250 | 251 | !D 252 | 253 | 254 | 255 | You fly over a number of smaller islands, and can see the river split into two arms. Between the arms lies the "Ile d'Orléans", a larger island 256 | which announces your arrival in the city of Québec. Fly along the south coast of the island. 257 | 258 | 259 | 260 | !D 261 | 262 | 263 | !D 264 | 265 | 266 | 267 | Stay over the Saint-Laurent river while you enter in Québec-City, staying above 1500 feet. You may see the "Chateau de Frontenac" just after 268 | the harbor and the marina on your right. Once you reach the (almost) only bridge on the Saint-Laurent river, turn to the south and follow either the Chaudière river 269 | or the highway 74 on the second bridge. 270 | 271 | 272 | 273 | 274 | !D 275 | 276 | 277 | !D 278 | 279 | 280 | 281 | Here are the Chaudière Falls on your right. Shortly thereafter you cross a railway line that spans the river. Follow that railway to the northeast. 282 | 283 | 284 | 285 | 286 | !D 287 | 288 | 289 | !D 290 | 291 | 292 | 293 | Then to the east when it splits to the south at the marshalling yard. On the next intersection follow the northern path. You may start to descend and 294 | prepare to turn left when you cross a small river. 295 | 296 | 297 | 298 | !D 299 | 300 | 301 | !D 302 | 303 | 304 | 305 | After crossing that river, you may see the Pintendre airfield to your northeast. You may use the road following the river as a turning point 306 | to align with runway 30. Land there and stop the aircraft. You're done. 307 | Images\pintendre.png 308 | 309 | !D 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | End mission 319 | TT:MISSIONMESSAGE.FLIGHT.OUTOFFUEL 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | Chicoutimi/Saint-Honoré Airport 328 | CYRC 329 | false 330 | 331 | 332 | 333 | (A:SIM ON GROUND, Boolean) 0 > 334 | 335 | 336 | 337 | 338 | [OnGround] 339 | if{ 340 | [SignedDistanceToClosestRunway] 0 < 341 | if{ 1 } 342 | els{ [LandedOnRunway] } 343 | } 344 | els{ 345 | 0 346 | } 347 | 348 | 349 | 350 | 351 | [LandedOnRunway] [IsInAirportArea] (A:GROUND VELOCITY, Knots) 2 < and and 352 | if{ 353 | [TimerLanded] [dtime] + 354 | } 355 | els{ 0 } 356 | 357 | 358 | 359 | 360 | 100 361 | 362 | 363 | 364 | 365 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] > [OnGround] and [FarTouchDown] or 366 | 367 | 368 | 369 | 370 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] < [SignedDistanceToClosestRunway] 0 > [OnGround] and and [OutsideTouchDown] or 371 | 372 | 373 | 374 | 375 | 376 | 377 | [OutsideTouchDown] [FarTouchDown] not and 378 | 379 | 380 | 381 | 382 | 383 | 384 | true 385 | 386 | [TimerLanded] 2 > 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | Grandes Bergeronnes Airfield 396 | CTH3 397 | false 398 | 399 | 400 | 401 | (A:SIM ON GROUND, Boolean) 0 > 402 | 403 | 404 | 405 | 406 | [OnGround] 407 | if{ 408 | [SignedDistanceToClosestRunway] 0 < 409 | if{ 1 } 410 | els{ [LandedOnRunway] } 411 | } 412 | els{ 413 | 0 414 | } 415 | 416 | 417 | 418 | 419 | [LandedOnRunway] [IsInAirportArea] (A:GROUND VELOCITY, Knots) 2 < and and 420 | if{ 421 | [TimerLanded] [dtime] + 422 | } 423 | els{ 0 } 424 | 425 | 426 | 427 | 428 | 100 429 | 430 | 431 | 432 | 433 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] > [OnGround] and [FarTouchDown] or 434 | 435 | 436 | 437 | 438 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] < [SignedDistanceToClosestRunway] 0 > [OnGround] and and [OutsideTouchDown] or 439 | 440 | 441 | 442 | 443 | 444 | 445 | [OutsideTouchDown] [FarTouchDown] not and 446 | 447 | 448 | 449 | 450 | 451 | 452 | true 453 | 454 | [TimerLanded] 2 > 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | Pintendre Airport 464 | CPT9 465 | false 466 | 467 | 468 | 469 | (A:SIM ON GROUND, Boolean) 0 > 470 | 471 | 472 | 473 | 474 | [OnGround] 475 | if{ 476 | [SignedDistanceToClosestRunway] 0 < 477 | if{ 1 } 478 | els{ [LandedOnRunway] } 479 | } 480 | els{ 481 | 0 482 | } 483 | 484 | 485 | 486 | 487 | [LandedOnRunway] [IsInAirportArea] (A:GROUND VELOCITY, Knots) 2 < and and 488 | if{ 489 | [TimerLanded] [dtime] + 490 | } 491 | els{ 0 } 492 | 493 | 494 | 495 | 496 | 100 497 | 498 | 499 | 500 | 501 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] > [OnGround] and [FarTouchDown] or 502 | 503 | 504 | 505 | 506 | [SignedDistanceToClosestRunway] [RunwayDistanceThreshold] < [SignedDistanceToClosestRunway] 0 > [OnGround] and and [OutsideTouchDown] or 507 | 508 | 509 | 510 | 511 | 512 | 513 | [OutsideTouchDown] [FarTouchDown] not and 514 | 515 | 516 | 517 | 518 | 519 | 520 | true 521 | 522 | [TimerLanded] 2 > 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | TT:MISSIONMESSAGE.FLIGHT.OUTOFFUEL 532 | true 533 | 534 | [FuelQuantity] 535 | 536 | 537 | 538 | 539 | (A:FUEL TOTAL QUANTITY, gallons) 540 | (A:UNUSABLE FUEL TOTAL QUANTITY, gallons) 541 | - 542 | 543 | 544 | 545 | 546 | (A:PLANE ALT ABOVE GROUND, meter) (A:STATIC CG TO GROUND, meter) + 10 > 547 | 548 | 549 | 550 | 551 | (A:SIM ON GROUND, Boolean) 0 > 552 | 553 | 554 | 555 | 556 | [FuelQuantity] 0.001 < 557 | [OnGround] not 558 | and 559 | [FlyingOutOfFuel] 560 | or 561 | 562 | 563 | 564 | 565 | [FlyingOutOfFuel] 566 | [OnGround] 567 | and 568 | if{ 569 | [TimerOutOfFuel] 570 | [dtime] 571 | + 572 | } 573 | els{ 574 | 0 575 | } 576 | 577 | 578 | 579 | 580 | 581 | 582 | [TimerOutOfFuel] 15 > 583 | [FlyingOutOfFuel] 584 | [OnGround] 585 | (A:GROUND VELOCITY, Knots) 5 < 586 | and 587 | and 588 | or 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | [InAir] 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | End of mission 606 | false 607 | 608 | 609 | Resolve Goal End of mission 610 | 611 | 612 | 613 | 614 | 615 | Failure 616 | failed 617 | 618 | 619 | 620 | 621 | 622 | TimerStart 623 | true 624 | true 625 | true 626 | 627 | 628 | 629 | 630 | 631 | INTRO 632 | false 633 | true 634 | true 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | BUSHTRIP 659 | false 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | LANDING_REST 668 | false 669 | 670 | 671 | 672 | 673 | 674 | 675 | FlowEvent_Landing_Rest 676 | 677 | 678 | 679 | 680 | 681 | FlowEvent_DisableFuel 682 | 683 | 684 | 685 | 686 | 687 | Landed outside of runway 688 | EVENT_TRIGGER_NOT_ON_RUNWAY 689 | 690 | 691 | WiseAFSSet 692 | ACTIVITIES_FLOW_STATE 693 | BUSHTRIP 694 | 695 | 696 | WWiseRTCState_NON_RTC 697 | GAME_RTC_STATE 698 | NON_RTC 699 | 700 | 701 | WWiseRTCState_RTC 702 | GAME_RTC_STATE 703 | 704 | (A:PLANE ALT ABOVE GROUND, meter) (A:STATIC CG TO GROUND, meter) - 0 < 705 | RTC 706 | 707 | 708 | (A:PLANE ALT ABOVE GROUND, meter) (A:STATIC CG TO GROUND, meter) - 0 > 709 | RTC_IN_FLIGHT 710 | 711 | 712 | 713 | --------------------------------------------------------------------------------