- New Airport: KABQ (Albuquerque International Sunport, NM) #327
- Add Hartsfield–Jackson Atlanta Intl. (KATL) #541
- Removed index.html as it is generated from templates when run #619
- Implements new loading screen with new color scheme and animated radar sweep #619
- Extends departing spawnPatterns outside the airspace at EIDW to prevent point deduction #566
- Extends departing spawnPatterns outside the airspace at MDSD to prevent point deduction #615
- New airport: MDSD (Las Américas International Airport, Dominican Republic) #288
- Includes Terrain and Video map
- Adds Copa Airlines (CMP) and PAWA Dominicana (PWD)
- Add new openScope emblem vector graphic #572
- Adds additional meta tags to index.html head #484
- Adds a link to the full command reference at the end of the tutorial #581
- The distance separator behind aircraft on ILS is now toggleable #536
- Removes the blue line "departure window" #411
- Removes inactive danger areas at EIDW #562
- Make aircraft proceed direct new fix after full reroute #570
- Recalculate SID/STAR legs when changing assigned runway #383
- Remove +/-/= zoom hotkey, conflicts with speed #510
- Correct EGKK's departure fix #577
- Fix spelling error of
CanvasController
asConvasController
#586 - Remove deprecated fixRadialDist() #290
- Renamed
MIDDLE_PESS
asMIDDLE_PRESS
inInputController
#593 - Fix instances of misspelling of @param in code docblocks #602
- Deprecates
gulp server
task and addsnodemon
package #599
- Ensure previously specified directions of turn are not preserved when a new heading instruction is given #549
- Add capability for vectors in route strings #310
- Adds more context to the Model classes by adding an optional input paramater #138
- Adds object helper class for object validation #191
- Renamed AircraftInstanceModel with AircraftModel #402
- Add capability for fly-over fixes in route strings #19
- Adds squawk/sq command #372
- Adds the ability to call an airplane by its callsign #40
- Adds
EventBus
andEventModel
#457 - Adds
RunwayCollection
andRunwayRelationshipModel
and moves some runway logic to live in these new classes #93 - Updates
SpawnPatternModel
to use theAirportModel.arrivalRunway
property when gathering waypoint models needed to calculate initial aircraft heading #469 - Adds support for suffixes in SID and STAR procedures #33
- Adds game option to include/hide WIP airports in the airport list #476
- Adds
StripViewController
,StripViewCollection
, andStripViewModel
classes #285- Removes progress strip logic from the
AircraftModel
- Completely reworks CSS for
StripViewList
- Removes progress strip logic from the
- Adds
.isGroundedFlightPhase()
and implements this helper in.buildWaypointModelsForProcedure()
#491- This allows for waypointModels to be build from the correct collection based on
flightPhase
- This allows for waypointModels to be build from the correct collection based on
- Updates
AircraftModel.onAirspaceExit()
to look only at themcp.headingMode
value #477 - Adds user setting option to change length of PTL #423
- Updates Dublin (EIDW) - Improved procedures, added terrain and video map, modified airspace, realistic traffic #208
- Updates logic to display historical aircraft position for aircraft outside controlled airspace #508
- Updates development-workflow-procedures, adds Quick Start guide to README and consolidates all documentation in the
documentation
directory #418 - Adds tests and verifies functionality of non-procedural departures and arrivals (support for direct route strings) #434
- Adds unique transponder and CID generation methods #483
- Abstracts non game loop logic into new class
AppController
, which provides facade methods forApp
to call during game loop #137 - Converts
AirportController
,GameController
andUiController
to static classes #72- updates
window
references to these classes - updates
prop
references to these classes
- updates
- Add support for ranged altitude and speed restrictions in procedures #32
- Improve VNAV climbs and descents to better comply with restrictions #32
- Updates Boston Logan Intl. (KBOS) - Updated procedures, added video map and terrain, modified airspace, realistic traffic #228
- Removes left over references to
AircraftStripView
inAircraftModel
#535
- Fixes coordinate letter issue at SBGL #385
- Prevent NaNs being passed on if invalid altitude is given #424
- Removes fix command from tutorial and replaces it with infomation on 'route', 'Say Route', and 'Proceed Direct' #356
- Fixes coordinate letter issues at RJBB, OSDI, OTHH #325
- Removes KBOS fixes from EKCH #448
- Runway, wind and spawnPattern changes to allow EGNM to operate #492
- Prevent attempts to access positions of vector waypoints #467
- Adjusts fix validation for hold/vector/flyover fix names #451
- Prevents simulator from wrongfully overriding assigned alt/hdg during approach clearances #521
- Updates
AirportModel.buildRestrictedAreas()
to build the coordinate array with the correct shape #522 - Adds local reference to
EventBus
insideAircraftCommander
#539 - Cancel approach clearances whenever an altitude or heading instruction is given #344
- Make flight strips show appropriate altitude values #546
- Fixes or removes from load list all airports that fail to load #458
- adds deployment-checklist document #316
- Updates the airport-format.md file #184
- allow for specification of airport's default arrival and departure runway #374
- adds airport-file-standards document #367
- Adds additional check for
undefined
inCommandParser
when adding args to aCommandModel
#364 - Deprecates and removes
AircraftController._setDestinationFromRouteOrProcedure()
as it was implemented to maintain a previous api which is no longer used #370 - Ensure the verbal and text instructions/readbacks state the correct directionality #188
- Updates Pilot.applyDepartureProcedure() to use RunwayModel correctly #396
- Updates
fms.getDestinationName()
to return thefixName
whencurrentLeg
is not a procedure #399 - Fix wrong PTL length and set to 1 minute #394
- Fixes broken link in airport-format #404
- Fix datablock speed to show GS, not IAS #395
- Ensure red response is given to
rr FIXXA..FIXXB
#408 - Fix strip update crash for arrivals on vectors #410
- Updates
AircraftStripView
to display departure procedures with the correctNAME.EXIT
shape #359
- Refactors FMS #139
- This represents a ground-up, from scratch, re-build of the flight management system with new classes:
Fms
,LegModel
, andWaypointModel
- Introduces the
ModeController
that completely separates Altitude, Heading and Speed settings from the FMS and allowing the FMS to be in charge of the flight plan and any fixRestrictions defined for a given route - Adds
Pilot
class that acts as a coordinator layer between theAircraftCommander
,AircraftInstanceModel
,ModeController
, andFms
- Completely reworks how
Aircraft.target
is calculated - Introduces the concept of
flightPhase
, and begins integrating that property in lieu of category (arrival/departure) - Adds ability to define hold waypoints with a symbol
@
- Splits
PositionModel
into two new classes;StaticPositionModel
andDynamicPositionModel
- Work on this issue also resolves or invalidates previously recorded issues:
aircraftInstanceModel.fms
has a circular dependency withaircraftInstanceModel.fms.my_aircraft.fms
#57- Using STAR command to change aircraft's assigned STAR throws errors #73
- Abstract current waypoint altitude and speed setting #77
- Add Leg to modelSourcePool #78
- Refactor fms param out of Leg #79
- Extend RouteModel, or add new layer, to handle compound routes #81
- Rerouting aircraft causes it to climb to unassigned altitude #86
- deprecate
aircraft.eid
#87 - Implied holding in route strings #114
- Rerouting uncleared aircraft onto SID fails #122
- Using "fix" command yields legs with lower case route #123
- Create getter in
AircraftInstanceModel
to get the current runway #129 - create RouteBuilder class and smooth out RouteModel #144
fix
command with multiple arguments skips to last fix #153- Add
.hasFix()
method to FixCollection #158 - Route amendments will stop altitude changes #197
StaticPositionModel
and enforcing use of Positions where appropriate #287
- This represents a ground-up, from scratch, re-build of the flight management system with new classes:
- Standardized indentation in all json files #256
- followed up and corrected 2 mistakenly cleared out aircraft files #259
- Fixes Firefox compatibility issue by changing ajax to getJSON #263
- Fixes bug with departures at SAME #303
- Fixes coordinates for PAM at EHAM #321
- Ensure aircraft reach their targeted speed #340
- Fixes last-second go-arounds by landing aircraft #342
- Ensure aircraft follow glideslope #346
- Fix mispronunciation of grouped numbers '820' as 'eight-twenty-zero' #338
- Updates
static.json
to not use ssl #252
- Restores spawning of GA aircraft at EDDT #249
- Removes GitHub Pages specific files and moves hosting out of GitHub Pages. #154
- Updates build process to: #230
- minify css and javascript and output to
public
directory - minify airport json/geojson files and output to
public
directory - combine aircraft and airline json files into
aircraft.json
andairline.json
and output them to thepublic
directory - copy static assets (fonts and images) to
public
directory - introduce Handlebars templates and create
buildMarkup
build process - point the local server to the
public
directory`
- minify css and javascript and output to
- Makes sure the output for sid and star commands are always uppercase. #109
- Marks all airports as works in progress #179
- Changes deployment server from Express to Nginx #166
- Adds javascript minification to build process #163
- adds copy task to public directory
- translates
json_assembler.rb
tojsonAssembler.js
and adds it to the build process.
- Corrects
icao
of the Boeing 767-400 and also updates the information to Eurocontrol data #222 - Updates
app.json
to use correct buildpacks #224 - Overhauls Munich - updates Munich to AIRAC 1702, adds STARs, and adds a realistic traffic flow. #104
- Adds Tokyo Narita International Airport as per AIRAC 1702 #103
- Fixes an instance of two runways called "34R" in Shanghai Pudong #149
- Adds the required space between 'fh' and its argument in the tutorial #201
- Updates airline json files to include
icao
key. UpdatesAirlineCollection
andAirlineModel
to handle variable casing oficao
#195 - Adds a default position value to
SpawnPatternModel
so aircraft have, at least, a[0, 0]
starting position #207 - Ensures data block colored bars are all the same width (3px), regardless of callsign length #210
- Adds missing
return
in.generateFlightNumberWithAirlineModel()
that was needed to properly recurse back through the method in the case of a duplicate flight number. #210 - Updates boolean logic in
App.updateViewControls()
which was evaluating an asynchronous property that, typically, had not finished loading. #203 - Fixes internal fms error that was breaking the game when issuing holds over present position #148
- Adds Openscope favicon #170
- Removes
ALM
andSVD
arrival patterns from 'EKCH' because there aren't enough fixes to support them 176 - Updates
entryPoint
andexitPoint
to be pluralized as is the airport json standard #177 - Adds
entryPoints
togcrr
star route definitions #175 - Fixes arrival pattern that was using an array of fix names instead of a routeString. #174
- Updates
wmkk
StandardRoute definition to include at least one fixname #173
- Restructures
src
files intoclient
andserver
folders. #220 - Updates Node to version 7.0.0 #184
- Moves aircraft command logic from
AircraftInstanceModel
to newAircraftCommander
class #181 - Adds
spawnPatterns
to airport json and vastly simplifies aircraft creation. Work on this issue ended up resolving many other smaller issues listed below. #243- Restructure
Airport.departures
to utilize routes #229 - Abstract inline fix object out of ArrivalBase #56
- Simplify creation of arrival aircraft #27
- Include airline id in airline json #242
- Create SpawnCollection, SpawnModel and SpawnScheduler classes #235
- Circular reference in airportModel.departures.airport #28
- Circular reference in airportModel.departures.airport #28
- Restructure
- Changes
AircraftStripView
text outputs to be all uppercase #193 - Ensures proper removal of all
AircraftConflict
instances involving an aircraft that has been removed from the simulation #133- Originally reported under zlsa#734
- Changes the names from having the flags in their name by adding WIP variable to the
AIRPORT_LOAD_LIST
inairportLoadList
#205 - Fixes white space in that is displayed from the
AircraftInstanceModel
#192 - Adds cache to travis build #233
- Restores behavior of aircraft flying present heading after completing all legs in their flightplan #206
- Originally reported in zlsa#767
- Fix wrongful removal of departures from runway queues when arrivals land #241
- Originally reported in zlsa#770
- Fix erroneous voice readbacks for altitude command #240
- Originally reported in zlsa#769
- Fixes behavior of AircraftConflict in various ways, particularly with removal after deletion of aircraft #133
- Originally reported in zlsa#734
- Integrates
sidCollection
andstarCollection
withRouteModel
withinAircraftInstanceModel
#53- Creates getters for
currentLeg
andcurrentWaypoint
- Abstracts restrictions logic to live within
Waypoint
- Consolidates
runSID()
andclimbViaSid()
logic
- Creates getters for
- Deprecates
sid
andstar
properties of theAirportModel
in favor ofsidCollection
andstarCollection
#54 - Adds Express server to serve static assets and add travis config file for travis continuous integration #169
- Rewrites the CommandParser from the ground up #114
- Removes
Pegjs
and references completing switch to new CommandParser #216
- Implements
modelSourceFactory
andmodelSourcePool
#77 - Refactors
canvasController.canvas_draw_sids
method to useairport.sidCollection
instead ofairport.sid
#144 - Moves properties shared by all
Arrival
types up toArrivalBase
#55 - Removes
$.each()
fromAirportModel
in favor of_forEach()
and uses_get()
insideaircraftInstanceModel.parse()
instead of if statements #52 - Moves creation of Legs and Waypoints to constants instead of as method arguments #135
- Moves
.parseCoordinate()
out ofPositionModel
and intounitConverters
#17 - Moves flight management system files to
FlightManagementSystem
folder #128 - Adds
RouteModel
toAircraftInstanceModel.runSTAR
for easier handling of a route string #163 - Adds static
calculatePosition
method toPositionModel
and abstracts common functions #159 - Replaces active airport icao in view with a zulu time clock #135
- Consolidates test fixtures in fixtures directory #167
- Addresses issue with video maps being drawn incorrectly. #176
- Updates
PositionModel
to run all calculations through the static.calculatePosition()
method and vastly simplifies internal logic.
- Updates
- Refactors the the function names in
FixCollection
to better fit their function.init()
toaddItems()
anddestroy()
toremoveItems()
[#186] (n8rzz/atc#186) - Adds gulp-cli and adds tools readme link to gulp issues with Windows #194
- Changes
routeString
torouteCode
inRouteModel
and moves.toUpperCase()
from the getter to.init()
[#188] (n8rzz/atc#188) - Updates
StandardRouteModel
to throw when entry/exit point doesn't exist within a collection and updates.setDepartureRunway()
to send therouteCode
toLeg
on instantiation #175 - Prevents collision detection for aircraft that are outside of our airspace #134
- Originally reported under #736
- Escape clears commands but not callsign if commands are present [#211] (n8rzz/atc#211)
- Originally reported under #763
- Moves
_comment
blocks in airport json file to be within object the are describing #145 - Streamlines flight number generation and adds new method to add new callsigns to the existing list #151
- Adds
_isNumber
check instead of!magneticNorth
insidePositionModel.calculateRelativePosition()
and theAirspaceModel
constructor. #182- Originally reported under #754
- Adds additional handling to
StandardRouteModel._buildEntryAndExitCollections
to handle case whereentryPoints
andexitPoints
don't exist in theairport.sids
definition #196- Originally reported under #760
- Ensures proper removal of aircraft from the runway queue(s) when that aircraft has been deleted. #132
- Originally reported under #706
- Adds
FixModel
and static classFixCollection
for reasoning about airport fixes #18 - Adds
StandardRoute
classes reasoning about SIDs and STARs #19 - Moves
airlineController
andaircraftController
to instantiate from withinairportController
instead fromApp
#82 - Enable airport load without bundling and moves
airportLoadList.js
out of thesrc
folder #88 - Updates score calculations and how they are recorded #96
- Correct casing for Arrival and Departure factories #41
- Rename
AreaModel
toAirspaceModel
#36 - Changes
StandardRoute
property nameicao
toidentifier
#57 - Introduce early exit for airport load when airport data is not complete #44
- Adds git-flow strategy document #60
- Adds
BaseModel
#100 - Adds
BaseCollection
#101
- WMKK has misnamed star name #45
- Updates spelling in
.convertMinutesToSeconds[)
#58 - Future aircraft path, when on ILS, wrong width #75
areas
is undefined inAirportModel
#90FixCollection.init()
does not clear current_items
if any exist #91- Aircraft strips show arrival airport in uppercase #108
- Updates
FixCollection.findFixByName()
to accept upper, mixed, or lower case fix name #109 - Switching to a previously loaded airport does not clear previous airport fixes #115
- Fixes
parseElevation()
so that it does not return NaN when it is given the string'Infinity'
[#191] (n8rzz/atc#191)- Originally reported under #756