0.9.0
Pre-release
Pre-release
New release finishing all physics-related features.
Changes from 0.8.0:
- Refactored all solvers.
- A lot of new solvers were added:
- Stormer-Verlet and Verlet Velocity solvers, based on Verlet integration.
- 2nd to 6th-order Runge-Kutta solvers, including many variants. A generic RK-solver is also coded, but not available from the UI.
- Beeman solver, based on Beeman's algorithm.
- Backward Difference Correction solver, based on the Backward Difference Correction method.
- 2nd to 5th-order Adams-Bashforth and Adams-Bashforth-Moulton solvers, based on Adams method's.
- Add random orbiting body functionality ('AdO' button or 'j' key)
- Added field to specify gravity force exponent (G. Exp.)
- Saving/loading G.Exp from universe files
- Added experimental bouncing collisions mode.
- Added option to highlight bodies within their Roche limit in relation to the current orbital reference.
- Showing computed system energy on the bottom toolbar with checkbox to enable/disable (as it could affect performance).
- Introduced minor stochastic variations to newly created bodies characteristics (diameter, mass, speed).
- Added spacebar keybinding to follow all bodies (change the reference frame to the center of mass of the universe)
- Added 'Clr' ("Clear") button to remove all bodies (with keybindings to 'e' key). This is different than creating a new universe, as clearing keeps current parameters (gravity, g.exp., etc)
- Scrollable pane now can be scrolled through mouse wheel scrolling.
- Rearranged widgets on the "Options" tab.
- The Planetarium class is now SDL_widgets-independent. A SDL_widgets adapter was conceived around it, named PlanetariumPane.
- Fixed semi-implicit Euler solver.
- Fixed crash when too many bodies were created through pressing 'R' key
- Fixed gravity being set to 1 when creating a new universe.
- Fixed bug in parameters after changing universe (loading, clearing) and possible memory leak.
- Fixed visual glitch after using the file dialog.
- Fixed creating random bodies when using a (fast) moving reference frame.
- Many other bug fixes and memory leak fixes.
- Other minor changes.
- A lot of refactoring.