Tundra 1.0.6 is now out. I will summarize shortly on the biggest changes. If
you are a Tundra script developer and you have your own scripts deployed, be
sure to check the last section on what you need to do to get you scripts
running in 1.0.6.

There is a new login portal for realXtend. When you start your new 1.0.6
client, just hit "Try It" write your name and login! Give us some feedback
what you think of the new browser ui and the login portal. You can also
launch your Tundra 1.0.6 client from your normal browser by doing the same
login. If you are not interested in the finer details below and you have
scripts made for Tundra 1.0.5 please at least read section "JavaScript
Breaking Changes" to help with the transition to 1.0.6.

Again as always your client will notify you of the update automatically
inside 24h when its started. Or you can manually check for updates from the
windows menu or inside the viewer from the File menu.

*Features*

   - New web browser like ui for the client. You can think of Tundra as a
   web browser that also has 3D rendering capabilities. There is one static tab
   for login if you are disconnected or for the 3D content if you are
   connected.
      - You can jump to web tabs and have as many open as you like, both in
      disconnected and connected states. There is also a feature to
set your home
      page, bookmarks will follow later. Basic idea is that tundra://
urls can be
      set as your home page, you can modify the browser settings to
auto join the
      server too if youd like. You can also directly login to a world
by writing
      tundra://server:port/?username=<your_name>[&protocol=udp/tcp]
(inside [] is
      optional, it defaults to tcp) on any tab and it will connect to
that world
      and jump to the 3D tab.
      - There is a new content area for tools on the browser ui. When
      inworld you should notice there are two icons added there Scene
and Assets,
      so you dont have to use Shift+S/A or the top menus to access
them. Inworld
      scripts can also add their own actions there, so depending on
the world you
      might have more tools available to you. When disconnected the world tools
      are always cleared from the ui. Brief example on how to add your tools at
      the end.
      - Please give me some feed back how you like the new browser like
      interface. For web tabs all modern web sites should work ok (using 4.7.1
      QWebKit under the hood) and has flash support as well.
   - New realxtend login portal. This utilizes our registered tundra://
   protocol (currently only on windows). There are two ways it can be used 1)
   Login with your browser of choice (chrome/firefox/ie etc.), it will launch a
   Tundra client and login to the world. 2) Go to this page with your Tundra
   clients browser, do a login and it will connect to the world with your
   current client. Hosting for the actual Tundra servers is provided from
   Adminotech Ltd.
   - Menu items have been arranged a bit better, there is a new sub menu
   called settings.
   - Renderer settings are back and operational, this means ctrl+f will
   toggle full screen mode once again.
   - New EC_ProxomityTrigger.
   - New EC_LaserPointer.
   - UiServiceInterface was removed. See more under JavaScript Breaking
   Changes.
   - EC_Avatars attribute appearanceId renamed to appearanceRef. See more
   under JavaScript Breaking Changes.
   - New module CameraInputModule that provides web camera input. Also a
   test app you can access in a client from "View -> Web Camera". See how
   to utilize this new webcam api from
   http://www.realxtend.org/doxygen/class_camera_input_module.html under
   Detailed Description.
   - Post-processing settings are back in business. Accessed from menu View
   -> Post-prosessing.
   - New python irc client. Toni can post specifics about this if interested
   on using it. You can eg. make a Tundra server report to a IRC channel when a
   user logged in or out.

*Enhancements*

   - Doxygen documentation got a lot of updates and cleanup:
   http://www.realxtend.org/doxygen/ Still not perfect but getting there!
   - Py prints and enabled modules tweaks/cleanup, thanks to Toni.
   - Server will now always report port, protocol, used config files and
   auto server store params. New menu item on non-headless server "Server ->
   Configure Auto Store" to have ui ask you them, in headless mode you need to
   modify the config directly.
   - New menu action in "File" menu. On server there are "New" that opens a
   new txml for editing, then you can do "Save" or "Save as...". On client you
   can do "Import Web Scene", give a url to a txml/tbin file and it will be
   added to your current world you are connected to. When connected on a client
   you also have the option to "Save as..." the whole scene.
   - Renamed attributes from Entity and IComponent to lower case. See more
   under JavaScript Breaking Changes.
   - ConfigAPI has new function bool HasValue(file, section, key) so you can
   check if there are no initial values and write your defaults if this returns
   false.

