StarStrider v2.6 : What's New
- Updated the code to use DirectX 9 (so DirectX v9.0 or later is now required).
- Minimum CPU requirement is now a Pentium III or AMD Athlon or later.
- 16-bit video modes are no longer supported.
- Added Pentium 4 code optimization (it will of course still run well on other CPU's too). Also added some multi-processor support (retrieval and projection of 3D stars can now run in parallel with other tasks). This will also work on HyperThreading enabled P4's (which should show a frame rate improvement of 10-20%).
- If you have 3D-hardware that supports "Pixel shader v2.0" plus "Vertex shader v1.1" (or later) then planets are now drawn using new pixel and vertex shader code. This not only provides much improved performance on the latest generation of video cards, it also adds per-pixel lighting for improved realism.
- Also added pixel shader support enabling single-pass rendering of stars in "saturated gauss" and "gauss+cross" mode for hardware that supports this (this too requires "Pixel Shader v2.0" which means that it is only enabled for Nvidia GeForce FX or ATI Radeon 9500+ class hardware). The frame rate improvement (i.e. for cards that supports this) is typically 20-50% (depending on the number of stars and the video mode).
- When rendering in "windowed mode", it is now synchronized to the vertical retrace. This means that 1) you don't get any 'tearing' and 2) you wont get insane fps figures way higher than the screen refresh rate - saves CPU cycles for other things... Note: older video card drivers might only allow updates at half the screen refresh rate.
- When rendering stars in "saturated gauss" and "gauss+cross" mode, the blending with the background is now done in a more photo-realistic way.
- Added a new "Tutorial 6 - Stereo vision" that will teach you about the fundamentals of using stereo vision with anaglyph glasses.
- Improved the graphic presentation of various text infos - including adding graphical illustrations of the field of view and visibility + saturation limit settings.
- Cursor movement in full-screen mode is now smoother when the mouse is in "pointer mode".
- In mouse pointer mode, it is now possible to hold down the left mouse button (which also selects objects beneth it) or the middle mouse button (if any) and drag the mouse to scroll the view.
- In mouse pointer mode, you can now use the mouse-wheel (if any) to zoom (wheel not pressed down) or to change the magnitude limit (wheel pressed down).
- Added a "Load recent files" list as a sub-menu to the file menu.
- "Tellus/Luna/Sol" are now 'renamed' into "Earth/The moon/The sun" by default - even though the latter are the colloquial names rather than the proper names. You can turn this off in the "View"->"Names and lines" menu.
- The "Look back" control (normally on the 'minus' key) has been renamed to "Flip viewing direction" and will now work without breaking travel or orbit states, i.e. you can now e.g. look back while traveling someplace. It is now also possible to interrupt and reverse an ongoing flip in a nice way.
- It is now possible to get closer to objects without 'bouncing away' - the starship will now automatically start to 'brake' (and thus go slower) if you drive near an object.
- Added a "Set time & place" dialog on the "Space & time" menu. This allows you to set the clock to a specific time and/or go view a specific longitude and latitude coordinates on a planet.
- 'Travel to' and 'Orbit' modes now require a larger input control movement to break and return to 'free movement' mode. This should avoid breaking them by accidentally nudging the mouse a tiny amount, or by e.g. joysticks that do not want to stay properly centered.
- The sky is now lit up when traveling very close to a planet with an atmosphere,
- It is now possible to drag'n'drop .Star* files to the StarStrider window.
- Added a new option "File->Enable startup script" which allows you to dsiable the short start-up script.
- Screenshots are now saved in the sub-directory "Screenshots".
- Added a code editor add-on - this is a "must have" if you are making your own StarLua or StarScript extensions! It is based on the excellent SciTE editor, modified and set up specifically for editing StarLua and StarScript code with proper syntax high-lightning et c. Context sensitive keyword help, and output of error messages to the editor "output pane" has also been added (simply double-click on an error message to go to the line where the error occured).
- StarLua improvements:
- Updated to the "Lua 5.0 (final)" code.
- Added a global "menu" table containing the functions that allow your StarLua program to use StarStrider-style menus: "create", "addcommand", "addtoggle", "addcomment", "addsubmenu", "addseparator", "addback", "select", "show", "isshown". More detailed information is found in the StarLua reference manual.
- Added "world.cacheobj(uobjBody) to pre-load planet textures. This can be used to avoid the program stopping to load textures at an 'inconvenient time' (normally when the body first comes into view).>
- Added an optional image rotation parameter to the draw.bitmap() function.
- Added "observer.setorigin(nil|uobj|v)". This will let you manage the "local origin". You can clear it, set it to an object, or set it to a position vector. See the "Set selected as origin" menu command.
- Added a set of "observer.view.stereo.*" functions and variables that let's you control the stereo viewing mode and settings.
- Added "setscriptmode(true)" which turns off most user input controls and enables an "Abort" menu when you press Esc - just like when running a StarScript.
- Added two more sample programs: "Menu & Clock.StarLua" demonstrating how to use menus, and "R for Random.StarLua" showing how to use StarScript from StarLua.
- It is now recommended that you use an extension of such as ".StarLuaLib" rather than ".StarLua" for files with code that is not intended to be executed on their own (e.g. files with only library functions or subroutines). It will still be possible to execute such code from StarLua and StartScript programs, but they won't show up in the "Open file" dialog.
- StarScript improvements:
- Added a "luaopt" option to the "load" command. When loading a StarLua file, you can use this to specify a string containing StarLua code to be executed before the loaded program. This is very useful as a mechanism for passing parameters to programs. I.e. you can now write StarLua programs that act as 'sub-routines' to StarScript scripts taking any parameter values needed using this new option! E.g.: load lua="MyRotateView.StarLuaLib" luaopt="angle1=20; angle2=10"
- Added "lat" and "long" options to the "travel" command. These allow you to specify the desired latitude and longitude when traveling to a body (planet or satellite).
- Added a "cache" option to the "select" command - this will let it pre-load planet textures.
- Added a "rotate" parameter to the obj command that can be used to rotate images.
- Added an "origin" option to the "observer" command - this will let you set the local origin to a given position vector ("observer origin=[]") or to the currently selected object ("observer origin=selected") or clear the origin ("observer origin=clear"). See the "Set selected as origin" menu command.
What was new in v2.5