- 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
CanvasControllerasConvasController#586 - Remove deprecated fixRadialDist() #290
- Renamed
MIDDLE_PESSasMIDDLE_PRESSinInputController#593 - Fix instances of misspelling of @param in code docblocks #602
- Deprecates
gulp servertask and addsnodemonpackage #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
EventBusandEventModel#457 - Adds
RunwayCollectionandRunwayRelationshipModeland moves some runway logic to live in these new classes #93 - Updates
SpawnPatternModelto use theAirportModel.arrivalRunwayproperty 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, andStripViewModelclasses #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.headingModevalue #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
documentationdirectory #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 forAppto call during game loop #137 - Converts
AirportController,GameControllerandUiControllerto static classes #72- updates
windowreferences to these classes - updates
propreferences 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
AircraftStripViewinAircraftModel#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
EventBusinsideAircraftCommander#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
undefinedinCommandParserwhen 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 thefixNamewhencurrentLegis 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
AircraftStripViewto display departure procedures with the correctNAME.EXITshape #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
ModeControllerthat 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
Pilotclass that acts as a coordinator layer between theAircraftCommander,AircraftInstanceModel,ModeController, andFms - Completely reworks how
Aircraft.targetis 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
PositionModelinto two new classes;StaticPositionModelandDynamicPositionModel - Work on this issue also resolves or invalidates previously recorded issues:
aircraftInstanceModel.fmshas 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
AircraftInstanceModelto get the current runway #129 - create RouteBuilder class and smooth out RouteModel #144
fixcommand with multiple arguments skips to last fix #153- Add
.hasFix()method to FixCollection #158 - Route amendments will stop altitude changes #197
StaticPositionModeland 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.jsonto 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
publicdirectory - minify airport json/geojson files and output to
publicdirectory - combine aircraft and airline json files into
aircraft.jsonandairline.jsonand output them to thepublicdirectory - copy static assets (fonts and images) to
publicdirectory - introduce Handlebars templates and create
buildMarkupbuild process - point the local server to the
publicdirectory`
- 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.rbtojsonAssembler.jsand adds it to the build process.
- Corrects
icaoof the Boeing 767-400 and also updates the information to Eurocontrol data #222 - Updates
app.jsonto 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
icaokey. UpdatesAirlineCollectionandAirlineModelto handle variable casing oficao#195 - Adds a default position value to
SpawnPatternModelso 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
returnin.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
ALMandSVDarrival patterns from 'EKCH' because there aren't enough fixes to support them 176 - Updates
entryPointandexitPointto be pluralized as is the airport json standard #177 - Adds
entryPointstogcrrstar route definitions #175 - Fixes arrival pattern that was using an array of fix names instead of a routeString. #174
- Updates
wmkkStandardRoute definition to include at least one fixname #173
- Restructures
srcfiles intoclientandserverfolders. #220 - Updates Node to version 7.0.0 #184
- Moves aircraft command logic from
AircraftInstanceModelto newAircraftCommanderclass #181 - Adds
spawnPatternsto airport json and vastly simplifies aircraft creation. Work on this issue ended up resolving many other smaller issues listed below. #243- Restructure
Airport.departuresto 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
AircraftStripViewtext outputs to be all uppercase #193 - Ensures proper removal of all
AircraftConflictinstances 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_LISTinairportLoadList#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
sidCollectionandstarCollectionwithRouteModelwithinAircraftInstanceModel#53- Creates getters for
currentLegandcurrentWaypoint - Abstracts restrictions logic to live within
Waypoint - Consolidates
runSID()andclimbViaSid()logic
- Creates getters for
- Deprecates
sidandstarproperties of theAirportModelin favor ofsidCollectionandstarCollection#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
Pegjsand references completing switch to new CommandParser #216
- Implements
modelSourceFactoryandmodelSourcePool#77 - Refactors
canvasController.canvas_draw_sidsmethod to useairport.sidCollectioninstead ofairport.sid#144 - Moves properties shared by all
Arrivaltypes up toArrivalBase#55 - Removes
$.each()fromAirportModelin 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 ofPositionModeland intounitConverters#17 - Moves flight management system files to
FlightManagementSystemfolder #128 - Adds
RouteModeltoAircraftInstanceModel.runSTARfor easier handling of a route string #163 - Adds static
calculatePositionmethod toPositionModeland 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
PositionModelto run all calculations through the static.calculatePosition()method and vastly simplifies internal logic.
- Updates
- Refactors the the function names in
FixCollectionto 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
routeStringtorouteCodeinRouteModeland moves.toUpperCase()from the getter to.init()[#188] (n8rzz/atc#188) - Updates
StandardRouteModelto throw when entry/exit point doesn't exist within a collection and updates.setDepartureRunway()to send therouteCodetoLegon 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
_commentblocks 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
_isNumbercheck instead of!magneticNorthinsidePositionModel.calculateRelativePosition()and theAirspaceModelconstructor. #182- Originally reported under #754
- Adds additional handling to
StandardRouteModel._buildEntryAndExitCollectionsto handle case whereentryPointsandexitPointsdon't exist in theairport.sidsdefinition #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
FixModeland static classFixCollectionfor reasoning about airport fixes #18 - Adds
StandardRouteclasses reasoning about SIDs and STARs #19 - Moves
airlineControllerandaircraftControllerto instantiate from withinairportControllerinstead fromApp#82 - Enable airport load without bundling and moves
airportLoadList.jsout of thesrcfolder #88 - Updates score calculations and how they are recorded #96
- Correct casing for Arrival and Departure factories #41
- Rename
AreaModeltoAirspaceModel#36 - Changes
StandardRouteproperty nameicaotoidentifier#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
areasis undefined inAirportModel#90FixCollection.init()does not clear current_itemsif 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