Original creations in Second Life by Oggy Fink.

Tuesday, June 20, 2017

Theme-O-Matic v2.0 with preloading!

Today we released a very important update to the Theme-O-Matic System. For new customers, let's recall that this system is designed to store themes, that is sets of parameters for an object, its prims and faces, into notecards and later activate them.

This new release mainly addresses the first drawback of the previous version 1.1 : speed of theme activation.

Indeed, the "old" way of activating a theme is to read the notecard and apply it "on the fly". This is fine if you only have a few parameters to change, if your notecard only contains a few lines. However, for large themes (where you change the textures and materials of many faces on many prims for example), this is slow as the SL server may take time to feed the scripts with notecard lines.

While this way of doing things still is supported, this new version 2.0 introduces preloaders to solve this problem. If you do not want to wait for theme application, you can just "preload" them into script memory with the help of additional scripts - called preloaders.

These new scripts are an arbitrary number of copies of the same script - drop as many as you need into your object. They will, at your command, preload a theme notecard and have it ready for, later, almost immediate activation. You can even skip the explicit preload command by naming your theme notecard suitably thanks to an automatic preload feature - great for an AVsitter interface without using an additional command script!

While this principle sounds simple, under-the-hood mechanics tend to be quite complex, but the Theme-O-Matic takes care of the numerous details there. Just define your themes - themes created with earlier versions remain compatible - and decide how you want them activated : with or without preloading ? by simply clicking the object ? using a full-blown menu ? interfaced with another system (instructions are provided here for interface with AVsitter, Wearpose System and MvtPlayer) ?

When you prepare your object, you have to equip it with the "T-O-M Core" script, as many copies of the "T-O-M Preloader" script as you need, and maybe a standard command script, or one of your own...

Speaking of standard command script, 4 of them are provided:
  • T-O-M-SC SimpleCycle : theme activation without preloading, at the click of the object,
  • T-O-M-SC AutoMenu : automatic menu without preloading,
  • T-O-M-SC QuickCycle : theme activation with preloading at the click of the object,
  • T-O-M-SC PreloaderMenu: with preloading, full configurable menu.
All of them are full perm, and full instructions on the API in the documentation allow you to create your own command script. Of course you may always contact us for help.

An example of an object using the PreloaderMenu is rezzed in our inworld store ; check it out!

Here is the list of changes in this new version:
  • New preloader system allows for dramatic increase in theme activation speed.
  • Auto-load feature for preloaders to automatically preload suitably named themes.
  • Hover text and Omega are now prim properties, as opposed to object properties: you can now set them on every prim individually and not the whole object only.
  • New object property: Physics.
  • New prim property: Physics shape.
  • New "prim2" menu in preparation to allow selecting the extra prim properties
  • Much much richer API. Now scripts can gather much more information from the Theme-O-Matic and usefully dialogue with it.
  • Asynchronous Core operation: while a theme is being applied, the Core continues to answer script requests.
  • Applying (or preloading) a theme can now be aborted.
  • Many optimizations and fixes.
Full PDF documentation in English and French is available by clicking here.

As usual, reasonable requests are always considered, constructive criticism welcome, and recommendations even more welcome :) Feel free to contact us!

Spread the word!

No comments:

Post a Comment