Releases: chris-ali/j6dof-flight-sim
Java Flight Simulator v0.75 Alpha
Changes Since v0.65
JavaFX Integration
- Recreated Swing GUI in JavaFX for more modernized presentation and potential use with jMonkeyEngine
VM Arguments
- Added command line argument for setting JavaFX vs Swing; use LWJGL_JAVAFX or LWJGL_SWING respectively
Bugfixes
- Fixed bug with some resolution radio buttons not disabling when full screen enabled
- Fixed trim tabs not being reset with other flight controls
- Disabled transient controls to fix analysis doublets/singlets generating incorrectly; need to investigate
- Fixed joystick buttons/hat inputs not being reset when released
Java Flight Simulator v0.65 Alpha
Changes for v0.65a
-
Cleaned up how control parameter events are determined
-
Added full screen mode to options and fixed display options not being applied before window created
-
Added maven model to project and used it to determine project name and version programmatically
-
Removed Mouse and Joystick Options; project will always use controller if connected, otherwise use keyboard
-
Fixed error on export of LogsOut to CSV
-
Fixed simulation plots disappearing after first refresh called
-
Updated Documentation
-
Added reset GUI text when sim is reset
-
Added debug mode option to display parameters of camera/entity in chase view
-
Modified default logging level from debug to info
Java Flight Simulator v0.6 Alpha
Changes Since 0.4
Added JME to pom and test terrain class to preview JME
- Created SimulationStepper to step all parts of simulation by external update loop
Refactor flight controls to accept external sources
-
Created InputData and InputDataListener to get inputs from external source
-
Created ExternalFlightControlsStateManager to accept external source inputs and handle the input actions
-
Greatly simplified implementation of datatransfer package objects. Most of them are now contained in the classes they poll for data
-
Updated InputMaster to handle joystick axes and buttons
-
Added InputData and InputMaster to LWJGLWorld step()
-
Modified keyboard mappings to use int instead of string for key
-
Deleted inputdevices package so that inputs entirely received from LWJGLWorld
Simplified data transfer
- Moved FlightData and event listeners into Integrate6DOFEquations
Removed unused Swing instrument panel and SteelSeries gauges
Maintenance
-
Added decimal formatting to SimOuts and cleaned up ConsoleTableModel
-
Removed unneeded/updated outdated test "harnesses"
Upgrade LWJGL to 3.2.3
-
Removed SlickUtils for PNGDecoder as it's not compatible with LWJGL3
-
Upgraded other pom dependencies to latest versions
-
Added JSON back to .gitignore
-
Converted all Mouse, Keyboard and Controller polling into GLFW callbacks/gets. Project is 100% migrated from jinput and usable on newer Java versions
-
Added visibility flag to GUIText
Java 11 Fixes
-
Bugfixes to get program working with Java 11
-
Reworked build script to handle recent updates and be more progammatic
Added tutorial to Documentation on changing controls settings
Added building/development info to README
Java Flight Simulator v0.4 Alpha
Changes Since v0.3
Numerous Bug Fixes and Performance Improvements
-
Combined all simulation threads into a single thread to fix concurrency and timing issues
-
Fixed various synchronization issues surrounding generating doublet and singled controls in analysis mode
-
Reduced terrain texture size further to reduce graphics card load
-
Added algorithm to selectively render terrain objects by proximity to aircraft
Transient Flight Controls Actuator and Input Separation
- Separated the direct input of flight controls from the actual actuation of the control surface to allow for custom actuators to simulate a fly-by-wire system
Open GL Instrument Panel
- Converted instrument panel objects from vector-drawn Swing objects to PNG textures that are directly rendered in the Open GL window and positioned and scaled using JSON configuration
Switchable Chase View
- Added third-person chase view and switchable camera views that can be changed using key presses (7 8 and 9); In chase view, a simple aircraft model displays, and the camera can be panned around using the middle mouse button
JSON Configuration
- Converted all configuration files into JSON (Javascript Object Notation) for cross compatibility with other applications, simpler I/O within JFS and easy customizability of the following:
- Aircraft dimensions, parameters and specifications
- Keyboard and joystick control assignments
- Analysis Mode (Singlet/Doublet) control injections
- Plot window, tab and subplot configuration
Audio, Camera and Display Menus
- Added additional menus and reorganized existing ones for configuring display and camera options
Maven Integration, File Pathing, Unix Support
-
Added Maven to automatically manage external library dependencies, and easily build releases
-
Added log4j to entire project to log loading, general operation and errors to a logfile
-
Modified file pathing within code and added natives to support Unix based OS' as well
Java Flight Simulator v0.3 Alpha
Changes Since v0.2
Simulation
- Improvements to ground reaction model for takeoff and landing
- Moved flight controls to separate thread to make update rate independant of simulation and allow for later use with SAS or autopilot systems
- Fixed trimming bug where simulation would only correctly trim the first time the simulation is started
OTW
- Reduced tree texture size to reduce size of simulation and graphics card usage
- Integrated instrument panel window into simulation window; instrument panel can now be toggled on/off from the options panel; when the instrument panel is hidden, text displays at the top of the screen showing current position/airspeed/altitude/heading
- Added text display to simulation window when simulation is paused
- Modified terrain object to read an object mapping texture to determine where to generate trees on a terrain tile
UI
- Plots can now be refreshed and cleared in preparation for a new maneuver
- Added Keyboard Only option in the Options window to allow the user to control the aircraft with just the keyboard; added flaps controls to keyboard
Misc
- Minor additional UI and simulation bugfixes
Java Flight Simulator v0.2 Alpha
Changes Since v0.1
- Added trimming method to calculate trim elevator, throttle and pitch angle for a given altitude and airspeed
- Reduced size of world somewhat to improve performance
- Added OpenAL sound engine to play engine, flap, gear, stall horn and wind sounds
- Audio tab in Options to configure individual volume settings for sound types
Download / Installation
- Hosted on MEGA due to file size (~50 MB) @ https://mega.nz/#!Jh0zgYwQ!wLeTWFkM94LpVeMgTIUttZqp1xD42AJLmjXtpHFUwj8
- Extract zip file contents, and then run JavaFlightSimulator.exe
Java Flight Simulator v0.1 Alpha
Features / Limitations
- First pre-release candidate of Java Flight Simulator
- Comes with two aircraft, the Ryan Navion and Camair Twin Navion
- Plotting functionality works except for refresh option in plot window dropdown menu
- No trimming is implemented yet
- Ground reaction does not interact with terrain height, only with sea level
- Out the window terrain tiles repeat, with no generated entities for now
- Latitude/longitude coordinates in options menu do not work yet
- No sound implemented yet
Download
- Hosted on MEGA due to file size (~50 MB) @ https://mega.nz/#!gtd0BQYa!_TxKNHpIjlyUfYFeQRVsxassJc21JT_jmSH1O5hEXKE
- Extract zip file contents, and then run JavaFlightSimulator.exe