Scripts
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:
T-O-M Preparation
T-O-M Generator
T-O-M Utilities
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:
T-O-M Core
T-O-M Preloader
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:
Transfers: read a theme from a notecard or LSD, upgrade it to latest version if necessary, optionally remap the prims if the link numbers have changed, and encode it back to a notecard or LSD.
LSD operations: list the available LSD themes, delete a LSD theme, reset the whole LSD storage space, get the amount of free LSD storage.
Get information and operate on the core : gather information from the core and maybe reset it, apply a theme from notecard or LSD, get information on a theme.
Preloader operations: gather about a preloader info, preload a theme, apply a preloaded theme.
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.