Overview
The two main parts to Flight Code-X is the Studio the main interface to Create Scenarios, and the other is the runtime the plugin for X-Plane to load and run scenarios
- runtime location Resources>plugins>FlightCodex>64 lin.xpl or win.xpl
- studio location Resources>plugins>FlightCodex>studio FlightCodex-studio or FlightCodex-studio.exe
- scenarios should be save and loaded from Resources>plugins>FlightCodex>scenarios
- scenarios folder contains an assets folder for aircraft objects and sounds to be used with multiple scenario
- each scenario folder contains an assets folder for aircraft objects and sounds to be used with individual scenario
- each project is saved as a .simp with the same name as the folder containing
- after generation .simc and .sims files are created this is for the runtime ( if you want to share a scenario the .simp file is not needed for the runtime) assets will need to be shared as well
- more info in the Folder Structure section
Studio Interface: Main elements
- Node canvas - create Nodes and links
- Scenario data - all pre-definitions needed for scenario to run
- Properties - settings of nodes, objects, sounds and data references
- Mini map - full node graph overview click in mini map to navigate
- Main menu - systems settings tools and file operations
Main Menu
- File
- New - create new scenario Ctrl + 'n'
- Open - open scenario Ctrl + 'o'
- Save - saves scenario Ctrl + 's'
- Save as - save scenario first time or as a copy Ctrl + Shift + 's'
- Generate - will generate the scenario's .simc and .sims files Ctrl + 'g'
- import
- Flight plan - makes a series of target nodes based on the way points from X-Plane FMS files from departure to arrival
- Edit
- undo - work in progress
- redo - work in progress
- copy - Ctrl + 'c'
- past - Ctrl + 'v'
- cut - Ctrl + 'x'
- settings - change the display units for world distance, speed, target size, altitude and speed. does not affect base data ref and will not convert when using data refs in set data, watch or conditional
- Arrange
- align
- horizontal Alt +'h'
- vertical Alt +'v'
- distribute
- horizontal Alt +'d'
- vertical Alt + Shift + 'd'
- align
- Manage
- refs
- data - scan and load data refs to the scenario from X-Plane defaults, favorites or saved custom. persistent over all runs of the studio
- command - scan and load commands to the scenario from X-Plane defaults, favorites or saved custom. persistent over all runs of the studio
- refs
- View
- Zoom
- in - zoom in one step Ctrl + '='
- out - zoom out one step Ctrl + '-'
- reset - zoom out one step Ctrl + '0' (zero key)
- Mini-map - location in the canvas
- Style - light or dark theme
- GUI scale - set the whole interface scale
- Tool tip - check box to enable tool tips
- Snap to grid - check box to enable node to grid snap
- Zoom
- Help
- Licence Manager - update key to unlock from demo or de-register machine to move to different computer
- Visit - go to flightcodex.com
- About window
Node Canvas
Navigation
- Hold middle mouse to scroll the canvas
- left click to select node - displays selected node's setting in properties
- left click and drag on canvas to box select multiple nodes
- left click on pin and drag to create link
- left click hold on node to move node or multiple selected
- backspace or delete to remove selected node/nodes or links
- right click or press shift + 'a' key to add a generic node to canvas - change node type in Properties
- scroll mouse wheel to scroll canvas up or down
- shift + mouse wheel to pan the canvas left and right
- ctrl + mouse wheel to zoom in or out
Action Nodes
One time Actions when triggered
- generic
- Place holder node
- start
- sets a start point for the scenario
- all nodes connected to start nodes will execute on scenario run
- if no start nodes all nodes with out an input connection will execute
- sound
- Plays a wave file set by the path from the flight lab directory
- waits till sound is done before executing the next node.
- pause
- Pause or unpause the sim
- does not pause the scenario
- command
- Trigger selected commands form command list
- multiple commands can be added to this node
- edit objects
- Sets new location for objects
- multiple objects can be added to this node
- delay
- add a delay before executing the next node
- set data
- Sets new value to data refs
- multiple data refs can be added each with there own value
- set position
- will set the users aircraft to a new position in the world with out causing a reload
- set lat, lon alt - will keep the same orientation of the flight same heading, pitch roll and speed
- set orientation check box - if active heading, pitch roll and speed can now be set
- condition
- branches the path based on conditions when checking data refs
- if all conditions are successful will continue down true path else will continue down false path
- calc
- will set the selected data references to the result of two operands
- many data refs can be added
- operations are in order from top down
- add '+' , subtract '-', multipy'*' and devide '/'
- will set the selected data references to the result of two operands
- stopwatch
- controls the stopwatch functionality
- start - starts and displays the stopwatch
- stop - stops the running of the stopwatch
- close - stops and turns off stopwatch
- reset - sets time to zero, clears laps and penalties
- lap - shows the time elapsed from for a lap
- penalty - add time to penalty accumulator
- controls the stopwatch functionality
- time control
- controls the selected timer trigger node
- pause - pauses the running of the timer
- resume - continue running the timer
- stop - closes and stops the timer will not execute any other nodes attached to timer trigger
- controls the selected timer trigger node
- monitor control
- turns on or off a monitor node
- stop
- ends and cleans up scenario
- removes objects, closes timers, data refs, commands and sounds.
- ends and cleans up scenario
Trigger Nodes
Action waits till condition are completed to continue to next node
- generic
- Place holder node
- timer
- starts a count down timer
- can be set to display the reaming time
- an arc can be added to the display
- set warning percent - turns timer display from green to yellow
- set caution percent - make the the timer display red
- starts a count down timer
- command
- when the command is triggered will execute next node
- create a command in the command list
- when the command is triggered will execute next node
- watch
- waits for data ref conditions to be met before continuing
- target
- wait till near a target either raw Geo location or objects Geo location from list
- window
- sets up a window at position that need to be flew through
- altitude - center point of the window
- altitude above and below - upper and lower bounds
- width - how wide is the window
- heading direction window is facing
- sets up a window at position that need to be flew through
- point
- sets a point in space
- altitude - center of point
- altitude above and below - upper and lower bounds
- distance to - radius to point to be within to trigger
- sets a point in space
- window
- wait till near a target either raw Geo location or objects Geo location from list
Monitor Nodes
Nodes that when active continue to monitor condition. can set repeat delay in seconds
- generic
- Place holder node
- watch
- waits for data ref conditions to be met before triggering next node
- will continue to repeat the condition check till turned off by action control node
Scenario Data
- scenario
- name - name that will be displayed in scenario brief
- (wip) - needs new loader
- description - a short summary of the scenario for the brief
- (wip) - needs new loader
- location - airport code to load when starting the scenario
- also used for scenario brief (wip)
- name - name that will be displayed in scenario brief
- aircraft
- aircraft name - name that will be displayed in scenario brief (wip)
- path - path to the aircraft .acf file must be contained within the X-Plane directory
- data and logging
- enable FDR
- enables the recording of FDR files in X-plane format v4
- records one second intervals
- default time, lon, lat, alt(feet), heading, pitch and roll
- other data refs can be added to what is recorded
- will generate FDR with appropriate data ref deffinitions
- change the unit to be represeted of added data 1 is no change i.e. X-Plane unit, or to display knots in the fdr use a factor of 1.94384
- Enable flight log
- this setting will log node events
- time stamps will match up to FDR if both are generated at the same time
- each node can be enabled in the log from the individual node's properties
- Output is a csv time stamped file with the scenario name in plugins>FlightCodeX>scenario output>{scenario name}> (data for fdr or log for events)>{scenario name}{date}{time}.fdr
- enable FDR
- start parameters
- starting Geo location latitude, longitude (decimal format)
- starting heading - mag variance compensated
- altitude in meters sea level
- starting speed knots
- objects - list of objects for the scenario
- add or remove object from list with buttons
- select object to see properties in properties window
- object name - name to reference object by in scenario and other nodes
- path - path to .obj file built for x-plane best if in scenario > assets > objects folder in Flight Code-X plugin folder
- starting Geo location latitude, longitude (decimal format)
- starting pitch, roll and heading - mag variance compensated
- commands - list of commands for the scenario
- add or remove object from list with buttons
- select object to see properties in properties window
- command name - name to reference command by in scenario and other nodes
- description - short description of what the command is for
- path - command reference path of what X-Plane uses Resources > plugins > Commands.txt or set your own path for custom command
- Create Command check box - will notify the runtime to create the command needs a Trigger - Command node to be selected
- data references -list of data references for the scenario
- add or remove data references from list with buttons
- select data references to see properties in properties window
- data references name - name to reference data references by in scenario and other nodes
- path - data references reference path of what X-Plane uses Resources > plugins > DataRefs.txt or set your own path for custom data ref
- type - what data type is this reference int, float or double referenced in DataRefs.txt or user defined for custom
- array check box - defines if data ref is an array or not
- create data ref check box will create a custom data ref for this scenario
- sounds - list of sounds for the scenario
- add or remove sounds from list with buttons
- select sound to see properties in properties window
- sound name - name to reference sound by in scenario and other nodes
- path - path to sound to be loaded by the run time only plays .wav files
- caption - a note about the sound
- (wip) - display text on the screen
Folder Structure
- Resources/ (inside of X-Plane install location)
- plugins/ (X-Plane plugin)
- FlightCodex/
- 64/
- lin.xpl (runTime)
- win.xpl (runTime)
- Logs/
- logs for Flight Code-X
- scenario output/
- <scenario_name>
- data
- time stamped flight data files in 1 second interval
- log
- time stamped event log files correlated to data zulu time
- data
- <scenario_name>
- Studio/
- FlightCodex-studio (Scenario builder and editor - Linux)
- FlightCodex-studio.exe (Scenario builder and editor - Windows)
- Scenarios/
- Assets/ (used across multiple scenarios)
- Sounds/
- Objects/
- Aircraft/
- Scenario_1/ (Individual scenario)
- Assets/ (used local only to scenario)
- ... (similar structure as Assets under top level Scenarios)
- Scenario_1.conf (generated from studio - Scenario configuration required for plugin)
- Scenario_1.sim (generated from studio - Scenario script required for plugin)
- Scenario_1.spro (studio project file - Scenario project not necessary to run scenario from plugin here for organization )
- Assets/ (used local only to scenario)
- Learning_To_Takeoff/ (group of related scenarios)
- Assets/
- ... (similar structure as Assets under top level Scenarios)
- Scenario_1/
- ... (similar structure as Scenario_1)
- Scenario_2/
- ... (similar structure as Scenario_1)
- Assets/
- Lesson_grou/ (group of related scenarios)
- Assets/
- ... (similar structure as Assets under top level Scenarios)
- Scenario_1/
- ... (similar structure as Scenario_1)
- Scenario_2/
- ... (similar structure as Scenario_1)
- Assets/
- Another_Lesson_Group/
- ... (similar structure as Learning_To_Takeoff)
- Assets/ (used across multiple scenarios)
- 64/
- FlightCodex/
- plugins/ (X-Plane plugin)