* Used new skybox images with liberal licences so the project is now actually "free software" (Tomasz Buchert)
* Many thanks for Frank Möhle for the rest of these changes!
* Lua 5.2
* Small updates for classic physics
* OpenGL rendering tweaks
* Glowing particle textures (#83)
* Added MESA GL 7.x/8.0.x to blacklist
* VMWare OpenGL driver to blacklist
* Added more spawn scripts: merging galaxies, clouds, plummer
* Fix setvideomode: second try with videoantialiasing=0 fails (#66)
* Use spawn name as default simulation name (#49)
* Smooth rotation and zoom (#89)
* Many bugs fixed, speed improvements, and build fixes
* First release in 7 years!
* New Logo (#57)
* Massive performance improvements, OpenMP, SSE (Frank Möhle #4 #7 #9 #10 #13 #14 #22)
* Free CPU when idle - helps to keep your laptops cool (Frank Möhle)
* User interface widgets with Agar (#1 #31 #41)
* Skybox rendering, currently only 2 skyboxes (#2 #39)
* International keyboard support fixed (Frank Möhle #11)
* Support for Lua 5.1 (Frank Möhle #16)
* Streaming music (OS X only, David Turnbull #5)
* Screenshot to PNG (Frank Möhle #13)
* Added stereomode 2 for red-cyan anaglyph glasses (Frank Möhle)
* Smooth auto-zoom when using zoomfitauto 2 (Frank Möhle)
* Detect number of processors when using OpenMP (Frank Möhle #4 #10)
* General operating and build system improvements and compatibility:
o Build systems improved/overhauled: MinGW, VC++, Xcode, autoconf (Frank Möhle #7, #8, #29, #46)
o Better compatibility with Debian, Ubuntu, OS X, Windows XP, Windows 7 (32/64bit) (#29)
o Tested and runs on a Raspberry Pi :)
* Windows Installer improvements: (Frank Möhle #52)
o 32bit and 64bit Windows installers
o Includes Visual C++ Redistributable Package
o Optional component for installing the screensaver instead of a checkbox in the last step (#17)
* Fix for crash when memoryavailable is more than 2GB (Frank Möhle #15 #19)
* Limit frame rate to 60fps (Frank Möhle #25)
* Seed the random number generator in Lua on startup (Frank Möhle #26)
* Record until frame N by referencing a frame that doesn't exist yet with the "frame" command (Frank Möhle #26)
* Infinite loop bug when running "framecompression 0" (Frank Möhle #26)
* Reduce console verbosity (Frank Möhle #28)
* Detect memory available and automatically use a percentage of it (50% by default, #40)
* Many other subtle features, speed improvements, bug fixes, etc.
* Console tab completion
* Added Q and W keys for lowering and increasing frameskip
* added S key to toggle stereo mode
* added D and F to decrease and increase stereoseparation
* Reorganised F1 help
* Added stereoosd to make the osd shown in stereo (but stretched for now)
* When drawosd is 0, the console and console log will be displayed when you activate the console
* Fixed a bug with the octree (and others) sometimes not being drawn
* Fixed colour scheme bug with one colour
* Stereoscopic mode uses degrees instead of a distance and keeps the simulation in the middle of your view
* autoconf uses sdl-config
* Added a vim syntax highlighting and tabstop setting to the top of all .gravitspawn files
* Fixed an endless loop in dust.gravitspawn
* Slightly modified dust.gravitspawn to sometimes only have one particle in the center of the dust cloud
* Less significant figures shown for colorschemeadd
* More significant figures shown when setting g
* g is now a float
* osd displays frameskip with display frame in playback
* Fixed a bug when frameskip is on, spawning a new simulation caused the simulation to display incorrectly
* Added negative mass colour key and the colour key is thinner
* Added "zoomfitauto 2" to autofit every frame ("zoomfitauto 1" is still default)
* Added original Makefile (Makefile.old) to source distribution
* Increased initial velocities in many-galaxy.spawnparticles
* Added an optional dependency - lua
* Scriptable spawn locations using lua
o The spawn command accepts an argument that executes a lua script called [name].gravitspawn in your spawn directory
o spawn by itself will execute default.gravitspawn which picks a random script
o Added spawn scripts: one-galaxy, binary-galaxy, many-galaxy, dust, snake, loop
o binary-galaxy and many-galaxy will randomly spawn elliptical and spiral galaxies
o Spiral galaxies now spawn on arbitrary angles
* frameskip accepts negative values to play back in slow motion
o the negative number represents how many video frames display each recorded frame
o particles are interpolated between frames
* Gravit now uses autoconf and automake (Thanks Alec Thomas)
o It now stores data and config files in configured places (/usr/local/bin,/usr/local/share/gravit,/etc)
* Supports multiple users for UNIX builds
* Removed gravit-x.x.x-win32.zip package
* Renamed gravit-x.x.x-src.tgz package to gravit-x.x.x.tar.gz
* recordingvideorefreshtime in gravit.cfg is now 100
* Added two colour schemes: momentum and kinetic energy (Thanks Sam Lander)
* Colours are only updated once per frame and when changing colour modes
* Added zoomfix and zoomfitauto to automatically zoom in or out to fit all the particles on the screen (zoomfitauto is on by default)
* When two particles spawned in the same location gravit crashes on the first frame. Particles now get checked and moved on spawn.
* When the GL_ARB_point_parameters and GL_ARB_point_sprite extensions don't work, default to particlemode 2 instead of 0
* saveauto stopped saving after it reached max frames -- fixed
* "Can't load custom.cfg" warning gone -- if it's not there it's ignored using "ignoremissing"
* fixed compilation on Mac OS X (Thanks Grigory Entin!)
* added help command for help
* added list command to list all available console commands
* added savelist to list all saved simulations
* added savedelete to delete a simulation
* more keys can be typed in the console
* console key repeat is now on (holding down a key to print multiple keys)
* console typed history, pressing up and down will scroll through your typed history
* console left and right keys will move the cursor around
* help console messages are now blue
* "G" set message is gone
* Added recording statistics that display percentage completed for generating the tree and adding velocities.
* Added particlerendermode 2 which is more compatible and looks like particlerendermode 1, but about half as slow (on my pc at least).
* particlerendermode is set to 2 by default.
* Added videorestart command -- restarts your video after changing video settings such as resolution or fullscreen.
* videowidth and videoheight won't change the gui until you do a videorestart
* Alt-Enter switches between fullscreen and not (buggy?)
* Added timers: timeradd, timerdel, timerlist
* Particles spawn faster with many particles
* Galaxies are spawned a little differently. Their height is 100th of the radius and their individual velocities are faster within the galaxy.
* Added maxvertices setting that automatically increases tailskip when too many things are being rendered
* tailskip is now set to 1 by default
* Tree renders correctly with stereo mode on
* Added autorecord to start recording after spawning particles.
* Major revamp of screensaver.cfg using timers
* Added popuptext command, not useful (yet!) :)
* Added autocenter command to automatically go to the 'middle' of the simulation (it's on by default)
* Simulation name is cleared when spawning a new simulation
* /CP was meant to be /C for screensaver code
* Windows Installer package added
* Windows DLL Zip package removed
* Windows Screensaver added
o Install it by running the "installscreensaver" command
o You need the SDL libraries in your Windows System directory for the screensaver to work (the Windows Installer does this for you)
o The Gravit makes use of the Windows registry to help the screensaver know where it is installed. It is saved on a per-user basis.
o Modify screensaver.cfg to customise your screen saver.
o You can hit the space bar during the screen saver to use Gravit.
* Added stereo/stereoseparation commands! (Careful, these make your eyes hurt)
o This draws two versions of the simulation on the left and right side of the screen.
o Have a read of http://www.angelfire.com/ca/erker/freeview.html to work out what your eyes can do... then,
o Set stereoseparation to be negative for a "Parallel" stereo view or positive for "Cross-eyed" view.
o The bigger the stereoseparation the more depth you will see.
o For best results:
+ try to use the cross view method (have stereoseparation positive, 500 works good for me)
+ turn off the on-screen display (drawosd 0)
+ be as zoomed in as possible
+ try all the effects!
* g command added, for changing G in the F=G*m1*m2/d^2 calculation.
o The value you get out of setting g is "10 ^ -g". Default is 5 (0.00001). The screensaver uses 4 (0.0001).
o The lower the number the less accurate the simulation is, but each particle moves quicker per frame.
* Added saveauto command to automatically save every n frames. Set it to 0 to turn it off.
* autorotate command added, for automatically rotating the camera. It was implemented primarily for the screensaver.
* Added zoom command. This is the variable you change when you zoom in and out.
* showcursor command added, hides or shows the mouse cursor
* Got rid of --exec. See --help!
* Got rid of some redundant matrix code
* Fixed mouse input oddness
* Mouse isn't stuck inside your window anymore
* Fixed bug in recordingvideorefreshtime. When set to 0 it would the screen as fast as possible (instead of once every finished recorded frame).
* Few spellings of the old name 'Graviton' fixed
* load and save commands added
o usage is save [simulationname] or load [simulationname]
o name doesn't require an extension - they're made for you in the save directory.
o if you don't specify simulation name, it will use the last name you used in a load or save command (if you have used one)
o control-s is a shortcut to save to the simulation
o the current simulation name is displayed on the top of the screen
* Better (?) mouse controls. You need to hold down a mouse button to rotate the view. This seems to be useful in non-fullscreen mode.
* Mousewheel up/down zooms in/out
* Added command-line parsing
o --help/--version self expanatory
o --execute to execute a command
o --noscript to not run gravit.cfg on startup
* Colour scheme bar is thinner
* Colour scheme bar can be turned off with "drawcolourscheme 0"
* Gravit now quits when the user hits the X in their WM
* Less alloc debug messages
* Compiling a console only binary works again (using -DNO_GUI)
* Added recordingvideorefreshtime command to allow Gravit to render to the screen while recording a frame or spawning particles.
o This makes your FPS smoother during a recording.
o Also allows you to restart the spawn process while spawning lots of particles.
o With a lot of particles, you can see the octtree being generated!!
o See gravit.cfg for more details...
* Added colourschemenew and colourschemeadd commands to allow you to customise the colour scheme
* Recording is now about twice as fast due to an inefficient distance calculation. (Thanks to Michael Vanslembrouck for pointing that out)
* Window Title now tells the status of your recording. For example "17/2532 (skip:16)" means 17 frames recorded our of a 2532 maximum with a record skip of 16.
* spawning galaxy sizes fixed
* grativ.cfg sets videobpp to 32 now, instead of 16.
* Windows zip's have renamed files to ChangeLog.txt and README.txt
* Added SDL_image as a dependency
* Added a second help menu (F2)
* Added blendmode command which has 5 blending modes (L key)
* Added demo.cfg to distribution (woops)
* Added sprite particle effects!
o It is on by default and uses the GL_ARB_point_parameters and GL_ARB_point_sprite extensions.
o Unfortunately these extensions may not work under certain conditions. Turning particlerendermode to 0 will make particles visible again.
o It will fall back to the original GL_POINT renderer if your card does not support them. It will also tell you that it has done this.
o Added particle.png
+ To modify it, save it as a transparent 24bit png.
+ If you modify it and it looks cool send it my way!
* Added particlerendermode command (0=original 1=sprites) ( \ Key )
* Added particlesizemin ( Keys: - = ) and particlesizemax ( Keys: [ ] ) commands to change the size of your particles.
o When you're in particlerendermode 0 only particlesizemin applies
* Added drawtree command which displays the last generated Oct Tree (T key)
o There are three modes: 0 off, 1 lines, 2 boxes
o leaf nodes are highlighted
* Added screenshot and screenshotloop commands, they are also bound to F9 and F10. They create (many) BMP files.
o This will make a screenshots directory for you.
o Careful! F10 takes a screenshot every frame!
* Added a new colour mode: Acceleration!
* Colour modes can be changed with the / key.
* Console can now be escaped by pressing escape, backtick (`) and hitting enter on an empty command
* Console cursor blinking is now based on time instead of frames
* Console input box is a little more obvious when active
* Added drawosd command which can hide the text ( O key )
* If initializing video fails, it will try change some settings for you and try again.
* All text files are saved in UNIX file format
* README, ChangeLog and config files are now in Windows format in the Windows packages
* Fixed permissions in tarball to 644
* Fixed library include path (/usr/X11R6/lib) issue (Alec)
* tailskip variable caused an infinitle loop when set to 0 (fixed)
* Many Makefile changes
* Added an icon!
* Thanks to Alec Thomas for Linux testing and code fixes!
* Initial Release