*Bug Fixes*

   - Fixed issue that mumble voip had positional audio enabled when tundra
   cannot provide the own avatar position yet to the mumble library. This has
   the effect that voip could only be heard near scene center (0,0,0).
   - Fixed shutdown crash dump: Framework was killing qobjects that had
   Framework as parent, this caused in certain rare cases (eg. js qwebview
   usage) to crash on exit.
   - Fixed our QApplication subclass not to pump events/messages in Qt main
   loop after exiting had started.
   - Fixed avatar applications first person mode mouse jitter when looking
   around. (you can get here by zooming all the way to the avatar).
   - Fix EC_WebViews going black when you resize the main window.

*Links*

Full changelog of commits from github. Read more here if you are insterested
in specifics on what has changed:
https://github.com/realXtend/naali/compare/d7d12cf407...ced3636af8c0
Tundra 1.0.6 windows installer:
http://realxtend-naali.googlecode.com/files/realXtend-Tundra-1.0.6.msi
New login portal (you need 1.0.6 installed for this to work):
http://login.realxtend.org/

*JavaScript Breaking Changes*

If you have already made Tundra scripts that are running nicely in Tundra
1.0.5 you need to read this section. I'm going to write the biggest js api
changes and how to modify your scripts to get the running in Tundra
1.0.6 successfully.

   - *Rename*: IComponent::OnAttributeChanged() to AttributeChanged()
      - entity.OnAttributeChanged.connect(myHandler) -> entity.
      AttributeChanged.connect(myHandler)
   - *Rename*: Entity and IComponent attributes to lower case.
      - entity.Id -> entity.id, entity.Name -> entity.name
      - comp.Name -> comp.name, comp.TypeName -> comp.typeName,
      comp.NetworkSyncEnabled -> comp.networkSyncEnabled, comp.UpdateMode ->
      comp.updateMode
   - *Rename*: EC_Avatar attribute appearanceId to appearanceRef
      - You probably rarely use this if you havent implemented your own av
      app (the one we ship has been fixed). entity.avatar.appearanceId ->
      entity.avatar.apperanceRef
   - *Rename*: EC_Placeable QVector3D and QQuaternion attribute name chages.
      - You don't need to do changes if you are using placeable.transform
      and its vectors. If you are directly using the QVector3D or QQuaterion
      "duplicate" attributes you should first of all convert your code
to use the
      transforms attribute. If you dont want to do this you can read
the current
      api from http://www.realxtend.org/doxygen/class_e_c___placeable.html
   - *Removed*: UiServiceInterface
      - This is not a big change, you can do this by search and replace on
      all of your scripts. The uiservice.FunctionX() was not needed anymore how
      Tundra setups its UiAPI, so the same function can now be found from
      ui.FunctionX()
      - uiservice.FunctionX() -> ui.FunctionX() just search and replace
      "uiservice." with "ui."

If you still have problems after doing the changes, dont hesitate to contact
us on the mailing list so we can help! There might be something I am missing
here, just wrote it from the top of my head.

Also note that breaking JavaScript changes will continue in future releases,
planned changes:

   - Put all core api objects under a "namespace" so ui.FunctionX() ->
   tundra.ui.FunctionX()
      - This will be done to isolate core objects from normal ones in your
      js. For example if you do at some point asset = something; you
cannot access
      our core api asset.FunctionX() anymore.
   - Remove *Raw() duplicate functions that are only there for script
   languages. This would mean eg. entity.GetOrCreateComponentRaw("EC_Mesh") ->
   entity.GetOrCreateComponent("EC_Mesh")
      - On a side note this has already been implemented succesfully in the
      tundrajj branch. Porting this is only a matter or time for Toni who will
      propably get the code there. Or we wait untill tundrajj is going to be
      merged.

*JavaScript: How to use the browser ui tools section and url
opening capabilities*

// This will add you tool icon to the toolbar on the browser ui
// your widgets show() slot is called when user presses the button
var myToggleAction = new QAction(new
QIcon(asset.GetAssetCache().GetDiskSource(new QUrl("
http://server.com/myicon.png";))), "My Tool Name", null);
ui.EmitAddAction(myToggleAction);
myToggleAction.triggered.connect(myWidget.show);

// This will open a new tab in our main browser url. On a headless server it
does nothing.
var myUrl = new QUrl("http://google.com";);
ui.EmitOpenUrl(myUrl);

Best regards,
Jonne Nauha
Adminotech developer

-- 
http://groups.google.com/group/realxtend
http://www.realxtend.org

Reply via email to