Scripts

Previous section < Theme types

- Chapter: Basic concepts -

Next section > Properties

There are several kinds of scripts shipping with the Theme-O-Matic and it's important that you understand their roles. I will cover them here.

First of all it is important to distinguish between two phases: the preparation phase (when you are creating your themes) and the running phase, when you or your customer uses the Theme-O-Matic to apply the themes you created.

Main scripts

Preparation phase

Three scripts are specific to the preparation phase and will work together:

These scripts manage a complete menu system you will use to select which properties will be recorded, how the filters will be used to select the prims and faces that will be considered, as well as do complementary tasks like setting hover text and omega (rotation). Finally, these are the scripts that will be in charge of actually creating themes, either as notecard contents or straight to Linkset Data (LSD).

As they are not aimed at your customers, these scripts are non-transferable, only copiable. They will be used only by you, the creator, to define the themes.

The T-O-M Core (see below) is also useful in the preparation phase when testing the themes.

Running phase

Two scripts shipped with the Theme-O-Matic are used in the running phase. They are copiable and transferable:

As the name suggests, the T-O-M Core will be in charge of applying a theme by reading it from a notecard. It is designed to have minimal interference with other scripts you might need in your object and therefore manages no menu system and does not respond to any touch events by itself. Instead it will only talk with other scripts, called "client" scripts (see below).

The T-O-M Core also has the job of coordinating the preloaders and sending information on the Theme-O-Matic to client scripts, and is also useful during the preparation phase to test the generated themes.

Preloaders are a neat feature introduced in version 2.0 of the Theme-O-Matic. They are as many copies as required of the same T-O-M Preloader script, and they are used to read a theme notecard into their own memory and keep it there ready for immediate applying when commanded to do so.

This allows the Theme-O-Matic to be ultra fast as the time-consuming operation of loading the theme from notecard is made in advance. More details about this in a later section.

Client scripts

As previously explained, the T-O-M Core only interfaces with other scripts, called client scripts. It entirely relies on the messages they send to it to know which theme to apply and when, maybe with the help of preloaders.

All required information is given on this site to create your own client script, but a number of standard client scripts are provided with the Theme-O-Matic. Some provide a very simple touch interface, others manage a menu system, or a HUD relay or remote control, or interface with popular third-party systems.

Here is a brief description of these standard client scripts. They are all provided as full-permission scripts so that they can easily be adapted to your specific needs and serve as programming examples.

More information, as well as instructions about creating your own client script, is available on the dedicated pages from this site.

Touch-only clients

T-O-M-SC SimpleCycle

This standard client finds the theme notecards and applies a new theme every time the object is touched.

T-O-M-SC QuickCycle

Does the same thing as the SimpleCycle except that preloaders are used to create an ultra fast applying effect.

Menu-driven clients

T-O-M-SC AutoMenu

Available theme notecards are compiled into a full menu with pagination so the user can select which theme to apply.

T-O-M-SC FullMenu

This script will manage a full menu system, with optional submenus, that can be used to apply themes and perform other actions.

The menu itself is defined in a notecard, much like AVSitter.

T-O-M-SC PreloaderMenu

Configured themes are compiled into a full menu with pagination and sent to preloaders to have almost instant applying when required.

AVSitterMenu

Primarily aimed at an advanced interface to AVSitter, this script waits for a signal to open a specific menu with themes to apply.

It can also communicate with a specific "slave" script inside other objects (AVSitter props) to synchronize themes.

Theme Toolbox

New as of v2.2, a set of (two) scripts form the "Theme toolbox" that allow special operations by the creator:

More information about this utility will be given in the dedicated section.

Other scripts

A few other scripts are provided to help diagnose problems, try things or do special operations with the themes. They will be covered in the next sections of this documentation.