The windows msi installer got some new attention from me this time. Many people have been having problems with the directx 9 detection. After some research on the issue the web installer we use does not have the best support for this. Also the (commercial) software I use to make the msi package does not have good support for msi installer to check dependencies on the fly. In order to do this properly I would need to make a .exe bootstrapper for the msi. This is unwanted as msi has some nice features for example sysadmins at eg. schools to mass install the client for big amount of machines. Before we switched to msi installers we shipped the directx installer and always ran it without checking if you have directx, this we wanted to avoid with some smarter stuff but now it seems our approach was not the best.
So for this release and the next ones after it we have re-enabled running the directx web installer every time you run a Tundra installer. The installer itself will do a brief check (when you start hitting continue franticly) if you have directx 9 and will do no additional downloading or installing, if you dont have the latest 9.0c it will install it for you. Hopefully you run this at least once to check if you have it, if you are sure you have it you can just hit cancel on the directx installer and it will go away and wont affect the Tundra installation in any way. OpenAL and the C++ runtime still have the smart checks and will not prompt you to install anything if you already have it, for these the smart checks are working well so I left them as is. If you’d like to check directx after the installation you will find a new shortcut start menu -> realXtend Tundra -> Help -> Instal DirectX 9 to go trough the validation steps again.
I have also cleaned up the uninstall step of tundra. It will now clean the install directory fully. Before when you ran tundra it left generated .pyc files to pymodules and ogre wrote some temp test files under media. This prevented the uninstall step to completely remove these folders. Now if you don’t manually copy new files to the tundra directories the uninstall step will clean everything out. If you have auto server store enabled your scene.txml file will be left intact and waiting for your next tundra install (like when updating to new version), so you wont lose your servers scene on updates (this has been the case from the beginning), the point was that if you create files they wont be deleted. Same thing applies if you copy local assets from example scenes (or tundra copies them for you) under data/assets they wont be removed. I also added the support for desktop icon (its selected by default) that will be named as “realXtend Tundra <version>”, this shortcut is also cleaned during a uninstall.
For a full uninstall of Tundra just run uninstaller and after that go to the install directory and check if you had some assets or other stuff, see what you want to keep and delete the rest. I hope we can move the default local storage directory (data/assets) out from the install directory soon to appdata so you don’t have to do any manual cleanup. It would be good not to create any new files to the install directory of course but we are not yet there, but very close.
But enough of the mumbo-jumbo and to the more interesting changelog:
- New Kinect, joystick and wiimote code. This is still experimental work but the supporting python code is now there. We are not yet shipping the needed DLLs but you are free to try on your own. We will ship the needed DLLs once the python code is working properly under windows.
- Code for ARModule: Simple support for augmented reality things. You can feed your reality camera feed to the background of the scene. The module also provides a simple EC that controls the depth/color buffer write for the entitys mesh. This module is not shipped (yet) with the installer. You can build it from sources if you want to experiment, ask more from Pforce on IRC.
- Code for MobilityModule: Utilizes QtModility to get information about battery state, connectivity etc. This information can be used for login in scripts. This module is not yet shipped, but you can build it from souces if you want to experiment. Will possibly ship for windows releases in the future when refined a bit, as this will be useful for laptops.
- Cave/StereoModule: Added new stereoscopy modes: Horizontal, Vertical and Checkboard. Also added functionality to flip the rendering on these modes.
- NullRenderer Ogre plugin: This plugin is used in headless mode (on windows only for now). Eliminates the need to have directx on server machines. Also loads the OgreRender module nicely without a remote GUI for a windows servers. This enables programs to start a tundra server on the desktop space without having a active remote to the server, also enables things like autorestarting on crashes if you want to implement something like this. The plugin will be enabled on linux aswell once tested properly there.
- EC_WebView: Added illuminating attribute to control the lighting of a webview texture. If enabled the material/texture is emissive (emitting light basically) so its readable also in dark conditions. Enabled by default.
- Avatar (simpleavatar.js) applications camera now evades obstables. Camera should not go outside of walls/obstacles so that you cannot see your avatar anymore. Supporting raycast functions added to OgreRenderer::Renderer.
- SlideSircle example scene got a lot of updates from therauli.
- OgreRenderer now prints what plugins it loads succesfully and also what rendering plugin it takes into use. Useful if you want to know if you are actually running dx or opengl etc.
- The “get back” buttons of object focus mode and freefly are now alot smaller and semi transparent so they wont hide the scene too much.
- EC_RigidBody: Added toggle functions for gravityEnabled for single entities. Added InterpolateUpwards function that forces the body not to flip over.
- EC_Placeable: More script exposing.
- IControlDevice: Added new interface for DevicesAPI that joysticks and other controller can utilise, has nice signals for control devices versus the plain IDevice.
- EC_LaserPointer: All lasers were tracking all clients, so it was a mess to use this. Also now hides the laser if you go on top of UI or outside the main window rect.
- Alt+Left Mouse Click on objects now focuses on the click position not the mesh origin.
- When going into object focus mode stop the avatar movement and rotation.
- EC_HoveringText: Fix couple crash bugs where image size was not validated before pushed to ogre.
- Github code commits between 1.0.7 -> 1.0.8 https://github.com/realXtend/naali/compare/dc3a6bcf21ac9b…9af41cdb840ab
- API documentation http://www.realxtend.org/doxygen/
- Link to installer http://realxtend-naali.googlecode.com/files/realXtend-Tundra-1.0.8.msi (remember you can update directly from the client or windows start menu if you already have Tundra installed)
- Login portal http://login.realxtend.org/
- RealXtend blog/website www.realxtend.org