Animate "mask" fix Bot for ActiveWorlds browser 3.0

THIS IS A BETA!!! Use it on your own risk!

Version 1.1.3 (10/4/2003)

    - Fixed bug when "animate" and "me" are concatenated to "animateme". (Thanks TZ!)

Version 1.1.2 (6/7/2003)

    - Replaced SDK with 3.4 version. The program is still not finalized - use at your own risk!

Known bug: he program handles only the FIRST occurence of  the animate command in the action line.

Version 1.1.0 (4/20/2000 11AM EST)
New features:
    Added editable listbox for the textures where the user can decide if he wants to use the mask for a given texture.
    Added option flag not to search for new textures (operates only on the given list).
    Added option flag to read the textures from a local path instead of the web.

    Changed the behavior if the texture doesn't exist AT ALL - replaces by the texturename NULL. (not implemented yet!)

Version 1.0.4  (4/18/2000 7PM EST)
Feature change:
    The bot keeps the animate format if the action line contains astart, adone or name commands to keep the timing features compatible with 2.2 (Thanks TZ)

Version 1.0.3  (4/18/2000 6PM EST)
Fixes:
     Bot did not read the object path variable properly if the user was an eminent domain.
     INI file filename recording was wrong.
     Receiving "connection reset" from xoom.com caused crash
New feature:
     If the bot owner is an eminent domain, he can override the Object Path read from the world parameters by the typed in value.

Version 1.0.2  (4/17/2000 8AM EST)
Fixes:
     Compatibility fix requires the AW2.2 command first, then the AW3.0. Done.
example:
create animate me fw 6 6 300;activate  noise hfx2.wav   ------  converted to :
create animate me fw 6 6 300, animate mask me fw 6 6 300;activate  noise hfx2.wav
     The bot attempts to put back the OLD object if the new one fails (not tested too much)

Version 1.0
The bot's main purpose to convert the "animate me blah 1 1 0" or similar animations into AW 3.0 format. It can make the conversion backward compatible with AW2.2.

This is a Robot - based on the AW SDK Build 16.
Usage and distribution of this program is free but reverse engineering is not allowed :)

The following actions performed:
 animate me xxx. 1 1 0 -> texture xxx (mask=xxxm) if mask file xxxm exists
 animate me xxx 1 1 0-> texture xxx1 (mask=xxx1m) if mask file xxx1m exists
 animate me xxx n 1 0 z-> texture xxxz (mask=xxxzm) if mask file xxxzm exists
 animate me xxx n k 0 z1 z2 ... zk -> animate (mask) me insertion if mask file xxxz1m exists

example:
create animate me fw 6 6 300;activate  noise hfx2.wav   ------  converted to :
create animate mask me fw 6 6 300,animate me fw 6 6 300;activate  noise hfx2.wav
 
 
 

The robot has the following parameters:
BotOwner - is the AW citizen number for the bot's owner.
PrivPassword - is the owner's privilege password (needed for the bot to be able to log into the Universe)
World Name  - is the world where the bot will be used (the world rights options have to have citizen's number in the "Bots" line.)
Builder Number - is the citizen number for the objects to be changed. If you put "*" there - it will change ALL builder's work. Of course for that feature you have to have caretaker right in the world.
ObjectPath - if you don't have caretaker right in the target world, you have to specify the exact object path (like objects.activeworlds.com/aw)

Center Coordinate - Set it for the area center. (AW unit size)
Covered Range - is the size of the area centered around the Center Coordinate for the animate conversion (given in meters!!)

TestOnly - VERY important you run first with this box checked to see the results of the conversion. The bot will NOT do any delete and addition to the world with this box checked.
AW2.2 Compatibility - chekc this box if you want the animation be visible by both the AW 2.2 and the AW3.0 browser. WARNING! This feature adds significant amount to the action field. It can cause the BI to refuse the addition of the new object!
Verbose Log - to record detailed messages from the program.

Robot Building Speed - is a needed option if the World you use has a policy against robobuilders (like AW Prime).

To keep the original build time stamp, you have to have Eminent Domain rights in the world.
 

The robot starts with a default INI file (animbot.ini in the same directory where the robot started). All values you enter onto the parameters above will be registered in the INI file, so next time you start it there will be no need to reenter them again.
The ini file will hold all the resolved textures which it encounters while running so in the next run it doesn't have to check the object server for the mask file again.

The robot log file format is the standard prop structure with the additional information.
 

Accessed since 4/17/2000: