Using RWX Extensions


Beginning with version 3.0, Active Worlds supports some new extensions to the RWX scripting language which did not exist in previous versions. Because these extensions are new with 3.0, care must be used when using them in objects that are also intended to work either in previous versions of Active Worlds or in other utilities that support RWX files. The problem is that the new commands, if used unqualified, are unrecognized by these other programs and will thus prevent them from loading the object at all.

To get around this problem, a special extension of the RWX comment character '#' was added in 3.0. Normally, in RWX files the # character starts a comment, and the rest of the line after the # is ignored. However, beginning with Active Worlds 3.0, comments starting with the two characters "#!" will not be ignored. Thus, any 3.0 extension used in RWX files can simply be prefaced with #!, and Active Worlds 3.0 will still process the extension while other programs, including older versions of Active Worlds, will safely ignore it.

For example, say you wish to use the new optional "prelight" argument for the RWX vertex command. If you specify the command this way:

vertex .1 -.1 -.1 prelight 1 0 0

the object will work fine in Active Worlds 3.0, but it will not load at all in an older version of the Active Worlds browser. However, if you specify the command this way instead:

vertex .1 -.1 -.1 #! prelight 1 0 0

then in 3.0 this line will function exactly the same as it would without the #!, but previous versions of Active Worlds (as well as other RWX programs) will ignore everything after the # character and still be able to load the file. Of course, the object will appear differently in a pre-3.0 browser because it will not be rendered with any prelight colors applied.