edward sumerfield // User Search

edward sumerfield // User Search

1  ...  3  4  5  6  7  8  |  

Gesture problems

Dec 15, 1998, 9:55am
This is a multi-part message in MIME format.
--------------93595C1ECE15049462C600F0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Here is my solution for the gesture reset issue.

There is an OO pattern for a timer that involves two classes

static class Timer

static array of objects.
int start(int ticks, TimerIF *);
stop(int timer_id);
check();

pure virtual TimerIF

void popped();

So you can write a program like this.

class A : public TimerIF {
void popped() {
// reset the gesture back to 0.
}
}
void avatar_chat() {
//set gesture to 5.
Timer::start(5, new A());
}
main() {
aw_event_set(AW_MY_GESTURE, avatar_chat);
while (aw_wait(1000)) {
Timer::check();
}
}

So when the program starts it installs the chat event handler. The main loop contains the
checking of the timer but as there are no timer started at this point this does nothing.
Once a chat is seen then a gesture is started and a 5 tick timer is started. No wach time
the main loop checks the timer a tick is decremented from this timer. Once it reaches
zero the popped method on object A is called which reset the gesture.

The use of ticks instead of seconds makes timing much simpler if not as accurate. The
main loop cycling around every seconds allows us to count approximate seconds the
inaccuracy comes in depending on how long the loop takes to run. So to total tick time is
actually 1 second plus the loop cycle time. this inaccuracy is of no consequence for this
program.

The beauty of this approach is that once you have started a timer you don't have to worry
about it any more. You can of coarse have multiple timers running in parallel each
started with a different number of ticks.

My next release of AWCPP will have the official version of the Timer class but I have
attached it here if there are any C++ developers interested.

Thanks for your help everyone, I will have my deer grazing and bucking any day now.

Edward Sumerfield

[View Quote] > Doing AW_MY_GESTURE apparently involves requesting the special gesture and then
> requesting the default gesture, with a pause of a few seconds between them. In a
> multibot program it may be easier to post a flag in the CHAT event handler, and to do
> both the special gesture and the default gesture in the main program loop (with the
> few second pause between them). The order in which the bot instances are notified of
> the CHAT event is somewhat unpredictable. Putting everything in the main loop
> simplifies your interpretation of the timer signals. (I tried out this arrangement,
> and it seems to work well; it also gives you more control over your bot's action
> sequence.) Admittedly, with one bot, it may be simpler to request the special gesture
> in the CHAT event handler, and request the default gesture, after a timed pause, in
> the main program loop. But I notice you are also interested in the general case.
>
[View Quote] --------------93595C1ECE15049462C600F0
Content-Type: application/x-unknown-content-type-hpp_auto_file;
name="TimerStore.hpp"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="TimerStore.hpp"

I2lmbmRlZiBUSU1FUlNUT1JFX0hQUA0KI2RlZmluZSBUSU1FUlNUT1JFX0hQUA0KDQovKiEg
XGNsYXNzIFRpbWVyU3RvcmUNCiAqICBcYXV0aG9yIEVkd2FyZCBTdW1lcmZpZWxkDQogKiAg
XHZlcnNpb24gMC4zDQogKiAgXGRhdGUgMTEvNS85OA0KICoNCiAqICBcYnJpZWYgU3RvcmFn
ZSBtZWNoYW5pc20gZm9yIHRoZSBUaW1lciBjbGFzcy4NCiAqDQogKiAgVGhpcyBjbGFzcyBh
bGxvd3MgdGhlIFRpbWVyIGNsYXNzIHRvIHNpbXBseSBhZGQsIGRlbGV0ZSwgaW50ZXJhdGUN
CiAqICB0aHJvdWdoIGFsbCB0aGUgcnVubmluZyB0aW1lcnMuDQogKg0KICogIFxjb2RlDQog
KiAgbWFpbigpIHsNCiAqICAgIFRpbWVyU3RvcmUgdGltZXJfc3RvcmU7DQogKiAgICBUaW1l
ckluZm8gKnRpbWVyID0gbmV3IFRpbWVySW5mbyh0aW1lcmlmLCBjbGlja3MpDQogKg0KICog
ICAgVGltZXJTdG9yYWdlOjppdGVyYXRvciB0aW1lcl9pZCA9IHRpbWVyX3N0b3JlLmFkZCh0
aW1lcik7DQogKg0KICogICAgdGltZXIgPSB0aW1lcl9zdG9yZS5maXJzdCgpOw0KICogICAg
d2hpbGUgKHRpbWVyKSB7DQogKiAgICAgIHRpbWVyLT5jbGlja3MtLTsNCiAqICAgICAgaWYg
KCF0aW1lci0+Y2xpY2tzKSB7DQogKiAgICAgICAgdGltZXItPnRpbWVyaWYtPnBvcHBlZCgp
Ow0KICogICAgICAgIHRpbWVyX3N0b3JlLmRlbGV0ZSh0aW1lcik7DQogKiAgICAgIH0NCiAq
ICAgICAgdGltZXIgPSB0aW1lci5uZXh0KCk7DQogKiAgICB9DQogKiAgICB0aW1lci0+ZGVs
ZXRlKHRpbWVyX2lkKTsgICAvLyBXaWxsIGZhaWwgaWYgdGltZXIgaGFzIGFscmVhZHkgcG9w
cGVkDQogKiAgfQ0KICogIFxlbmRjb2RlICANCiAqLw0KDQojaW5jbHVkZSA8bGlzdD4NCiNp
bmNsdWRlIDxhbGdvcml0aG0+DQoNCi8qISBcYnJpZWYgU3RydWN0dXJlIHVzZWQgdG8gc3Rv
cmUgdGhlIFRpbWVySUYgaW1wbGVtZW50b3IgYW5kIHRoZSBudW1iZXINCiAqICBvZiBjbGlj
a3MgcmVtYWluaW5nIGJlZm9yZSB0aGUgdGltZXIgcG9wcy4NCiAqLw0KdHlwZWRlZiBzdHJ1
Y3Qgew0KDQogIGludCB0aW1lcl9pZDsNCiAgVGltZXJJRiAqdGltZXJpZjsNCiAgaW50IGNs
aWNrczsNCn0gVGltZXJJbmZvOw0KDQpvc3RyZWFtJiBvcGVyYXRvcjw8KG9zdHJlYW0mIG9z
LCBUaW1lckluZm8mIHRpbWVyaW5mbyk7DQoNCi8qISBcYnJpZWYgVmVjdG9yIHR5cGUgdXNl
cyB0byBzdG9yZSB0aGUgVGltZXJJbmZvIHN0cnVjdHVyZXMuDQogKi8NCnR5cGVkZWYgbGlz
dCA8VGltZXJJbmZvICo+IFRpbWVyU3RvcmFnZTsNCg0KY2xhc3MgVGltZXJTdG9yZSB7DQoN
CnByaXZhdGU6DQoNCiAgLyohIFxicmllZiBUaGUgbGFzdCB0aW1lciBpZCB0aGF0IHdhcyBh
Y2Nlc3NlZCBpbiB0aGUgdmVjdG9yLg0KICAgKi8NCiAgVGltZXJTdG9yYWdlOjppdGVyYXRv
ciBjdXJyZW50X3RpbWVyX2lkOw0KDQogIC8qISBcYnJpZWYgTnVtYmVyIHVzZWQgdG8gaWRl
bnRpZnkgdGhlIHRpbWVyLg0KICAgKi8NCiAgaW50IHRpbWVyX2lkOw0KDQpwdWJsaWM6DQoN
CiAgLyohIFxicmllZiBWZWN0b3IgdXNlZCB0byBzdG9yZSBhbGwgdGhlIFRpbWVySW5mbyBz
dHJ1Y3R1cmVzLg0KICAgKi8NCiAgVGltZXJTdG9yYWdlIHRpbWVyX3N0b3JhZ2U7DQoNCiAg
LyohIFxicmllZiBDb25zdHJ1Y3RvciBmb3IgdGhpcyBjbGFzcy4NCiAgICovDQogIFRpbWVy
U3RvcmUoKTsNCg0KICAvKiEgXGJyaWVmIEdldCB0aGUgc2l6ZSBvZiB0aGUgdGltZXIgc3Rv
cmUuDQogICAqLw0KICBpbnQgc2l6ZSgpOw0KDQogIC8qISBcYnJpZWYgQWRkIGEgVGltZXJJ
bmZvIHN0cnVjdHVyZSB0byB0aGUgbGlzdC4NCiAgICogIFxwYXJhbSB0aW1lcl9pbmZvIGlz
IHRoZSBzdHJ1Y3R1cmUgdGhhdCBjb250YWlucyBhbGwgcmVsZXZhbnQgDQogICAqICBpbmZv
cm1hdGlvbiBhYm91dCB0aGUgdGltZXIgYmVpbmcgYWRkZWQuDQogICAqICBccmV0dXJuIHRp
bWVyIGlkIHVzZWQgZm9yIGlkZW50aWZ5aW4gdGhpcyB0aW1lciBmb3IgdGhlIHN0b3AgZnVu
Y3Rpb24NCiAgICovDQogIGludCBhZGQoVGltZXJJbmZvICp0aW1lcl9pbmZvKTsNCg0KICAv
KiEgXGJyaWVmIEVyYXNlIHRoZSBjdXJyZW50IFRpbWVySW5mbyBzdHJ1Y3R1cmUgZnJvbSB0
aGUgbGlzdC4NCiAgICogIFxwYXJhbSB0aW1lcl9pZCBpZGVudGlmaWVzIHRoZSB0aW1lciB0
byBiZSBkZWxldGVkLg0KICAgKi8NCiAgdm9pZCBlcmFzZShUaW1lclN0b3JhZ2U6Oml0ZXJh
dG9yIHRpbWVyX2lkKTsNCg0KICAvKiEgXG92ZXJsb2FkDQogICAqLw0KICB2b2lkIGVyYXNl
KGludCB0aW1lcl9pZCk7DQoNCiAgLyohIFxvdmVybG9hZA0KICAgKi8NCiAgdm9pZCBlcmFz
ZSgpOw0KDQogIC8qISBcYnJpZWYgR2V0IHRoZSBmaXJzdCBUaW1lckluZm8gc3RydWN0dXJl
IGluIHRoZSBWZWN0b3IuDQogICAqICBccmV0dXJuIHRoZSBmaXJzdCBUaW1lckluZm8gc3Ry
dWN0dXJlIHN0b3JlZCBvciB6ZXJvIGlmIGl0IGlzIGVtcHR5Lg0KICAgKi8NCiAgVGltZXJJ
bmZvKiBmaXJzdCgpOw0KDQogIC8qISBcYnJpZWYgR2V0IHRoZSBuZXh0IFRpbWVySW5mbyBz
dHJ1Y3Z0dXJlIGluIHRoZSBWZWN0b3IuDQogICAqICBccmV0dXJuIHRoZSBuZXh0IFRpbWVy
SW5mbyBzdHJ1Y3R1cmUgc3RvcmVkIG9yIHplcm8gaWYgdGhlcmUgYXJlIG5vIG1vcmUuDQog
ICAqLw0KICBUaW1lckluZm8qIG5leHQoKTsNCg0KICBmcmllbmQgb3N0cmVhbSYgb3BlcmF0
b3I8PChvc3RyZWFtJiBvcywgVGltZXJTdG9yZSYgc3RvcmUpOw0KfTsNCg0KI2VuZGlmIFRJ
TUVSU1RPUkVfSFBQDQo=
--------------93595C1ECE15049462C600F0
Content-Type: application/x-unknown-content-type-hpp_auto_file;
name="Timer.hpp"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="Timer.hpp"

I2lmbmRlZiBUSU1FUl9IUFANCiNkZWZpbmUgVElNRVJfSFBQDQoNCi8qISBcY2xhc3MgVGlt
ZXINCiAqICBcYXV0aG9yIEVkd2FyZCBTdW1lcmZpZWxkDQogKiAgXHZlcnNpb24gMC4zDQog
KiAgXGRhdGUgMTEvNS85OA0KICoNCiAqICBcYnJpZWYgQSBiYXNpYyAiY2xpY2siIHRpbWVy
IHRvIHRyYWNrIGFzeW5jaHJvbm91cyB3YWl0IHRpbWVzLg0KICoNCiAqICBUaGUgVGltZXIg
Y2xhc3MgYWxsb3dzIHlvdSB0byBzdGFydCBhIHRpbWVyIGJhc2VkIG9uIGEgbnVtYmVyIG9m
DQogKiAgImNsaWNrcyIuIEEgY2xpY2sgcmVwcmVzZW50cyBhbiBpbnRlcmF0aW9uIG9mIHlv
dXIgcHJvZ3JhbS4gSWYgeW91DQogKiAgY2FsbCB0aGUgVGltZXIuY2hlY2sgbWV0aG9kIG9u
Y2UgZXZlcnkgc2Vjb25kIHRoZW4gYSBjbGljayBpcw0KICogIGVxdWl2aWxlbnQgdG8gYSBz
ZWNvbmQuDQogKg0KICogIFdoZW4geW91IGNyZWF0ZSBhIHRpbWVyIHlvdSBtdXN0IHN1cHBs
eSBhbiBvYmplY3QgdGhhdCBpbXBsZW1lbnRzDQogKiAgdGhlIFRpbWVySUYgaW50ZXJmYWNl
LiBUaGlzIGFsbG93cyB0aGUgVGltZXIgY2xhc3MgdG8gY2FsbCB5b3VyDQogKiAgcG9wcGVk
IG1ldGhvZCB3aGVuIHRoZSB0aW1lciBleHBpcmVzLg0KICoNCiAqICBcZXhhbXBsZSBUaW1l
ckV4LkMNCiAqLw0KDQojaW5jbHVkZSA8VGltZXJJRi5ocHA+DQojaW5jbHVkZSA8VGltZXJT
dG9yZS5ocHA+DQoNCmNsYXNzIFRpbWVyIHsNCg0KcHJpdmF0ZToNCg0KICAvKiEgXGJyaWVm
IHRpbWVyX3N0b3JlIGlzIGEgdmVjdG9yIHRoYXQgaXMgdXNlZCB0byBzdG9yZSBhbGwgdGhl
DQogICAqICBUaW1lcklGIGltcGxlbWVudG9yIG9iamVjdHMuDQogICAqLw0KICBzdGF0aWMg
VGltZXJTdG9yZSAqdGltZXJfc3RvcmU7DQoNCnB1YmxpYzoNCg0KICAvKiogXGJyaWVmIElu
aXRpYWxpemUgdGhlIHRpbWVyIGNsYXNzLg0KICAgKiAgQXMgdGhpcyBjbGFzcyBpcyBzdGF0
aWMgYW5kIGhhcyBhIG51bWJlciBvZiBzdGF0aWMgdmFyaWFibGVzDQogICAqICBpdCBpcyBu
ZWNlc3NhcnkgdG8gaW5pdGlhbGl6ZSBiZWZvcmUgdGhlIGNsYXNzIGNhbiBiZSB1c2VkLg0K
ICAgKi8NCiAgc3RhdGljIHZvaWQgaW5pdCgpOw0KDQogIC8qISBcYnJpZWYgU3RhcnQgYSBu
ZXcgdGltZXIuDQogICAqICBccGFyYW0gdGltZXJpZiBpcyBhbiBvYmplY3QgdGhhdCBpbXBs
ZW1lbnRzIHRoZSBUaW1lcklGIGludGVyZmFjZS4NCiAgICogIFxwYXJhbSBjbGlja3MgaXMg
YSBudW1iZXIgb2YgaW50ZXJhdGlvbnMgdGhyb3VnaCB0aW1lciBjaGVjay4NCiAgICogIFxy
ZXR1cm4gdGltZXIgaWQgdXNlZCB0byBpZGVudGlmeSB0aGUgdGltZXIgdGhhdCBpcyBzdGFy
dGVkLg0KICAgKi8NCiAgc3RhdGljIHZvaWQgKnN0YXJ0KFRpbWVySUYgKnRpbWVyaWYsIGlu
dCBjbGlja3MpOw0KDQogIC8qISBcYnJpZWYgU3RvcCBhIHRpbWVyLg0KICAgKiAgXHBhcmFt
IHRpbWVyX2lkIGlzIHRoZSBudW1iZXIgdGhhdCBpZGVudGlmaWVzIHRoZSB0aW1lciB0aGF0
IHNob3VsZA0KICAgKiAgYmUgc3RvcHBlZC4gSXQgd2FzIHJldHVybmVkIGJ5IHRoZSBzdGFy
dCBtZXRob2QuDQogICAqLw0KICBzdGF0aWMgdm9pZCBzdG9wKHZvaWQgKiB0aW1lcl9pZCk7
DQoNCiAgLyohIFxicmllZiBDaGVjayBmb3IgZXhwaXJlZCB0aW1lcnMuDQogICAqDQogICAq
ICBUaGlzIG1ldGhvZCBpdGVyYXRlcyB0aHJvdWdoIGFsbCB0aGUgcnVubmluZyB0aW1lcnMs
IGRlY3JlbWVudHMNCiAgICogIHRoZSBudW1iZXIgb2YgY2xpY2tzIGJ5IG9uZSBhbmQgY2hl
Y2tzIHRvIHNlZSBpZiB0aGV5IGhhdmUgDQogICAqICBleHBpcmVkLiBJZiBleHBpcmVkIHRo
ZW4gdGhlIHBvcHBlZCBtZXRob2Qgb2YgdGhlIFRpbWVySUYgaXMNCiAgICogIGNhbGxlZC4N
CiAgICovDQogIHN0YXRpYyB2b2lkIGNoZWNrKCk7DQoNCiAgLyohIFxicmllZiBHZXQgdGhl
IG51bWJlciBvZiB0aW1lcnMgdGhhdCBhcmUgY3VycmVudGx5IHJ1bm5pbmcuDQogICAqICBc
cmV0dXJuIG51bWJlciBvZiB0aW1lcnMuDQogICAqLw0KICBzdGF0aWMgaW50IHNpemUoKTsN
Cg0KICAvKiogXGJyaWVmIERlYWxsb2NhdGUgYWxsIHN0YXRpYyBzdG9yYWdlIGFzaWduZWQg
YnkgdGhpcyBjbGFzcy4NCiAgICovDQogIHN0YXRpYyB2b2lkIGRlc3Ryb3koKTsNCn07DQoN
CiNlbmRpZiBUSU1FUl9IUFANCg0K
--------------93595C1ECE15049462C600F0
Content-Type: application/x-unknown-content-type-hpp_auto_file;
name="TimerIF.hpp"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="TimerIF.hpp"

I2lmbmRlZiBUSU1FUklGX0hQUA0KI2RlZmluZSBUSU1FUklGX0hQUA0KDQovKiEgXGNsYXNz
IFRpbWVySUYNCiAqICBcYXV0aG9yIEVkd2FyZCBTdW1lcmZpZWxkDQogKiAgXHZlcnNpb24g
MC4zDQogKiAgXGRhdGUgMTEvNS85OA0KICoNCiAqICBcYnJpZWYgVGhpcyBpbnRlcmZhY2Ug
aXMgdXNlZCBieSB0aGUgVGltZXIgY2xhc3MuDQogKi8NCg0KY2xhc3MgVGltZXJJRiB7DQoN
CnB1YmxpYzoNCg0KICAvKiEgXGJyaWVmIENhbGxlZCBieSB0aGUgVGltZXIgY2xhc3Mgd2hl
biB0aGUgdGltZXIgaGFzIGV4cGlyZWQuDQogICAqDQogICAqICBUaGUgdGltZXIgc3RhcnRz
IHdpdGggYSBudW1iZXIgb2YgImNsaWNrcyIuIEVhY2ggdGltZSB0aGUgVGltZXIuY2hlY2sN
CiAgICogIG1ldGhvZCBpcyBjYWxsZWQgdGhlc2UgY2xpY2tzIGFyZSBkZWNyZW1lbnRlZCBi
eSBvbmUuIFdoZW4gdGhlIG51bWJlcg0KICAgKiAgb2YgY2xpY2tzIHJlYWNoZXMgemVybyB0
aGUgdGltZXIgaXMgc2FpZCB0byBoYXZlIHBvcHBlZCBhbmQgdGhpcyANCiAgICogIG1ldGhv
ZCBpcyBjYWxsZWQuDQogICAqLw0KICB2aXJ0dWFsIHZvaWQgcG9wcGVkKCkgPSAwOw0KfTsN
Cg0KI2VuZGlmIFRJTUVSSUZfSFBQDQoNCg0K
--------------93595C1ECE15049462C600F0
Content-Type: application/x-unknown-content-type-c_auto_file;
name="TimerStore.C"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="TimerStore.C"

LyohIFxmaWxlIFRpbWVyU3RvcmUuQw0KICoNCiAqICBUaGUgVGltZXJTdG9yZSBjbGFzcyBt
YW5hZ2VzIFRpbWVySW5mbyBzdHJ1Y3R1cmVzLg0KICovDQoNCiNpbmNsdWRlIDxpb3N0cmVh
bS5oPg0KI2luY2x1ZGUgPERlYnVnLmhwcD4NCg0KI2luY2x1ZGUgPFRpbWVySUYuaHBwPg0K
I2luY2x1ZGUgPFRpbWVyU3RvcmUuaHBwPg0KDQpUaW1lclN0b3JlOjpUaW1lclN0b3JlKCkg
ew0KDQogIEVOVEVSKCJUaW1lclN0b3JlOjpUaW1lclN0b3JlIik7DQoNCiAgY3VycmVudF90
aW1lcl9pZCA9IChUaW1lclN0b3JhZ2U6Oml0ZXJhdG9yKTA7DQogIHRpbWVyX2lkID0gMDsN
Cn0NCg0KaW50DQpUaW1lclN0b3JlOjpzaXplKCkgew0KDQogIHJldHVybiB0aW1lcl9zdG9y
YWdlLnNpemUoKTsNCn0NCg0KaW50DQpUaW1lclN0b3JlOjphZGQoVGltZXJJbmZvICp0aW1l
cl9pbmZvKSB7DQoNCiAgRU5URVIoIlRpbWVyU3RvcmU6OmFkZCIpOw0KDQogIC8vIFN0b3Jl
IHRoZSBsYXRlc3QgdGltZXIgaWQgaW50byB0aGUgc3RydWN0dXJlIGFuZCBpbmNyZW1lbnQg
dGhlIA0KICAvLyB0aW1lciBpZCByZWFkeSBmb3IgdGhlIG5leHQgYWRkLg0KDQogIERFQlVH
KCJBZGRpbmcgdGltZXIgIiA8PCB0aW1lcl9pZCk7DQoNCiAgdGltZXJfaW5mby0+dGltZXJf
aWQgPSB0aW1lcl9pZCsrOw0KDQogIHRpbWVyX3N0b3JhZ2UucHVzaF9iYWNrKHRpbWVyX2lu
Zm8pOw0KICByZXR1cm4gdGltZXJfaW5mby0+dGltZXJfaWQ7DQp9DQoNCnZvaWQNClRpbWVy
U3RvcmU6OmVyYXNlKCkgew0KDQogIEVOVEVSKCJUaW1lclN0b3JlOjplcmFzZSIpOw0KDQog
IGN1cnJlbnRfdGltZXJfaWQgPSB0aW1lcl9zdG9yYWdlLmVyYXNlKGN1cnJlbnRfdGltZXJf
aWQpOw0KfQ0KDQp2b2lkDQpUaW1lclN0b3JlOjplcmFzZShpbnQgdGltZXJfaWQpIHsNCg0K
ICBFTlRFUigiVGltZXJTdG9yZTo6ZXJhc2UgKCIgPDwgZGVjIDw8IHRpbWVyX2lkIDw8ICIp
Iik7DQoNCiAgYm9vbCBmb3VuZCA9IDA7DQogIFRpbWVyU3RvcmFnZTo6aXRlcmF0b3IgaTsN
CiAgZm9yIChpID0gdGltZXJfc3RvcmFnZS5iZWdpbigpOyBpICE9IHRpbWVyX3N0b3JhZ2Uu
ZW5kKCk7IGkrKykgew0KDQogICAgaWYgKCgqaSktPnRpbWVyX2lkID09IHRpbWVyX2lkKSB7
DQoNCiAgICAgIGZvdW5kID0gMTsNCiAgICAgIGJyZWFrOw0KICAgIH0NCiAgfQ0KICBpZiAo
Zm91bmQpIHsNCg0KICAgIGVyYXNlKGkpOw0KICB9DQp9DQoNCnZvaWQNClRpbWVyU3RvcmU6
OmVyYXNlKFRpbWVyU3RvcmFnZTo6aXRlcmF0b3IgdGltZXJfaWQpIHsNCg0KICBFTlRFUigi
VGltZXJTdG9yZTo6ZXJhc2UgKCIgPDwgaGV4IDw8ICZ0aW1lcl9pZCA8PCAiKSIpOw0KDQog
IC8qIElmIHRoZSB0aW1lciB0byBiZSBkZWxldGVkIGlzIHBvaW50ZWQgdG8gYnkgdGhlIGN1
cnJlbnQgcG9pbnRlcg0KICAgKiB0aGVuIHdlIG11c3Qgc3dpdGNoIHRoZSBjdXJyZW50IHBv
aW50ZXIgdG8gYSB2YWxpZCBlbnRyeS4gVGhpcw0KICAgKiBhdm9pZHMgdGhlIHBvc3NpYmls
aXR5IG9mIHNvbWVvbmUgaW5hZHZlcnRlbnRseSByZS11c2luZyBhbiBpbnZhbGlkDQogICAq
IHBvaW50ZXIuDQogICAqLw0KICBpZiAoY3VycmVudF90aW1lcl9pZCA9PSB0aW1lcl9pZCkg
ew0KDQogICAgZXJhc2UoKTsNCiAgfQ0KICBlbHNlIHsNCg0KICAgICB0aW1lcl9zdG9yYWdl
LmVyYXNlKHRpbWVyX2lkKTsNCiAgfQ0KDQogIHJldHVybjsNCn0NCg0KVGltZXJJbmZvICoN
ClRpbWVyU3RvcmU6OmZpcnN0KCkgew0KDQogIFRpbWVySW5mbyAqdGltZXJfaW5mbyA9IChU
aW1lckluZm8gKikwOw0KDQogIEVOVEVSKCJUaW1lclN0b3JlOjpmaXJzdCIpOw0KDQogIGlm
ICghdGltZXJfc3RvcmFnZS5lbXB0eSgpKSB7DQoNCiAgICBjdXJyZW50X3RpbWVyX2lkID0g
dGltZXJfc3RvcmFnZS5iZWdpbigpOw0KICAgIHRpbWVyX2luZm8gPSAqY3VycmVudF90aW1l
cl9pZDsNCiAgfQ0KDQogIHJldHVybiB0aW1lcl9pbmZvOw0KfQ0KDQpUaW1lckluZm8gKg0K
VGltZXJTdG9yZTo6bmV4dCgpIHsNCg0KICBUaW1lckluZm8gKnRpbWVyX2luZm8gPSAoVGlt
ZXJJbmZvICopMDsNCg0KICBFTlRFUigiVGltZXJTdG9yZTo6bmV4dCIpOw0KDQogIGN1cnJl
bnRfdGltZXJfaWQrKzsNCg0KICAvLyBDaGVjayBmb3IgdGhlIGVuZCBvZiB0aGUgbGlzdC4N
Cg0KICBpZiAoY3VycmVudF90aW1lcl9pZCAhPSB0aW1lcl9zdG9yYWdlLmVuZCgpKSB7DQoN
CiAgICB0aW1lcl9pbmZvID0gKmN1cnJlbnRfdGltZXJfaWQ7DQogIH0NCg0KICByZXR1cm4g
dGltZXJfaW5mbzsNCn0NCg0Kb3N0cmVhbSYgb3BlcmF0b3I8PChvc3RyZWFtJiBvcywgVGlt
ZXJTdG9yZSYgc3RvcmUpIHsNCg0KICBvcyA8PCAiVGltZVN0b3JlICIgPDwgc3RvcmUuc2l6
ZSgpOw0KfQ0KDQpvc3RyZWFtJiBvcGVyYXRvcjw8KG9zdHJlYW0mIG9zLCBUaW1lckluZm8m
IHRpbWVyaW5mbykgew0KDQogIG9zIDw8ICJUaW1lSW5mbyAiIDw8IGRlYyA8PCB0aW1lcmlu
Zm8udGltZXJfaWQNCiAgICAgPDwgIiBoYXMgIiA8PCB0aW1lcmluZm8uY2xpY2tzIDw8ICIg
cmVtYWluaW5nLiI7DQp9DQoNCg==
--------------93595C1ECE15049462C600F0
Content-Type: application/x-unknown-content-type-c_auto_file;
name="Timer.C"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="Timer.C"

LyohIFxmaWxlIFRpbWVyLkMNCiAqDQogKiAgVGltZXIgY2xhc3MgbWFuYWdlcyBhIHNldCBv
ZiBzaW1wbGUgY2xpY2sgdGltZXJzLg0KICovDQoNCiNpbmNsdWRlIDxpb3N0cmVhbS5oPg0K
I2luY2x1ZGUgPERlYnVnLmhwcD4NCg0KI2luY2x1ZGUgPFRpbWVySUYuaHBwPg0KI2luY2x1
ZGUgPFRpbWVyLmhwcD4NCiNpbmNsdWRlIDxUaW1lclN0b3JlLmhwcD4NCg0KVGltZXJTdG9y
ZSAqVGltZXI6OnRpbWVyX3N0b3JlOw0KDQp2b2lkDQpUaW1lcjo6aW5pdCgpIHsNCg0KICBF
TlRFUigiVGltZXI6OmluaXQiKTsNCg0KICB0aW1lcl9zdG9yZSA9IG5ldyBUaW1lclN0b3Jl
KCk7DQp9DQoNCnZvaWQgKg0KVGltZXI6OnN0YXJ0KFRpbWVySUYgKnRpbWVyaWYsIGludCBj
bGlja3MpIHsNCg0KICBFTlRFUigiVGltZXI6OnN0YXJ0Iik7DQoNCiAgLy8gQ2FzZSB0aGUg
dmVjdG9ycyBpdGVyYXRvciB0byBhbiBpbnQgc28gdGhhdCB0aGUgY2FsbGVycyBkbw0KICAv
LyBub3QgaGF2ZSB0byB3b3JyeSBhYm91dCB0aGUgdGltZXJfaWQgdHlwZS4NCg0KICBUaW1l
ckluZm8gKnRpbWVyOw0KICBpbnQgdGltZXJfaWQ7DQoNCiAgdGltZXIgPSBuZXcgVGltZXJJ
bmZvKCk7DQogIHRpbWVyLT50aW1lcmlmID0gdGltZXJpZjsNCiAgdGltZXItPmNsaWNrcyA9
IGNsaWNrczsNCg0KICB0aW1lcl9pZCA9IHRpbWVyX3N0b3JlLT5hZGQodGltZXIpOw0KDQog
IHJldHVybiAodm9pZCAqKXRpbWVyX2lkOw0KfQ0KDQp2b2lkDQpUaW1lcjo6c3RvcCh2b2lk
ICp0aW1lcl9pZCkgew0KDQogIEVOVEVSKCJUaW1lcjo6c3RvcCAoIiA8PCBkZWMgPDwgKGlu
dCl0aW1lcl9pZCA8PCAiKSIpOw0KDQogIHRpbWVyX3N0b3JlLT5lcmFzZSgoaW50KXRpbWVy
X2lkKTsNCn0NCg0Kdm9pZA0KVGltZXI6OmNoZWNrKCkgew0KDQogIEVOVEVSKCJUaW1lcjo6
Y2hlY2siKTsNCg0KICAvKiBTZWFyY2ggYWxsIFRpbWVySW5mbyBtZW1iZXJzIG9mIHRoZSB2
ZWN0b3IgYW5kIGNhbGwgdGhlIHBvcHBlZA0KICAgKiBmdW5jdGlvbnMgaWYgdGhlIG51bWJl
ciBvZiBjbGlja3MgaGF2ZSByZWFjaGVkIHplcm8uDQogICAqDQogICAqIE5vdGU6IERvIG5v
dCBlcmFzZSB0aGUgdmVjdG9yIG1lbWJlcnMgb24gdGhpcyBmaXJzdCBwYXNzIGJlY2F1c2UN
CiAgICogICAgICAgdGhhdCB3aWxsIGludmFsaWRhdGUgdGhlIGl0ZXJhdG9yLg0KICAgKi8N
Cg0KICBUaW1lckluZm8gKnRpbWVyID0gdGltZXJfc3RvcmUtPmZpcnN0KCk7DQogIHdoaWxl
ICh0aW1lcikgew0KDQogICAgdGltZXItPmNsaWNrcy0tOw0KDQogICAgaWYgKHRpbWVyLT5j
bGlja3MgPT0gMCkgew0KDQogICAgICB0aW1lci0+dGltZXJpZi0+cG9wcGVkKCk7DQogICAg
ICB0aW1lcl9zdG9yZS0+ZXJhc2UoKTsNCiAgICB9DQoNCiAgICBERUJVRygqdGltZXIpOw0K
DQogICAgdGltZXIgPSB0aW1lcl9zdG9yZS0+bmV4dCgpOw0KICB9DQp9DQoNCmludA0KVGlt
ZXI6OnNpemUoKSB7DQoNCiAgcmV0dXJuIHRpbWVyX3N0b3JlLT5zaXplKCk7DQp9DQoNCnZv
aWQNClRpbWVyOjpkZXN0cm95KCkgew0KDQogIEVOVEVSKCJUaW1lcjo6ZGVzdHJveSIpOw0K
DQogIGRlbGV0ZSB0aW1lcl9zdG9yZTsNCn0NCg==
--------------93595C1ECE15049462C600F0
Content-Type: application/x-unknown-content-type-c_auto_file;
name="TimerTest.C"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="TimerTest.C"

I2luY2x1ZGUgPGlvc3RyZWFtLmg+DQojaW5jbHVkZSA8QVdDUFAuaHBwPg0KDQpjbGFzcyBU
aW1lclRlc3QgOiBwdWJsaWMgVGltZXJJRiB7DQoNCnByaXZhdGU6DQoNCiAgY2hhciB0ZXh0
WzMyXTsNCg0KcHVibGljOg0KDQogIFRpbWVyVGVzdCgpIHsNCiAgfQ0KDQogIFRpbWVyVGVz
dChjaGFyICphX3RleHQpIHsNCiAgICBzdHJjcHkodGV4dCwgYV90ZXh0KTsNCiAgfQ0KDQog
IHZvaWQgcG9wcGVkKCkgew0KDQogICAgY291dCA8PCAiVGltZXIgcG9wcGVkICIgPDwgdGV4
dCA8PCBlbmRsOw0KICB9DQp9Ow0KDQptYWluKCkgew0KDQogIHZvaWQgKnRpbWVyX2lkOw0K
ICBUaW1lclRlc3QgdDEoInRpbWVyIDEiKTsNCiAgVGltZXJUZXN0IHQyKCJ0aW1lciAyIik7
DQogIFRpbWVyVGVzdCB0MygidGltZXIgMyIpOw0KICBUaW1lclRlc3QgdDQoInRpbWVyIDQi
KTsNCiAgdm9pZCAqdGltZXJfaWQxID0gKHZvaWQgKikwOw0KICB2b2lkICp0aW1lcl9pZDIg
PSAodm9pZCAqKTA7DQogIHZvaWQgKnRpbWVyX2lkMyA9ICh2b2lkICopMDsNCiAgdm9pZCAq
dGltZXJfaWQ0ID0gKHZvaWQgKikwOw0KDQogIFRpbWVyOjppbml0KCk7DQoNCiAgdGltZXJf
aWQxID0gVGltZXI6OnN0YXJ0KCZ0MSwgNSk7DQogIHRpbWVyX2lkMiA9IFRpbWVyOjpzdGFy
dCgmdDIsIDIpOw0KICB0aW1lcl9pZDMgPSBUaW1lcjo6c3RhcnQoJnQzLCA4KTsNCiAgdGlt
ZXJfaWQ0ID0gVGltZXI6OnN0YXJ0KCZ0NCwgMTAwKTsNCg0KICBmb3IgKGludCBjb3VudCA9
IDEwOyBjb3VudCA+IDA7IGNvdW50LS0pIHsNCg0KICAgIGNvdXQgPDwgIkNoZWNraW5nICIg
PDwgY291bnQgPDwgZW5kbDsNCiAgICBUaW1lcjo6Y2hlY2soKTsNCiAgfQ0KDQogIGNvdXQg
PDwgIkRlbGV0ZSB0aW1lciA0IiA8PCBlbmRsOw0KDQogIFRpbWVyOjpzdG9wKHRpbWVyX2lk
NCk7DQoNCiAgY291dCA8PCAiU3RhcnQgYW5kIHN0b3AgbG90cyBvZiB0aW1lcnMuIiA8PCBl
bmRsOw0KDQogICNkZWZpbmUgTlVNX1RJTUVSUyAyMA0KICB2b2lkICp0aW1lcl9pZHNbTlVN
X1RJTUVSU107DQogIGZvciAoaW50IGkgPSAwOyBpIDwgTlVNX1RJTUVSUzsgaSsrKSB7DQoN
CiAgICB0aW1lcl9pZHNbaV0gPSBUaW1lcjo6c3RhcnQobmV3IFRpbWVyVGVzdCgpLCAxMDAw
KTsNCiAgfQ0KDQogIFRpbWVyOjpjaGVjaygpOw0KDQogIGZvciAoaW50IGkgPSAwOyBpIDwg
TlVNX1RJTUVSUzsgaSsrKSB7DQoNCiAgICBUaW1lcjo6c3RvcCh0aW1lcl9pZHNbaV0pOw0K
ICB9ICAgIA0KDQogIGNvdXQgPDwgIkZpbmFsIHNpemUgb2YgdGhlIHRpbWVyIHN0b3JlIGlz
ICIgPDwgVGltZXI6OnNpemUoKSA8PCBlbmRsOw0KDQogIFRpbWVyOjpkZXN0cm95KCk7DQp9
DQo=
--------------93595C1ECE15049462C600F0--

Gesture problems

Dec 15, 1998, 3:47pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
In this example I would put it in class A. Assuming A is your Avatar class
then it already has the instance and gesture in it. So implementing the
TimerIF interface to create the popped() method is not an issue.
<p>The draw back I thought of with this is an Avatar requirement to run
multiple timers. With a single Avatar object has one popped method so there
would be no way of knowing for which timer it is being called.
<p>class A : public TimerIF {
<br>&nbsp;&nbsp;&nbsp; void popped() {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ?????? what do I do
<br>&nbsp;&nbsp;&nbsp; }
<br>}
<br>main() {
<br>&nbsp;&nbsp;&nbsp; A a;
<br>&nbsp;&nbsp;&nbsp; Timer::start(&amp;a, 5);&nbsp;&nbsp;&nbsp; // Gesture
rest maybe
<br>&nbsp;&nbsp;&nbsp; Timer::start(&amp;a, 2);&nbsp;&nbsp;&nbsp; // Say
something randomly maybe.
<br>&nbsp;&nbsp;&nbsp; while (1) { Timer::check() }
<br>}
<p>The next version of Timer will solve this by adding a void * to the
start() method and changing callback to popped(void *). This way you can
start a timer and specify some arbitrary number that is passed back to
your popped method when a timer pops.
<p>class A : public TimerIF {
<br>&nbsp;&nbsp;&nbsp; void popped(void *number) {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((int)number == 1) {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Reset gesture
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// Say something
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp; }
<br>}
<br>main() {
<br>&nbsp;&nbsp;&nbsp; A a;
<br>&nbsp;&nbsp;&nbsp; Timer::start(&amp;a, 5, 1);&nbsp; // Action 1 identifies
Gesture reset.
<br>&nbsp;&nbsp;&nbsp; Timer::start(&amp;a, 2, 2);&nbsp; // Action 2 identifies
say something.
<br>&nbsp;&nbsp;&nbsp; while (1) {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Timer::check();
<br>&nbsp;&nbsp;&nbsp; }
<br>}
<p>It is hard to know what the ideal OO pattern is to model this problem.
Another solution is to use a set of callback classes for each occurrence.
<p>class A {
<br>&nbsp;&nbsp;&nbsp; Avatar *a;
<br>&nbsp;&nbsp;&nbsp; A(Avatar *a_a) {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = a_a;
<br>&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp; void popped() {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.doA();
<br>&nbsp;&nbsp;&nbsp; }
<br>}
<br>class B {
<br>&nbsp;&nbsp;&nbsp; Avatar *a;
<br>&nbsp;&nbsp;&nbsp; A(Avatar *a_a) {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a = a_a;
<br>&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp; void popped() {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a->doB();
<br>&nbsp;&nbsp;&nbsp; }
<br>}
<br>class Avatar {
<br>&nbsp;&nbsp;&nbsp; void doA() {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Reset gesture
<br>&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp; void doB() {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Say something
<br>&nbsp;&nbsp;&nbsp; }
<br>}
<br>main() {
<br>&nbsp;&nbsp;&nbsp; Avatar a;
<br>&nbsp;&nbsp;&nbsp; Timer::start(new A(&amp;a));
<br>&nbsp;&nbsp;&nbsp; Timer::start(new B(&amp;a));
<br>&nbsp;&nbsp;&nbsp; while (1) { Timer::check() }
<br>}
<p>This creates a number of event type classes? I am not sure if this just
confuses the design or makes things easier.
<p>Any thoughts welcome.
<p>Edward Sumerfield, struggling OO programmer.
[View Quote]

Gesture problems

Dec 15, 1998, 5:49pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
Just one more question for you Roland.
<p>The browser is deciding on the gesture to initiate if the number from
the world server is different from the gesture it just performed?
<p>We have said that we need to reset the gesture to zero 5 seconds after
the initial gesture is sent. Could that rule be rephrased as "to initiate
a sequence of gestures, each successive gesture must be DIFFERENT from
the last."
<p>The difference between these statements is of coarse that instead of
zero we could set gesture 4, then 5 seconds later, set gesture 3, then
5 seconds later back to gesture 4 again. Would this sequence cause the
browser to correctly initiate each sequence?
[View Quote] </body>
</html>

Gesture problems

Dec 15, 1998, 8:14pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
You De Man Andras.
<p>So this is a documentation point to Roland then to clarify that that
it is not the change to zero but the CHANGE of the gesture that is important.
[View Quote] </body>
</html>

Gesture problems

Dec 16, 1998, 12:59pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
Because Edward writes very inefficient code?
<p>Which of my bots were you running?
<p>Most of them have one second poll (aw_wait(1000)) so that I can use
timers that are accurate to one second. I have not looked at how much CPU
this takes up.
[View Quote] </body>
</html>

Gesture problems

Dec 16, 1998, 8:48pm
--------------D731329ED8566A02A56FEFD7
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Are you running 9 programs like this or using a single program to manage 9
bots. I would imagine that a single program would be more efficient because
there would be only one 1 second loop as opposed to 9 of them.

How are you getting 9 bots at the same time? I thought there was a limit of 3.

Wow this is some really old code. since then we have migrated to (aw_wait)
syntax, then to the AWSDK::aw_wait and now finally to the simplest form
aw_wait using the awsdk.lib wrapper of the dll. But whatever works.

[View Quote] > The same you posted some times ago and here. aw_wait(1000) is there and
> nothing really else.
> The loop is here:
> for (int i=0;i<36000;i++) // 10 hours lifetime
> {
> (AWWait)(1000); // 1 sec only
> if (reset_gesture && reset_gesture < GetTickCount ())
> {
> /* time to set our gesture back to 0 again */
> (AWIntSet) (AW_MY_GESTURE, 0);
> (AWStateChange) ();
> reset_gesture = 0;
> }
> }
>
>
[View Quote] --------------D731329ED8566A02A56FEFD7
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
Are you running 9 programs like this or using a single program to manage
9 bots. I would imagine that a single program would be more efficient because
there would be only one 1 second loop as opposed to 9 of them.
<p>How are you getting 9 bots at the same time? I thought there was a limit
of 3.
<p>Wow this is some really old code. since then we have migrated to (aw_wait)
syntax, then to the AWSDK::aw_wait and now finally to the simplest form
aw_wait using the awsdk.lib wrapper of the dll. But whatever works.
[View Quote] </body>
</html>

--------------D731329ED8566A02A56FEFD7--

Gesture problems

Dec 16, 1998, 8:52pm
Don't be hard on the guy Roland. He is only trying to help with specific
phrasing of your pending documentation. He doesn't deserve to be reprimanded. As
we work through this "work in progress" we have all had to deal with the,
expected, inaccuracies. This is not a problem except that we are all interested
in improving things for the future.

[View Quote] > So, ummm, what exactly is your point, Canopus? That the documentation is
> incomplete? Thanks, but I already knew that. Like the SDK itself, and Active
> Worlds in general, the documentation is a work in progress, and it will
> improve with time
>
> -Roland
>
[View Quote]

Gesture problems

Dec 17, 1998, 11:34am
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
[View Quote] <blockquote TYPE=CITE>
[View Quote] </body>
</html>

Gesture problems

Dec 17, 1998, 12:06pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
You are doing a great job Roland. Keep it up.
[View Quote]

Help Needed: Bot can't login?

Dec 15, 1998, 4:11pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
What you are doing sounds right. Can you post your code?
[View Quote]

Help Needed: Bot can't login?

Dec 15, 1998, 4:40pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#FFFFFF">
All my stuff is C++ as well so that is cool, though I disagree with your
professor. OO code generally has far less duplication.
<p>Did you do an aw_init(AW_BUILD) before your aw_create?
<br>I don't see your declarations, I assume login_owner is an int?
<br>Did you check the bool result from Robot::Create? What was that error
code?
<br><font color="#000000"><font size=-1>AW_LOGIN_PASSWORD should be AW_LOGIN_PRIVILEGE_PASSWORD.
&lt;&lt;&lt; This looks like the big one.</font></font>
<br>Use endl instead of "\n" as in cout &lt;&lt; "Hello world" &lt;&lt;
endl;
<br>Suggest using Argv, argc for number and password and passing as parameters
to the bot.
<br>&nbsp;
[View Quote] </body>
</html>

aw_int_set(AW_MY_Y, 0)?

Dec 18, 1998, 11:31am
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Lets see the code Josh.
[View Quote]

aw_int_set(AW_MY_Y, 0)?

Dec 19, 1998, 2:14am
Not a lot of code there bud. Anyway, let me ask some questions.

How do you know that the strstr is working and it is actually executing the
aw_int_set? Have you added a printf or something inside the if statement.

Check the return codes of both calls. The doc doesn't actually say that it
returns a error code. It just says that it returns an int which maybe an error
code.

[View Quote] > if (strstr (aw_string (AW_CHAT_MESSAGE), "bot-ground")) {
> aw_int_set (AW_MY_Y, 0);
> aw_state_change ();
> }
>
[View Quote]

aw_int_set(AW_MY_Y, 0)?

Dec 21, 1998, 1:32pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
There is not much I can do then.
<p>One approach is to start to remove code until your program ends up very
simple. Once simple it becomes easy to debug.
[View Quote]

aw_int_set(AW_MY_Y, 0)?

Dec 21, 1998, 5:21pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Are you saying that can right a simple program and get the aw_int_set...
not to work?
<p>We are all moving our bots around AW using the same mechanisms so I
doubt that it is the sdk.
<p>So write a little bot program that initially puts your avatar at 10n
10w, then aw_wait a while and try your two lines of code aw_int_set and
aw_state_change. If you can prove that this code does not work then we
will have something to look at.
[View Quote]

aw_int_set(AW_MY_Y, 0)?

Dec 22, 1998, 2:26pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
According to Roland, every aw_state_change sends all information to the
server whether the bot set it or not. So if you only set the AW_MY_Y and
to a state change then the bot will move to X=0, Z=0, Y=what you set it
to.
<p>I use AW_MY_Y in AWCPP when you change the avatars pitch and move forward
it angles the direction up into the sky. Works just fine.
<p>Josh, did you write the little program yet?
[View Quote]

Object bounding boxes (attachment originally 43K).

Dec 18, 1998, 6:34pm
This is a multi-part message in MIME format.
--------------8399B8B51F31A3940D0B0EBD
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Per Rolans idea of capturing the object boundaries prior to running the
bot, let me offer the attached file.
<p>This represents the complete contents of <A HREF="http://objects.activeworlds.com/aw/models">http://objects.activeworlds.com/aw/models</A>
downloaded using a cool offline browser tool called WebZip. I used a script
to convert them all to .rwx files and, per Eeps advise and excellent web
page, used the rwxtract utility created by Andras, to list the name, width,
depth and height of each object.
<p>So the format of each line is
<p>&nbsp;&nbsp;&nbsp; RWXfilename width depth height
<p>Best of luck with collision detection.
<p>Edward Sumerfield.
<br>&nbsp;
<br>&nbsp;
<br>&nbsp;</html>

--------------8399B8B51F31A3940D0B0EBD
Content-Type: text/plain; charset=us-ascii;
name="RWXObjectConfig.cfg"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="RWXObjectConfig.cfg"

anim10x2.rwx 10.00 0.00 4.00
anim3x6.rwx 6.00 0.00 3.00
anim4x2.rwx 4.00 0.00 4.00
anim5x2.rwx 5.00 0.00 4.00
anim8x2.rwx 8.00 0.00 4.00
animate1.rwx 1.00 0.00 1.00
animate2.rwx 2.00 0.00 2.00
animate4.rwx 4.00 0.00 4.00
animate5.rwx 5.00 0.00 4.00
animate8.rwx 8.00 0.00 8.00
animfcr.rwx 0.60 0.00 1.50
animfcr2.rwx 1.00 0.00 1.70
animfcr3.rwx 2.00 0.00 2.00
animfcr4.rwx 2.00 0.00 1.00
anmate10.rwx 10.00 0.00 8.00
arch01.rwx 4.00 2.00 4.00
arch01l.rwx 8.00 4.00 8.00
arch01m.rwx 8.00 4.00 4.00
arch02.rwx 4.00 2.00 4.00
arch02l.rwx 8.00 4.00 8.00
arch02m.rwx 8.00 4.00 4.00
arch03.rwx 4.00 2.00 4.00
arch03l.rwx 8.00 4.00 8.00
arch03m.rwx 8.00 4.00 4.00
arch04.rwx 4.00 2.00 4.00
arch04l.rwx 8.00 4.00 8.00
arch04m.rwx 8.00 4.00 4.00
arch05.rwx 4.00 2.00 4.00
arch05l.rwx 8.00 4.00 8.00
arch05m.rwx 8.00 4.00 4.00
arch06.rwx 4.00 2.00 4.00
arch06l.rwx 8.00 4.00 8.00
arch06m.rwx 8.00 4.00 4.00
arch07.rwx 4.00 2.00 4.00
arch07l.rwx 8.00 4.00 8.00
arch07m.rwx 8.00 4.00 4.00
arch08.rwx 4.00 2.00 4.00
arch08l.rwx 8.00 4.00 8.00
arch08m.rwx 8.00 4.00 4.00
arch09.rwx 4.00 2.00 4.00
arch09l.rwx 8.00 4.00 8.00
arch09m.rwx 8.00 4.00 4.00
arch10.rwx 4.00 2.00 4.00
arch10l.rwx 8.00 4.00 8.00
arch10m.rwx 8.00 4.00 4.00
arch11.rwx 4.00 2.00 4.00
arch11l.rwx 8.00 4.00 8.00
arch11m.rwx 8.00 4.00 4.00
arch12.rwx 4.00 2.00 4.00
arch12l.rwx 8.00 4.00 8.00
arch12m.rwx 8.00 4.00 4.00
arch13.rwx 4.00 2.00 4.00
arch13l.rwx 8.00 4.00 8.00
arch13m.rwx 8.00 4.00 4.00
arch14.rwx 4.00 2.00 4.00
arch14l.rwx 8.00 4.00 8.00
arch14m.rwx 8.00 4.00 4.00
arch15.rwx 4.00 2.00 4.00
arch15l.rwx 8.00 4.00 8.00
arch15m.rwx 8.00 4.00 4.00
arch21.rwx 4.00 2.00 4.00
arch22.rwx 4.00 2.00 4.00
arch23.rwx 4.00 2.00 4.00
arch24.rwx 4.00 2.00 4.00
awn31.rwx 2.00 3.00 1.00
awn32.rwx 2.00 3.00 1.00
awn33.rwx 2.00 3.00 1.00
awn34.rwx 2.00 3.00 1.00
awn41.rwx 2.50 3.00 1.00
awn42.rwx 2.50 3.00 1.00
awn43.rwx 2.50 3.00 1.00
awn44.rwx 2.50 3.00 1.00
awnt00.rwx 2.50 3.00 1.00
bcgrn54.rwx 10000.00 13238.69 9818.49
bed01.rwx 2.02 2.30 1.33
bishopb.rwx 0.77 0.77 1.60
bishopw.rwx 0.77 0.77 1.60
booth.rwx 1.20 1.20 3.00
bridge.rwx 10.00 10.00 2.62
button.rwx 0.30 0.00 0.10
button_b.rwx 0.30 0.00 0.10
button_g.rwx 0.30 0.00 0.10
button_p.rwx 0.30 0.00 0.10
button_r.rwx 0.30 0.00 0.10
c116x160.rwx 1.60 0.00 1.16
c180x122.rwx 1.22 0.00 1.80
c220x82.rwx 0.82 0.00 2.20
cactus01.rwx 0.72 0.30 3.37
cactus02.rwx 0.98 0.42 4.63
cactus03.rwx 1.11 0.47 7.24
cg04_1.rwx 8.00 8.00 0.00
cg04_2.rwx 8.00 8.00 0.00
cg04h_1.rwx 10.00 10.00 0.00
cg04h_2.rwx 10.00 10.00 0.00
cg05_1.rwx 8.00 8.00 0.00
cg05_2.rwx 8.00 8.00 0.00
cg05h_1.rwx 10.00 10.00 0.00
cg05h_2.rwx 10.00 10.00 0.00
cg22_1.rwx 8.00 8.00 0.00
cg22_2.rwx 8.00 8.00 0.00
cg22h_1.rwx 10.00 10.00 0.00
cg22h_2.rwx 10.00 10.00 0.00
chair02.rwx 0.70 1.00 1.05
char2t00.rwx 1.02 0.87 1.00
char3t00.rwx 0.50 0.50 1.00
char4t00.rwx 0.60 0.52 0.90
charat01.rwx 1.05 1.00 1.05
chessb1.rwx 8.00 8.00 0.00
col10m02.rwx 3.75 3.75 10.00
col10m50.rwx 3.75 3.75 10.00
col4m024.rwx 1.50 1.50 4.00
col4m050.rwx 1.50 1.50 4.00
col8m024.rwx 3.00 3.00 8.00
col8m050.rwx 3.00 3.00 8.00
colm4m01.rwx 1.50 1.50 4.00
colm4m02.rwx 1.50 1.50 4.00
colm8m01.rwx 3.00 3.00 8.00
colm8m02.rwx 3.00 3.00 8.00
comp1.rwx 0.57 0.60 0.50
couch02.rwx 2.00 1.00 1.00
couh2t00.rwx 2.02 0.87 1.00
couhat01.rwx 2.34 1.00 1.05
desk01.rwx 1.50 1.00 0.80
dreser01.rwx 2.00 0.60 1.00
drink01.rwx 0.20 0.15 0.23
drink02.rwx 0.20 0.15 0.23
drinkf1.rwx 0.89 0.78 1.20
fall_gd.rwx 900.00 900.00 0.00
fall_gd2.rwx 900.00 900.00 0.00
fall_gn.rwx 900.00 900.00 0.00
fall_gn2.rwx 900.00 900.00 0.00
fence1.rwx 4.00 0.04 2.00
fence2.rwx 4.00 0.04 2.00
firehy1.rwx 0.72 0.53 1.00
flame1.rwx 1.00 0.00 1.50
floor01.rwx 4.00 4.00 0.00
floor01h.rwx 5.00 5.00 0.00
floor02.rwx 4.00 4.00 0.00
floor02h.rwx 5.00 5.00 0.00
floor03.rwx 4.00 4.00 0.00
floor031.rwx 4.00 4.00 0.00
floor032.rwx 4.00 4.00 0.00
floor03h.rwx 5.00 5.00 0.00
floor04.rwx 4.00 4.00 0.00
floor04h.rwx 5.00 5.00 0.00
floor05.rwx 4.00 4.00 0.00
floor05h.rwx 5.00 5.00 0.00
floor06.rwx 4.00 4.00 0.00
floor06h.rwx 5.00 5.00 0.00
floor07.rwx 4.00 4.00 0.00
floor07h.rwx 5.00 5.00 0.00
floor08.rwx 4.00 4.00 0.00
floor08h.rwx 5.00 5.00 0.00
floor09.rwx 4.00 4.00 0.00
floor09h.rwx 5.00 5.00 0.00
floor10.rwx 4.00 4.00 0.00
floor10h.rwx 5.00 5.00 0.00
floor11.rwx 4.00 4.00 0.00
floor11h.rwx 5.00 5.00 0.00
floor12.rwx 4.00 4.00 0.00
floor12h.rwx 5.00 5.00 0.00
floor12l.rwx 4.00 4.00 0.00
floor13.rwx 4.00 4.00 0.00
floor13h.rwx 5.00 5.00 0.00
floor14.rwx 4.00 4.00 0.00
floor14h.rwx 5.00 5.00 0.00
floor15.rwx 4.00 4.00 0.00
floor15h.rwx 5.00 5.00 0.00
floor18.rwx 4.00 4.00 0.00
floor18h.rwx 5.00 5.00 0.00
floor19.rwx 4.00 4.00 0.00
floor19h.rwx 5.00 5.00 0.00
floor20.rwx 4.00 4.00 0.00
floor20h.rwx 5.00 5.00 0.00
floor21.rwx 4.00 4.00 0.00
floor21h.rwx 5.00 5.00 0.00
floor22.rwx 4.00 4.00 0.00
floor22h.rwx 5.00 5.00 0.00
floor23.rwx 4.00 4.00 0.00
floor23h.rwx 5.00 5.00 0.00
floor24.rwx 4.00 4.00 0.00
floor24h.rwx 5.00 5.00 0.00
floor25.rwx 4.00 4.00 0.00
floor25h.rwx 5.00 5.00 0.00
floor26.rwx 4.00 4.00 0.00
floor26h.rwx 5.00 5.00 0.00
floor27.rwx 4.00 4.00 0.00
floor27h.rwx 5.00 5.00 0.00
floor28h.rwx 5.00 5.00 0.00
floor28n.rwx 4.00 4.00 0.00
floor29h.rwx 5.00 5.00 0.00
floor29n.rwx 4.00 4.00 0.00
floor30h.rwx 5.00 5.00 0.00
floor31.rwx 3.00 3.00 0.00
floor31h.rwx 5.00 5.00 0.00
floor31n.rwx 4.00 4.00 0.00
floor32.rwx 3.00 3.00 0.00
floor32h.rwx 5.00 5.00 0.00
floor32n.rwx 4.00 4.00 0.00
floor33.rwx 3.00 3.00 0.00
floor34.rwx 3.00 3.00 0.00
floor35.rwx 3.00 3.00 0.00
floor36.rwx 3.00 3.00 0.00
floor37.rwx 3.00 3.00 0.00
floor38.rwx 3.00 3.00 0.00
floor41.rwx 4.00 4.00 0.00
floor42.rwx 4.00 4.00 0.00
floor43.rwx 4.00 4.00 0.00
floor44.rwx 4.00 4.00 0.00
floor45.rwx 4.00 4.00 0.00
floor46.rwx 4.00 4.00 0.00
floor47.rwx 4.00 4.00 0.00
floor48.rwx 4.00 4.00 0.00
floor50.rwx 4.00 4.00 0.00
floor50h.rwx 5.00 5.00 0.00
flor12lh.rwx 5.00 5.00 0.00
flow11.rwx 1.00 0.00 1.00
flow12.rwx 1.00 0.00 1.00
flow13.rwx 1.00 0.00 1.00
flow14.rwx 1.00 0.00 1.00
flow15.rwx 1.00 0.00 1.00
flow16.rwx 1.00 0.00 2.00
flow17.rwx 1.00 0.00 0.75
flow18.rwx 1.00 0.00 0.75
flow19.rwx 1.00 0.00 0.75
flower1.rwx 1.00 0.00 0.75
flower2.rwx 1.00 0.00 1.00
flower3.rwx 1.00 0.00 1.00
flower4.rwx 1.00 0.00 1.00
flower5.rwx 1.00 0.00 0.50
flower6.rwx 1.00 0.00 1.00
flower7.rwx 1.00 0.00 1.00
flower8.rwx 1.00 0.00 1.00
flower9.rwx 1.00 0.00 2.00
frame1x1.rwx 1.00 0.05 1.00
frgrd-d.rwx 900.00 900.00 0.00
frgrd-n.rwx 900.00 900.00 0.00
gfc01.rwx 0.50 0.35 2.30
ground.rwx 900.00 900.00 0.00
ground2.rwx 900.00 900.00 0.00
groundw.rwx 900.00 900.00 0.00
highlght.rwx 10.00 10.00 10.00
hill01.rwx 10.00 10.00 1.50
hill02.rwx 10.00 10.00 1.50
hill03.rwx 10.00 10.00 1.50
hill04.rwx 10.00 10.00 1.50
hill05.rwx 10.00 10.00 1.50
hill1t01.rwx 10.00 10.00 1.50
hill2t01.rwx 10.00 10.00 1.50
hill3t01.rwx 10.00 10.00 1.50
hill4t01.rwx 10.00 10.00 1.50
hill5t01.rwx 10.00 10.00 1.50
kingb.rwx 0.76 0.76 2.00
kingw.rwx 0.76 0.76 2.00
knightb.rwx 0.66 0.93 1.60
knightw.rwx 0.66 0.93 1.60
lamp01.rwx 0.70 0.70 0.75
landa.rwx 10.00 10.00 0.00
landb.rwx 10.00 10.00 5.00
landc.rwx 10.00 10.00 5.00
landd.rwx 10.00 10.00 5.00
lande.rwx 10.00 10.00 10.00
landf.rwx 10.00 10.00 10.00
landg.rwx 10.00 10.00 10.00
mailbox1.rwx 0.58 0.80 1.68
manhole1.rwx 1.25 1.25 0.00
midispk.rwx 0.75 0.38 0.75
news1.rwx 0.75 0.75 1.88
nuke.rwx 100.00 100.00 86.94
oldshop1.rwx 4.00 4.00 3.00
oldshop2.rwx 4.00 4.00 3.00
oldtree1.rwx 3.00 0.00 5.00
p1101x2.rwx 8.00 0.00 4.00
p1102x2.rwx 8.00 0.00 4.00
p1103x2.rwx 8.00 0.00 4.00
p1104x2.rwx 8.00 0.00 4.00
p1105x2.rwx 8.00 0.00 4.00
p1106x2.rwx 8.00 0.00 4.00
p1107x2.rwx 8.00 0.00 4.00
p1301x2.rwx 8.00 0.00 4.00
p1302x2.rwx 8.00 0.00 4.00
p1303x2.rwx 8.00 0.00 4.00
p1304x2.rwx 8.00 0.00 4.00
p1305x2.rwx 8.00 0.00 4.00
p1306x2.rwx 8.00 0.00 4.00
p1307gx2.rwx 8.00 0.00 4.00
p1307x2.rwx 8.00 0.00 4.00
p45s01.rwx 4.00 0.00 4.00
p45s02.rwx 4.00 0.00 4.00
p45s03.rwx 4.00 0.00 4.00
p45s04.rwx 4.00 0.00 4.00
p45s05.rwx 4.00 0.00 4.00
p45s06.rwx 4.00 0.00 4.00
p45s07.rwx 4.00 0.00 4.00
p45s08.rwx 4.00 0.00 4.00
p45s09.rwx 4.00 0.00 4.00
p45s10.rwx 4.00 0.00 4.00
p45s11.rwx 4.00 0.00 4.00
p45s12.rwx 4.00 0.00 4.00
p45s13.rwx 4.00 0.00 4.00
p45s14.rwx 4.00 0.00 4.00
p45s15.rwx 4.00 0.00 4.00
p45s18.rwx 4.00 0.00 4.00
p45s19.rwx 4.00 0.00 4.00
p45s20.rwx 4.00 0.00 4.00
p45s21.rwx 4.00 0.00 4.00
p45s22.rwx 4.00 0.00 4.00
p45s23.rwx 4.00 0.00 4.00
p45s24.rwx 4.00 0.00 4.00
p45s25.rwx 4.00 0.00 4.00
p45s26.rwx 4.00 0.00 4.00
p45s27.rwx 4.00 0.00 4.00
p45s28.rwx 4.00 0.00 4.00
p45s29.rwx 4.00 0.00 4.00
p45s30.rwx 4.00 0.00 4.00
p45s31.rwx 4.00 0.00 4.00
p45s32.rwx 4.00 0.00 4.00
pan1101.rwx 4.00 0.00 4.00
pan1102.rwx 4.00 0.00 4.00
pan1103.rwx 4.00 0.00 4.00
pan1104.rwx 4.00 0.00 4.00
pan1105.rwx 4.00 0.00 4.00
pan1106.rwx 4.00 0.00 4.00
pan1107.rwx 4.00 0.00 4.00
pan1201.rwx 4.00 0.00 4.00
pan1202.rwx 4.00 0.00 4.00
pan1203.rwx 4.00 0.00 4.00
pan1204.rwx 4.00 0.00 4.00
pan1205.rwx 4.00 0.00 4.00
pan1206.rwx 4.00 0.00 4.00
pan1207.rwx 4.00 0.00 4.00
pan1301.rwx 4.00 0.00 4.00
pan1302.rwx 4.00 0.00 4.00
pan1303.rwx 4.00 0.00 4.00
pan1304.rwx 4.00 0.00 4.00
pan1305.rwx 4.00 0.00 4.00
pan1306.rwx 4.00 0.00 4.00
pan1307.rwx 4.00 0.00 4.00
pan1307g.rwx 4.00 0.00 4.00
pan1404.rwx 4.00 0.00 4.00
pan1405.rwx 4.00 0.00 4.00
pan1406.rwx 4.00 0.00 4.00
pan1407.rwx 4.00 0.00 4.00
pan1408.rwx 4.00 0.00 4.00
pan1409.rwx 4.00 0.00 4.00
pan2101.rwx 3.00 0.22 3.00
pan2102.rwx 3.00 0.22 3.00
pan2103.rwx 3.00 0.22 3.00
pan2104.rwx 3.00 0.22 3.00
pan2105.rwx 3.00 0.22 3.00
pan2201.rwx 3.00 0.00 3.00
pan2202.rwx 3.00 0.00 3.00
pan2203.rwx 3.00 0.00 3.00
pan2204.rwx 3.00 0.00 3.00
pan2205.rwx 3.00 0.00 3.00
pan2301.rwx 3.00 0.00 3.00
pan2302.rwx 3.00 0.00 3.00
pan2303.rwx 3.00 0.00 3.00
pan2304.rwx 3.00 0.00 3.00
pan2305.rwx 3.00 0.00 3.00
pan3101.rwx 3.00 0.22 3.00
pan3102.rwx 3.00 0.22 3.00
pan3103.rwx 3.00 0.22 3.00
pan3104.rwx 3.00 0.22 3.00
pan3201.rwx 3.00 0.00 3.00
pan3202.rwx 3.00 0.00 3.00
pan3203.rwx 3.00 0.15 3.00
pan3204.rwx 3.00 0.15 3.00
pan3301.rwx 3.00 0.00 3.00
pan3302.rwx 3.00 0.00 3.00
pan3302g.rwx 3.00 0.00 3.00
pan3303.rwx 3.00 0.00 3.00
pan3304.rwx 3.00 0.00 3.00
parch01.rwx 4.00 0.00 4.00
parch02.rwx 4.00 0.00 4.00
parch03.rwx 4.00 0.00 4.00
parch04.rwx 4.00 0.00 4.00
parch05.rwx 4.00 0.00 4.00
parch06.rwx 4.00 0.00 4.00
parch07.rwx 4.00 0.00 4.00
parch08.rwx 4.00 0.00 4.00
parch09.rwx 4.00 0.00 4.00
parch10.rwx 4.00 0.00 4.00
parch11.rwx 4.00 0.00 4.00
parch12.rwx 4.00 0.00 4.00
parch13.rwx 4.00 0.00 4.00
parch14.rwx 4.00 0.00 4.00
parch15.rwx 4.00 0.00 4.00
parch18.rwx 4.00 0.00 4.00
parch19.rwx 4.00 0.00 4.00
parch20.rwx 4.00 0.00 4.00
parch21.rwx 4.00 0.00 4.00
parch22.rwx 4.00 0.00 4.00
parch23.rwx 4.00 0.00 4.00
parch24.rwx 4.00 0.00 4.00
parch25.rwx 4.00 0.00 4.00
parch26.rwx 4.00 0.00 4.00
parch27.rwx 4.00 0.00 4.00
parch28.rwx 4.00 0.00 4.00
parch29.rwx 4.00 0.00 4.00
parch30.rwx 4.00 0.00 4.00
parch31.rwx 4.00 0.00 4.00
parch32.rwx 4.00 0.00 4.00
pawnb.rwx 0.53 0.53 1.00
pawnw.rwx 0.53 0.53 1.00
pcmag1.rwx 2.00 0.00 3.00
pd01.rwx 4.00 0.00 4.00
pd02.rwx 4.00 0.00 4.00
pd03.rwx 4.00 0.00 4.00
pd04.rwx 4.00 0.00 4.00
pd05.rwx 4.00 0.00 4.00
pd06.rwx 4.00 0.00 4.00
pd07.rwx 4.00 0.00 4.00
pd08.rwx 4.00 0.00 4.00
pd09.rwx 4.00 0.00 4.00
pd10.rwx 4.00 0.00 4.00
pd11.rwx 4.00 0.00 4.00
pd12.rwx 4.00 0.00 4.00
pd13.rwx 4.00 0.00 4.00
pd14.rwx 4.00 0.00 4.00
pd15.rwx 4.00 0.00 4.00
pd18.rwx 4.00 0.00 4.00
pd19.rwx 4.00 0.00 4.00
pd20.rwx 4.00 0.00 4.00
pd21.rwx 4.00 0.00 4.00
pd22.rwx 4.00 0.00 4.00
pd23.rwx 4.00 0.00 4.00
pd24.rwx 4.00 0.00 4.00
pd25.rwx 4.00 0.00 4.00
pd26.rwx 4.00 0.00 4.00
pd27.rwx 4.00 0.00 4.00
pd28.rwx 4.00 0.00 4.00
pd29.rwx 4.00 0.00 4.00
pd30.rwx 4.00 0.00 4.00
pd31.rwx 4.00 0.00 4.00
pd32.rwx 4.00 0.00 4.00
pianot00.rwx 1.50 0.65 1.32
pibnt00.rwx 1.00 0.50 0.50
pict1.rwx 3.00 0.10 2.25
pict2.rwx 2.25 0.10 2.25
pict3.rwx 2.25 0.10 3.00
pict4.rwx 1.50 0.05 1.12
pict5.rwx 1.12 0.05 1.12
pict6.rwx 1.12 0.05 1.50
pole1m.rwx 0.25 0.22 1.00
pole1m02.rwx 0.25 0.25 1.00
pole1m03.rwx 1.00 0.25 0.25
pole2m.rwx 0.25 0.22 2.00
pole2m02.rwx 0.25 0.25 2.00
pole2m03.rwx 2.00 0.25 0.25
pole4m.rwx 0.25 0.22 4.00
pole4m02.rwx 0.25 0.25 4.00
pole4m03.rwx 4.00 0.25 0.25
pot1.rwx 1.00 1.00 0.70
pot3.rwx 1.00 1.00 0.70
pot6.rwx 0.68 0.68 0.75
pp01.rwx 4.00 0.00 4.00
pp01_h.rwx 5.00 0.00 4.00
pp01l.rwx 8.00 0.00 8.00
pp01l_h.rwx 10.00 0.00 8.00
pp01m.rwx 8.00 0.00 4.00
pp01m_h.rwx 10.00 0.00 4.00
pp02.rwx 4.00 0.00 4.00
pp02_h.rwx 5.00 0.00 4.00
pp02l.rwx 8.00 0.00 8.00
pp02l_h.rwx 10.00 0.00 8.00
pp02m.rwx 8.00 0.00 4.00
pp02m_h.rwx 10.00 0.00 4.00
pp03.rwx 4.00 0.00 4.00
pp03_h.rwx 5.00 0.00 4.00
pp03l.rwx 8.00 0.00 8.00
pp03l_h.rwx 10.00 0.00 8.00
pp03m.rwx 8.00 0.00 4.00
pp03m_h.rwx 10.00 0.00 4.00
pp04.rwx 4.00 0.00 4.00
pp04_h.rwx 5.00 0.00 4.00
pp04l.rwx 8.00 0.00 8.00
pp04l_h.rwx 10.00 0.00 8.00
pp04m.rwx 8.00 0.00 4.00
pp04m_h.rwx 10.00 0.00 4.00
pp05.rwx 4.00 0.00 4.00
pp05_h.rwx 5.00 0.00 4.00
pp05l.rwx 8.00 0.00 8.00
pp05l_h.rwx 10.00 0.00 8.00
pp05m.rwx 8.00 0.00 4.00
pp05m_h.rwx 10.00 0.00 4.00
pp06.rwx 4.00 0.00 4.00
pp06_h.rwx 5.00 0.00 4.00
pp06l.rwx 8.00 0.00 8.00
pp06l_h.rwx 10.00 0.00 8.00
pp06m.rwx 8.00 0.00 4.00
pp06m_h.rwx 10.00 0.00 4.00
pp07.rwx 4.00 0.00 4.00
pp07_h.rwx 5.00 0.00 4.00
pp07l.rwx 8.00 0.00 8.00
pp07l_h.rwx 10.00 0.00 8.00
pp07m.rwx 8.00 0.00 4.00
pp07m_h.rwx 10.00 0.00 4.00
pp08.rwx 4.00 0.00 4.00
pp08_h.rwx 5.00 0.00 4.00
pp08l.rwx 8.00 0.00 8.00
pp08l_h.rwx 10.00 0.00 8.00
pp08m.rwx 8.00 0.00 4.00
pp08m_h.rwx 10.00 0.00 4.00
pp09.rwx 4.00 0.00 4.00
pp09_h.rwx 5.00 0.00 4.00
pp09l.rwx 8.00 0.00 8.00
pp09l_h.rwx 10.00 0.00 8.00
pp09m.rwx 8.00 0.00 4.00
pp09m_h.rwx 10.00 0.00 4.00
pp10.rwx 4.00 0.00 4.00
pp10_h.rwx 5.00 0.00 4.00
pp10l.rwx 8.00 0.00 8.00
pp10l_h.rwx 10.00 0.00 8.00
pp10m.rwx 8.00 0.00 4.00
pp10m_h.rwx 10.00 0.00 4.00
pp11.rwx 4.00 0.00 4.00
pp11_h.rwx 5.00 0.00 4.00
pp11l.rwx 8.00 0.00 8.00
pp11l_h.rwx 10.00 0.00 8.00
pp11m.rwx 8.00 0.00 4.00
pp11m_h.rwx 10.00 0.00 4.00
pp12.rwx 4.00 0.00 4.00
pp12_h.rwx 5.00 0.00 4.00
pp12l.rwx 8.00 0.00 8.00
pp12l_h.rwx 10.00 0.00 8.00
pp12m.rwx 8.00 0.00 4.00
pp12m_h.rwx 10.00 0.00 4.00
pp13.rwx 4.00 0.00 4.00
pp13_h.rwx 5.00 0.00 4.00
pp13l.rwx 8.00 0.00 8.00
pp13l_h.rwx 10.00 0.00 8.00
pp13m.rwx 8.00 0.00 4.00
pp13m_h.rwx 10.00 0.00 4.00
pp14.rwx 4.00 0.00 4.00
pp14_h.rwx 5.00 0.00 4.00
pp14l.rwx 8.00 0.00 8.00
pp14l_h.rwx 10.00 0.00 8.00
pp14m.rwx 8.00 0.00 4.00
pp14m_h.rwx 10.00 0.00 4.00
pp15.rwx 4.00 0.00 4.00
pp15_h.rwx 5.00 0.00 4.00
pp15l.rwx 8.00 0.00 8.00
pp15l_h.rwx 10.00 0.00 8.00
pp15m.rwx 8.00 0.00 4.00
pp15m_h.rwx 10.00 0.00 4.00
pp16.rwx 4.00 0.00 4.00
pp16_h.rwx 5.00 0.00 4.00
pp16l.rwx 8.00 0.00 8.00
pp16l_h.rwx 10.00 0.00 8.00
pp16m.rwx 8.00 0.00 4.00
pp16m_h.rwx 10.00 0.00 4.00
pp17.rwx 4.00 0.00 4.00
pp17_h.rwx 5.00 0.00 4.00
pp17l.rwx 8.00 0.00 8.00
pp17l_h.rwx 10.00 0.00 8.00
pp17m.rwx 8.00 0.00 4.00
pp17m_h.rwx 10.00 0.00 4.00
pp18.rwx 4.00 0.00 4.00
pp18_h.rwx 5.00 0.00 4.00
pp18l.rwx 8.00 0.00 8.00
pp18l_h.rwx 10.00 0.00 8.00
pp18m.rwx 8.00 0.00 4.00
pp18m_h.rwx 10.00 0.00 4.00
pp19.rwx 4.00 0.00 4.00
pp19_h.rwx 5.00 0.00 4.00
pp19l.rwx 8.00 0.00 8.00
pp19l_h.rwx 10.00 0.00 8.00
pp19m.rwx 8.00 0.00 4.00
pp19m_h.rwx 10.00 0.00 4.00
pp20.rwx 4.00 0.00 4.00
pp20_h.rwx 5.00 0.00 4.00
pp20l.rwx 8.00 0.00 8.00
pp20l_h.rwx 10.00 0.00 8.00
pp20m.rwx 8.00 0.00 4.00
pp20m_h.rwx 10.00 0.00 4.00
pp21.rwx 4.00 0.00 4.00
pp21_h.rwx 5.00 0.00 4.00
pp21l.rwx 8.00 0.00 8.00
pp21l_h.rwx 10.00 0.00 8.00
pp21m.rwx 8.00 0.00 4.00
pp21m_h.rwx 10.00 0.00 4.00
pp22.rwx 4.00 0.00 4.00
pp22_h.rwx 5.00 0.00 4.00
pp22l.rwx 8.00 0.00 8.00
pp22l_h.rwx 10.00 0.00 8.00
pp22m.rwx 8.00 0.00 4.00
pp22m_h.rwx 10.00 0.00 4.00
pp23.rwx 4.00 0.00 4.00
pp23_h.rwx 5.00 0.00 4.00
pp23l.rwx 8.00 0.00 8.00
pp23l_h.rwx 10.00 0.00 8.00
pp23m.rwx 8.00 0.00 4.00
pp23m_h.rwx 10.00 0.00 4.00
pp24.rwx 4.00 0.00 4.00
pp24_h.rwx 5.00 0.00 4.00
pp24l.rwx 8.00 0.00 8.00
pp24l_h.rwx 10.00 0.00 8.00
pp24m.rwx 8.00 0.00 4.00
pp24m_h.rwx 10.00 0.00 4.00
pp25.rwx 4.00 0.00 4.00
pp25_h.rwx 5.00 0.00 4.00
pp25l.rwx 8.00 0.00 8.00
pp25l_h.rwx 10.00 0.00 8.00
pp25m.rwx 8.00 0.00 4.00
pp25m_h.rwx 10.00 0.00 4.00
pp26.rwx 4.00 0.00 4.00
pp26_h.rwx 5.00 0.00 4.00
pp26l.rwx 8.00 0.00 8.00
pp26l_h.rwx 10.00 0.00 8.00
pp26m.rwx 8.00 0.00 4.00
pp26m_h.rwx 10.00 0.00 4.00
pp27.rwx 4.00 0.00 4.00
pp27_h.rwx 5.00 0.00 4.00
pp27l.rwx 8.00 0.00 8.00
pp27l_h.rwx 10.00 0.00 8.00
pp27m.rwx 8.00 0.00 4.00
pp27m_h.rwx 10.00 0.00 4.00
pp28.rwx 4.00 0.00 4.00
pp28_h.rwx 5.00 0.00 4.00
pp28l.rwx 8.00 0.00 8.00
pp28l_h.rwx 10.00 0.00 8.00
pp28m.rwx 8.00 0.00 4.00
pp28m_h.rwx 10.00 0.00 4.00
pp29.rwx 4.00 0.00 4.00
pp29_h.rwx 5.00 0.00 4.00
pp29l.rwx 8.00 0.00 8.00
pp29l_h.rwx 10.00 0.00 8.00
pp29m.rwx 8.00 0.00 4.00
pp29m_h.rwx 10.00 0.00 4.00
pp30.rwx 4.00 0.00 4.00
pp30_h.rwx 5.00 0.00 4.00
pp30l.rwx 8.00 0.00 8.00
pp30l_h.rwx 10.00 0.00 8.00
pp30m.rwx 8.00 0.00 4.00
pp30m_h.rwx 10.00 0.00 4.00
pp31.rwx 4.00 0.00 4.00
pp31_h.rwx 5.00 0.00 4.00
pp31l.rwx 8.00 0.00 8.00
pp31l_h.rwx 10.00 0.00 8.00
pp31m.rwx 8.00 0.00 4.00
pp31m_h.rwx 10.00 0.00 4.00
pp32.rwx 4.00 0.00 4.00
pp32_h.rwx 5.00 0.00 4.00
pp32l.rwx 8.00 0.00 8.00
pp32l_h.rwx 10.00 0.00 8.00
pp32m.rwx 8.00 0.00 4.00
pp32m_h.rwx 10.00 0.00 4.00
pp50.rwx 4.00 0.00 4.00
pp50_h.rwx 5.00 0.00 4.00
pp50l.rwx 8.00 0.00 8.00
pp50l_h.rwx 10.00 0.00 8.00
pp50m.rwx 8.00 0.00 4.00
pp50m_h.rwx 10.00 0.00 4.00
ppstn08.rwx 8.00 0.00 8.00
ppstn10.rwx 10.00 0.00 8.00
psign1.rwx 1.50 0.20 2.00
psign3.rwx 2.00 1.00 1.00
ptv1.rwx 2.00 2.00 2.00
ptv1t00.rwx 0.65 0.42 0.55
ptv2bs.rwx 4.00 0.75 4.00
ptv2t00.rwx 1.35 0.70 1.60
pw01.rwx 4.00 0.00 4.00
pw02.rwx 4.00 0.00 4.00
pw03.rwx 4.00 0.00 4.00
pw04.rwx 4.00 0.00 4.00
pw05.rwx 4.00 0.00 4.00
pw06.rwx 4.00 0.00 4.00
pw07.rwx 4.00 0.00 4.00
pw08.rwx 4.00 0.00 4.00
pw09.rwx 4.00 0.00 4.00
pw10.rwx 4.00 0.00 4.00
pw11.rwx 4.00 0.00 4.00
pw12.rwx 4.00 0.00 4.00
pw13.rwx 4.00 0.00 4.00
pw14.rwx 4.00 0.00 4.00
pw15.rwx 4.00 0.00 4.00
pw18.rwx 4.00 0.00 4.00
pw19.rwx 4.00 0.00 4.00
pw20.rwx 4.00 0.00 4.00
pw21.rwx 4.00 0.00 4.00
pw22.rwx 4.00 0.00 4.00
pw23.rwx 4.00 0.00 4.00
pw24.rwx 4.00 0.00 4.00
pw25.rwx 4.00 0.00 4.00
pw26.rwx 4.00 0.00 4.00
pw27.rwx 4.00 0.00 4.00
pw28.rwx 4.00 0.00 4.00
pw29.rwx 4.00 0.00 4.00
pw30.rwx 4.00 0.00 4.00
pw31.rwx 4.00 0.00 4.00
pw32.rwx 4.00 0.00 4.00
queenb.rwx 0.74 0.74 1.80
queenw.rwx 0.74 0.74 1.80
rail1.rwx 4.00 0.00 1.00
rail1t00.rwx 4.00 0.10 1.00
rail2.rwx 4.00 0.00 1.50
rail2t00.rwx 4.00 0.10 1.00
rcube.rwx 1.75 1.75 1.75
rf4504hl.rwx 3.00 6.00 3.00
rf4504hr.rwx 3.00 6.00 3.00
rf4505hl.rwx 3.00 6.00 3.00
rf4505hr.rwx 3.00 6.00 3.00
rf4506hl.rwx 3.00 6.00 3.00
rf4506hr.rwx 3.00 6.00 3.00
rf4507hl.rwx 3.00 6.00 3.00
rf4507hr.rwx 3.00 6.00 3.00
rf4508hl.rwx 3.00 6.00 3.00
rf4508hr.rwx 3.00 6.00 3.00
rock1.rwx 1.00 1.62 0.30
rock10.rwx 7.78 6.41 7.32
rock11.rwx 5.31 8.61 1.56
rock12.rwx 1.89 8.58 5.30
rock2.rwx 1.37 1.07 0.99
rock3.rwx 1.11 1.11 1.11
rock4.rwx 1.17 1.08 1.10
rock5.rwx 3.63 3.72 1.74
rock6.rwx 1.90 3.57 3.41
rock7.rwx 5.71 6.49 5.62
rock8.rwx 5.04 5.11 5.11
rock9.rwx 7.67 8.48 6.63
rofhc04h.rwx 10.00 10.00 5.00
rofhc05h.rwx 10.00 10.00 5.00
rofhc07h.rwx 8.00 8.00 4.00
rofhc08h.rwx 10.00 10.00 5.00
rofhc10h.rwx 10.00 10.00 5.00
rofhc21h.rwx 10.00 10.00 5.00
rofhc30h.rwx 10.00 10.00 5.00
rofhc32h.rwx 10.00 10.00 5.00
rofhc35h.rwx 10.00 10.00 5.00
roof04.rwx 4.00 4.00 4.00
roof04h.rwx 5.00 5.00 5.00
roof04m.rwx 4.00 8.00 4.00
roof04mh.rwx 5.00 10.00 5.00
roof05.rwx 4.00 4.00 4.00
roof05h.rwx 5.00 5.00 5.00
roof05m.rwx 4.00 8.00 4.00
roof05mh.rwx 5.00 10.00 5.00
roof07.rwx 4.00 8.00 4.00
roof07eb.rwx 4.00 0.00 4.00
roof07et.rwx 4.00 0.00 4.00
roof07h.rwx 5.00 10.00 5.00
roof07s.rwx 4.00 4.00 4.00
roof07sh.rwx 5.00 5.00 5.00
roof08.rwx 4.00 4.00 4.00
roof08h.rwx 5.00 5.00 5.00
roof08m.rwx 4.00 8.00 4.00
roof08mh.rwx 5.00 10.00 5.00
roof10.rwx 4.00 4.00 4.00
roof10h.rwx 5.00 5.00 5.00
roof10m.rwx 4.00 8.00 4.00
roof10mh.rwx 5.00 10.00 5.00
roof2001.rwx 3.00 3.00 0.00
roof2002.rwx 3.00 3.00 0.00
roof2003.rwx 3.00 3.00 0.00
roof21.rwx 4.00 4.00 4.00
roof2101.rwx 3.00 0.00 3.00
roof2102.rwx 3.00 0.00 3.00
roof21h.rwx 5.00 5.00 5.00
roof21m.rwx 4.00 8.00 4.00
roof21mh.rwx 5.00 10.00 5.00
roof2202.rwx 3.00 0.00 3.00
roof2601.rwx 3.00 0.00 3.00
roof2602.rwx 3.00 0.00 3.00
roof2603.rwx 3.00 0.00 3.00
roof2604.rwx 3.00 0.00 3.00
roof2605.rwx 3.00 0.00 3.00
roof2701.rwx 3.00 0.00 3.00
roof2702.rwx 3.00 0.00 3.00
roof2703.rwx 3.00 0.00 3.00
roof2704.rwx 3.00 0.00 3.00
roof2705.rwx 3.00 0.00 3.00
roof30.rwx 4.00 4.00 4.00
roof30h.rwx 5.00 5.00 5.00
roof30m.rwx 4.00 8.00 4.00
roof30mh.rwx 5.00 10.00 5.00
roof3101.rwx 3.00 0.00 3.00
roof3102.rwx 3.00 0.00 3.00
roof3103.rwx 3.00 0.00 3.00
roof3104.rwx 3.00 0.00 3.00
roof32.rwx 4.00 4.00 4.00
roof32h.rwx 5.00 5.00 5.00
roof32m.rwx 4.00 8.00 4.00
roof32mh.rwx 5.00 10.00 5.00
roof35.rwx 4.00 4.00 4.00
roof35h.rwx 5.00 5.00 5.00
roof35m.rwx 4.00 8.00 4.00
roof35mh.rwx 5.00 10.00 5.00
roof41.rwx 4.00 4.00 0.00
roof42.rwx 4.00 4.00 0.00
roof43.rwx 4.00 4.00 0.00
roof4501.rwx 4.00 3.00 4.00
roof4502.rwx 4.00 3.00 4.00
roof4503.rwx 4.00 3.00 4.00
roof4504.rwx 3.00 3.00 3.00
roof4505.rwx 3.00 3.00 3.00
roof4506.rwx 3.00 3.00 3.00
roof4507.rwx 3.00 3.00 3.00
roof4508.rwx 3.00 3.00 3.00
roofc04.rwx 4.00 4.00 4.00
roofc04h.rwx 5.00 5.00 5.00
roofc05.rwx 4.00 4.00 4.00
roofc05h.rwx 5.00 5.00 5.00
roofc07.rwx 4.00 4.00 4.00
roofc07h.rwx 5.00 5.00 5.00
roofc08.rwx 4.00 4.00 4.00
roofc08h.rwx 5.00 5.00 5.00
roofc10.rwx 4.00 4.00 4.00
roofc10h.rwx 5.00 5.00 5.00
roofc21.rwx 4.00 4.00 4.00
roofc21h.rwx 5.00 5.00 5.00
roofc30.rwx 4.00 4.00 4.00
roofc30h.rwx 5.00 5.00 5.00
roofc32.rwx 4.00 4.00 4.00
roofc32h.rwx 5.00 5.00 5.00
roofc35.rwx 4.00 4.00 4.00
roofc35h.rwx 5.00 5.00 5.00
roofel04.rwx 4.00 4.00 4.00
roofel07.rwx 4.00 4.00 4.00
roofel08.rwx 4.00 4.00 4.00
roofel10.rwx 4.00 4.00 4.00
roofel21.rwx 4.00 4.00 4.00
roofel30.rwx 4.00 4.00 4.00
roofel32.rwx 4.00 4.00 4.00
roofel35.rwx 4.00 4.00 4.00
roofer04.rwx 4.00 4.00 4.00
roofer07.rwx 4.00 4.00 4.00
roofer08.rwx 4.00 4.00 4.00
roofer10.rwx 4.00 4.00 4.00
roofer21.rwx 4.00 4.00 4.00
roofer30.rwx 4.00 4.00 4.00
roofer32.rwx 4.00 4.00 4.00
roofer35.rwx 4.00 4.00 4.00
roofhc04.rwx 8.00 8.00 4.00
roofhc05.rwx 8.00 8.00 4.00
roofhc07.rwx 8.00 8.00 4.00
roofhc08.rwx 8.00 8.00 4.00
roofhc10.rwx 8.00 8.00 4.00
roofhc21.rwx 8.00 8.00 4.00
roofhc30.rwx 8.00 8.00 4.00
roofhc32.rwx 8.00 8.00 4.00
roofhc35.rwx 8.00 8.00 4.00
roofhl04.rwx 4.00 8.00 4.00
roofhl07.rwx 4.00 8.00 4.00
roofhl08.rwx 4.00 8.00 4.00
roofhl10.rwx 4.00 8.00 4.00
roofhl21.rwx 4.00 8.00 4.00
roofhl30.rwx 4.00 8.00 4.00
roofhl32.rwx 4.00 8.00 4.00
roofhl35.rwx 4.00 8.00 4.00
roofhr04.rwx 4.00 8.00 4.00
roofhr07.rwx 4.00 8.00 4.00
roofhr08.rwx 4.00 8.00 4.00
roofhr10.rwx 4.00 8.00 4.00
roofhr21.rwx 4.00 8.00 4.00
roofhr30.rwx 4.00 8.00 4.00
roofhr32.rwx 4.00 8.00 4.00
roofhr35.rwx 4.00 8.00 4.00
rookb.rwx 0.72 0.72 1.40
rookw.rwx 0.72 0.72 1.40
rusgrd-d.rwx 900.00 900.00 0.00
rusgrd-n.rwx 900.00 900.00 0.00
sawhorse.rwx 1.00 0.73 0.96
shrub01.rwx 2.00 0.00 2.00
shrub02.rwx 1.00 0.00 1.50
shrub03.rwx 1.00 0.00 1.00
shrub11.rwx 1.00 0.00 2.50
shrub12.rwx 1.00 0.00 1.00
sign1.rwx 1.50 0.20 2.00
sign2.rwx 1.00 0.10 2.45
sign3.rwx 2.00 1.00 1.00
snack01.rwx 0.40 0.00 0.40
snow1.rwx 8.00 8.00 0.50
stair01.rwx 2.00 2.00 2.00
stair01l.rwx 4.00 4.00 4.00
stair01m.rwx 4.00 2.00 2.00
stair02.rwx 2.00 2.00 2.00
stair02l.rwx 4.00 4.00 4.00
stair02m.rwx 4.00 2.00 2.00
stair03.rwx 2.00 2.00 2.00
stair03l.rwx 4.00 4.00 4.00
stair03m.rwx 4.00 2.00 2.00
stair04.rwx 2.00 2.00 2.00
stair04l.rwx 4.00 4.00 4.00
stair04m.rwx 4.00 2.00 2.00
stair05.rwx 2.00 2.00 2.00
stair05l.rwx 4.00 4.00 4.00
stair05m.rwx 4.00 2.00 2.00
stair06.rwx 2.00 2.00 2.00
stair06l.rwx 4.00 4.00 4.00
stair06m.rwx 4.00 2.00 2.00
stair24.rwx 2.00 2.00 2.00
stair24h.rwx 5.00 5.00 4.00
stair24l.rwx 4.00 4.00 4.00
stair24m.rwx 4.00 2.00 2.00
stair24p.rwx 5.00 2.00 2.00
statue1.rwx 3.00 0.00 10.00
statue2.rwx 2.00 1.00 2.00
stlamp1.rwx 0.50 0.50 3.00
stlamp2.rwx 1.60 0.00 3.00
stlmpt00.rwx 0.60 0.60 3.30
stool01.rwx 0.70 0.60 0.40
stool02.rwx 0.70 0.60 0.40
street1.rwx 10.00 10.00 0.10
street2.rwx 10.00 10.00 0.10
street3.rwx 10.00 10.00 1.10
table02.rwx 3.00 1.50 0.70
table1.rwx 2.00 1.00 0.54
tblct00.rwx 1.30 0.53 0.40
tbldt00.rwx 1.80 1.10 0.72
tblet00.rwx 0.70 0.53 0.52
toilet.rwx 0.50 0.70 0.75
torch1.rwx 1.00 0.00 1.50
tport.rwx 3.00 3.00 8.00
trash1.rwx 0.75 0.65 1.00
trash2.rwx 0.97 0.86 1.10
trash3.rwx 0.97 0.86 1.10
trash4.rwx 0.97 0.86 1.10
tree01.rwx 3.88 3.88 5.00
tree02.rwx 3.88 3.88 7.31
tree03.rwx 5.22 5.22 14.07
tree10m.rwx 6.00 0.00 6.00
tree11m.rwx 4.00 0.00 6.00
tree1m.rwx 4.00 0.00 8.00
tree2s.rwx 2.00 0.00 3.00
tree3m.rwx 4.00 0.00 8.00
tree4m.rwx 6.00 0.00 8.00
tree5m.rwx 4.00 0.00 8.00
tree6m.rwx 4.00 0.00 10.00
tree7m.rwx 6.00 0.00 8.00
tree8m.rwx 4.00 0.00 8.00
tree9m.rwx 4.00 0.00 8.00
tv1.rwx 0.65 0.42 0.55
tv1t00.rwx 0.65 0.42 0.55
tv2bs.rwx 2.49 0.10 1.88
tv2t00.rwx 1.35 0.70 1.60
tv3bs.rwx 1.35 0.70 1.60
tvstnd.rwx 1.00 1.00 2.00
umbra01.rwx 5.40 5.40 4.00
unknown.rwx 0.40 0.00 0.20
vase3.rwx 0.59 0.56 0.96
walk001.rwx 8.00 8.00 0.00
walk001h.rwx 10.00 10.00 0.00
walk002.rwx 8.00 8.00 0.00
walk002h.rwx 10.00 10.00 0.00
walk003.rwx 8.00 8.00 0.00
walk003h.rwx 10.00 10.00 0.00
walk004.rwx 8.00 8.00 0.00
walk004h.rwx 10.00 10.00 0.00
walk005.rwx 8.00 8.00 0.00
walk005h.rwx 10.00 10.00 0.00
walk006.rwx 8.00 8.00 0.00
walk006h.rwx 10.00 10.00 0.00
walk007.rwx 8.00 8.00 0.00
walk007h.rwx 10.00 10.00 0.00
walk008.rwx 8.00 8.00 0.00
walk008h.rwx 10.00 10.00 0.00
walk009.rwx 8.00 8.00 0.00
walk009h.rwx 10.00 10.00 0.00
walk010.rwx 8.00 8.00 0.00
walk010h.rwx 10.00 10.00 0.00
walk011.rwx 8.00 8.00 0.00
walk011h.rwx 10.00 10.00 0.00
walk012.rwx 8.00 8.00 0.00
walk012h.rwx 10.00 10.00 0.00
walk013.rwx 8.00 8.00 0.00
walk013h.rwx 10.00 10.00 0.00
walk014.rwx 8.00 8.00 0.00
walk014h.rwx 10.00 10.00 0.00
walk015.rwx 8.00 8.00 0.00
walk015h.rwx 10.00 10.00 0.00
walk018.rwx 8.00 8.00 0.00
walk018h.rwx 10.00 10.00 0.00
walk019.rwx 8.00 8.00 0.00
walk019h.rwx 10.00 10.00 0.00
walk01h.rwx 10.00 10.00 0.00
walk020.rwx 8.00 8.00 0.00
walk020h.rwx 10.00 10.00 0.00
walk021.rwx 8.00 8.00 0.00
walk021h.rwx 10.00 10.00 0.00
walk022.rwx 8.00 8.00 0.00
walk022h.rwx 10.00 10.00 0.00
walk023.rwx 8.00 8.00 0.00
walk023h.rwx 10.00 10.00 0.00
walk024.rwx 8.00 8.00 0.00
walk024h.rwx 10.00 10.00 0.00
walk025.rwx 8.00 8.00 0.00
walk025h.rwx 10.00 10.00 0.00
walk026.rwx 8.00 8.00 0.00
walk026h.rwx 10.00 10.00 0.00
walk027.rwx 8.00 8.00 0.00
walk027h.rwx 10.00 10.00 0.00
walk028.rwx 8.00 8.00 0.00
walk028h.rwx 10.00 10.00 0.00
walk029.rwx 8.00 8.00 0.00
walk029h.rwx 10.00 10.00 0.00
walk031.rwx 8.00 8.00 0.00
walk031h.rwx 10.00 10.00 0.00
walk032.rwx 8.00 8.00 0.00
walk032h.rwx 10.00 10.00 0.00
walk050.rwx 8.00 8.00 0.00
walk050h.rwx 10.00 10.00 0.00
walk06h.rwx 10.00 10.00 0.00
walk07h.rwx 10.00 10.00 0.00
walk1.rwx 8.00 8.00 0.00
walk10.rwx 8.00 8.00 0.00
walk11.rwx 8.00 8.00 0.00
walk12.rwx 8.00 8.00 0.00
walk12h.rwx 10.00 10.00 0.00
walk2.rwx 8.00 8.00 0.00
walk23h.rwx 10.00 10.00 0.00
walk26.rwx 8.00 8.00 0.00
walk3.rwx 8.00 8.00 0.00
walk4.rwx 8.00 8.00 0.00
walk5.rwx 8.00 8.00 0.00
walk6.rwx 8.00 8.00 0.00
walk7.rwx 8.00 8.00 0.00
walk8.rwx 8.00 8.00 0.00
walk9.rwx 8.00 8.00 0.00
wall001.rwx 4.00 0.20 1.00
wall001h.rwx 10.00 0.20 5.00
wall001l.rwx 8.00 0.20 2.00
wall002.rwx 4.00 0.20 1.00
wall002h.rwx 10.00 0.20 5.00
wall002l.rwx 8.00 0.20 2.00
wall003.rwx 4.00 0.20 1.00
wall003h.rwx 10.00 0.20 5.00
wall003l.rwx 8.00 0.20 2.00
wall004.rwx 4.00 0.20 1.00
wall004h.rwx 10.00 0.20 5.00
wall004l.rwx 8.00 0.20 2.00
wall005.rwx 4.00 0.20 1.00
wall005h.rwx 10.00 0.20 5.00
wall005l.rwx 8.00 0.20 2.00
wall006.rwx 4.00 0.20 1.00
wall006h.rwx 10.00 0.20 5.00
wall006l.rwx 8.00 0.20 2.00
wall007.rwx 4.00 0.20 1.00
wall007h.rwx 10.00 0.20 5.00
wall007l.rwx 8.00 0.20 2.00
wall008.rwx 4.00 0.20 1.00
wall008h.rwx 10.00 0.20 5.00
wall008l.rwx 8.00 0.20 2.00
wall009.rwx 4.00 0.20 1.00
wall009h.rwx 10.00 0.20 5.00
wall009l.rwx 8.00 0.20 2.00
wall010.rwx 4.00 0.20 1.00
wall010h.rwx 10.00 0.20 5.00
wall010l.rwx 8.00 0.20 2.00
wall011.rwx 4.00 0.20 1.00
wall011h.rwx 10.00 0.20 5.00
wall011l.rwx 8.00 0.20 2.00
wall012.rwx 4.00 0.20 1.00
wall012h.rwx 10.00 0.20 5.00
wall012l.rwx 8.00 0.20 2.00
wall013.rwx 4.00 0.20 1.00
wall013h.rwx 10.00 0.20 5.00
wall013l.rwx 8.00 0.20 2.00
wall014.rwx 4.00 0.20 1.00
wall014h.rwx 10.00 0.20 5.00
wall014l.rwx 8.00 0.20 2.00
wall015.rwx 4.00 0.20 1.00
wall015h.rwx 10.00 0.20 5.00
wall015l.rwx 8.00 0.20 2.00
wall018.rwx 4.00 0.20 1.00
wall018h.rwx 10.00 0.20 5.00
wall018l.rwx 8.00 0.20 2.00
wall019.rwx 4.00 0.20 1.00
wall019h.rwx 10.00 0.20 5.00
wall019l.rwx 8.00 0.20 2.00
wall020.rwx 4.00 0.20 1.00
wall020h.rwx 10.00 0.20 5.00
wall020l.rwx 8.00 0.20 2.00
wall021.rwx 4.00 0.20 1.00
wall021h.rwx 10.00 0.20 5.00
wall021l.rwx 8.00 0.20 2.00
wall022.rwx 4.00 0.20 1.00
wall022h.rwx 10.00 0.20 5.00
wall022l.rwx 8.00 0.20 2.00
wall023.rwx 4.00 0.20 1.00
wall023h.rwx 10.00 0.20 5.00
wall023l.rwx 8.00 0.20 2.00
wall024.rwx 4.00 0.20 1.00
wall024h.rwx 10.00 0.20 5.00
wall024l.rwx 8.00 0.20 2.00
wall025.rwx 4.00 0.20 1.00
wall025h.rwx 10.00 0.20 5.00
wall025l.rwx 8.00 0.20 2.00
wall026.rwx 4.00 0.20 1.00
wall026h.rwx 10.00 0.20 5.00
wall026l.rwx 8.00 0.20 2.00
wall027.rwx 4.00 0.20 1.00
wall027h.rwx 10.00 0.20 5.00
wall027l.rwx 8.00 0.20 2.00
wall028.rwx 4.00 0.20 1.00
wall028h.rwx 10.00 0.20 5.00
wall028l.rwx 8.00 0.20 2.00
wall029.rwx 4.00 0.20 1.00
wall029h.rwx 10.00 0.20 5.00
wall029l.rwx 8.00 0.20 2.00
wall030.rwx 4.00 0.20 1.00
wall030h.rwx 10.00 0.20 5.00
wall030l.rwx 8.00 0.20 2.00
wall031.rwx 4.00 0.20 1.00
wall031h.rwx 10.00 0.20 5.00
wall031l.rwx 8.00 0.20 2.00
wall032.rwx 4.00 0.20 1.00
wall032h.rwx 10.00 0.20 5.00
wall032l.rwx 8.00 0.20 2.00
wall033.rwx 4.00 0.20 1.00
wall033h.rwx 10.00 0.20 5.00
wall033l.rwx 8.00 0.20 2.00
wall049.rwx 4.00 0.20 1.00
wall049h.rwx 10.00 0.20 4.00
wall049l.rwx 8.00 0.20 2.00
wall050.rwx 4.00 0.20 1.00
wall050h.rwx 10.00 0.20 4.00
wall050l.rwx 8.00 0.20 2.00
wall1.rwx 4.00 0.20 1.00
wall10.rwx 4.00 0.20 1.00
wall101.rwx 4.00 0.20 1.00
wall102.rwx 4.00 0.20 1.00
wall11.rwx 2.00 0.20 1.00
wall12.rwx 2.00 0.20 1.00
wall16.rwx 2.00 0.50 1.00
wall17.rwx 2.00 0.20 1.00
wall18.rwx 2.00 0.20 1.00
wall19.rwx 2.00 0.20 1.00
wall2.rwx 4.00 0.20 1.00
wall21.rwx 4.00 0.50 2.00
wall22.rwx 4.00 0.50 2.00
wall26.rwx 4.00 0.50 2.00
wall27.rwx 4.00 0.50 2.00
wall28.rwx 4.00 0.50 2.00
wall29.rwx 4.00 0.50 2.00
wall3.rwx 4.00 0.20 1.00
wall4.rwx 4.00 0.20 1.00
wall5.rwx 4.00 0.20 1.00
wall6.rwx 4.00 0.20 1.00
wall7.rwx 4.00 0.20 1.00
wallh01.rwx 5.00 0.20 1.00
wallh01l.rwx 10.00 0.20 2.00
wallh02.rwx 5.00 0.20 1.00
wallh02l.rwx 10.00 0.20 2.00
wallh03.rwx 5.00 0.20 1.00
wallh03l.rwx 10.00 0.20 2.00
wallh04.rwx 5.00 0.20 1.00
wallh04l.rwx 10.00 0.20 2.00
wallh05.rwx 5.00 0.20 1.00
wallh05l.rwx 10.00 0.20 2.00
wallh06.rwx 5.00 0.20 1.00
wallh06l.rwx 10.00 0.20 2.00
wallh07.rwx 5.00 0.20 1.00
wallh07l.rwx 10.00 0.20 2.00
wallh08.rwx 5.00 0.20 1.00
wallh08l.rwx 10.00 0.20 2.00
wallh09.rwx 5.00 0.20 1.00
wallh09l.rwx 10.00 0.20 2.00
wallh10.rwx 5.00 0.20 1.00
wallh10l.rwx 10.00 0.20 2.00
wallh11.rwx 5.00 0.20 1.00
wallh11l.rwx 10.00 0.20 2.00
wallh12.rwx 5.00 0.20 1.00
wallh12l.rwx 10.00 0.20 2.00
wallh13.rwx 5.00 0.20 1.00
wallh13l.rwx 10.00 0.20 2.00
wallh14.rwx 5.00 0.20 1.00
wallh14l.rwx 10.00 0.20 2.00
wallh15.rwx 5.00 0.20 1.00
wallh15l.rwx 10.00 0.20 2.00
wallh18.rwx 5.00 0.20 1.00
wallh18l.rwx 10.00 0.20 2.00
wallh19.rwx 5.00 0.20 1.00
wallh19l.rwx 10.00 0.20 2.00
wallh20.rwx 5.00 0.20 1.00
wallh20l.rwx 10.00 0.20 2.00
wallh21.rwx 5.00 0.20 1.00
wallh21l.rwx 10.00 0.20 2.00
wallh22.rwx 5.00 0.20 1.00
wallh22l.rwx 10.00 0.20 2.00
wallh23.rwx 5.00 0.20 1.00
wallh23l.rwx 10.00 0.20 2.00
wallh24.rwx 5.00 0.20 1.00
wallh24l.rwx 10.00 0.20 2.00
wallh25.rwx 5.00 0.20 1.00
wallh25l.rwx 10.00 0.20 2.00
wallh26.rwx 5.00 0.20 1.00
wallh26l.rwx 10.00 0.20 2.00
wallh27.rwx 5.00 0.20 1.00
wallh27l.rwx 10.00 0.20 2.00
wallh28.rwx 5.00 0.20 1.00
wallh28l.rwx 10.00 0.20 2.00
wallh29.rwx 5.00 0.20 1.00
wallh29l.rwx 10.00 0.20 2.00
wallh30.rwx 5.00 0.20 1.00
wallh30l.rwx 10.00 0.20 2.00
wallh31.rwx 5.00 0.20 1.00
wallh31l.rwx 10.00 0.20 2.00
wallh32.rwx 5.00 0.20 1.00
wallh32l.rwx 10.00 0.20 2.00
wallh33.rwx 5.00 0.20 1.00
wallh33l.rwx 10.00 0.20 2.00
wallh49.rwx 5.00 0.20 1.00
wallh49l.rwx 10.00 0.20 2.00
wallh50.rwx 5.00 0.20 1.00
wallh50l.rwx 10.00 0.20 2.00
wat01h.rwx 10.00 10.00 0.09
wat5at00.rwx 10.00 10.00 0.09
water2s.rwx 2.00 2.00 0.09
water2tr.rwx 2.00 2.00 0.09
water4s.rwx 4.00 4.00 0.09
water4tr.rwx 4.00 4.00 0.09
water8s.rwx 8.00 8.00 0.09
water8tl.rwx 8.00 8.00 0.09
water8tr.rwx 8.00 8.00 0.09
waterf1.rwx 1.50 0.20 1.09
waterf2.rwx 1.50 0.35 2.09
wavspk.rwx 0.50 0.25 0.50
wfalls1.rwx 8.00 0.00 4.00
wfalls2.rwx 10.00 0.00 4.00
wfalls2l.rwx 10.00 0.00 8.00
xground.rwx 900.00 900.00 0.00
zabb1.rwx 10.00 0.84 8.22
zalsign.rwx 9.07 0.24 4.70
zaw1.rwx 0.80 0.07 2.50
zaw12.rwx 6.00 0.10 4.51
zaw2.rwx 6.00 0.10 4.51
zaw4.rwx 0.60 0.60 2.60
zaw5.rwx 4.00 0.92 3.28
zaw6.rwx 0.80 2.96 2.96
zaw7.rwx 3.00 0.05 2.25
zbeam1.rwx 0.90 0.00 6.90
zca_add1.rwx 7.96 3.08 6.00
zcart.rwx 3.00 0.00 1.50
zcomp1.rwx 5.00 5.00 0.00
zdaap01.rwx 7.25 4.78 8.00
zdeck1.rwx 3.00 9.75 0.00
zdesk1.rwx 5.00 1.50 0.84
zdgdesk.rwx 2.00 1.00 0.80
zdgoff.rwx 8.00 8.00 8.00
zdome1.rwx 6.90 6.90 3.45
zearth1.rwx 1.00 0.00 1.00
zetac.rwx 1.50 0.00 1.50
zfw16x12.rwx 16.00 0.00 12.00
zfw32x24.rwx 32.00 0.00 24.00
zgate1.rwx 16.00 6.00 12.00
zglobe1.rwx 4.00 0.00 5.00
zgzcent1.rwx 5.00 5.00 0.00
zgzcent2.rwx 14.50 14.50 0.00
zhall1.rwx 8.00 8.00 8.00
zics.rwx 1.00 0.00 1.80
ziggy4.rwx 30.00 30.00 11.25
ziin.rwx 0.80 0.00 1.60
ziksk.rwx 0.84 4.00 2.05
zilawn.rwx 40.00 40.00 1.00
zim1.rwx 0.75 22.20 1.75
zin0.rwx 2.00 0.00 4.00
zin1.rwx 2.00 0.00 4.00
zin2.rwx 2.00 0.00 4.00
zin3.rwx 2.00 0.00 4.00
zin4.rwx 2.00 0.00 4.00
zin5.rwx 2.00 0.00 4.00
zinn.rwx 22.40 7.20 14.40
zins.rwx 22.40 0.00 14.53
zips.rwx 1.00 0.00 1.80
zisi.rwx 0.77 5.00 1.04
zisp0.rwx 1.00 0.00 1.00
zisp1.rwx 1.00 0.00 1.00
zisp2.rwx 1.00 0.00 1.00
zisp3.rwx 1.00 0.00 1.00
zisp4.rwx 1.00 0.00 1.00
zisp5.rwx 1.00 0.00 1.00
zisp6.rwx 1.00 0.00 1.00
zisp7.rwx 1.00 0.00 1.00
zisp8.rwx 1.00 0.00 1.00
zisp9.rwx 1.00 0.00 1.00
zispa.rwx 1.00 0.00 1.00
zispb.rwx 1.00 0.00 1.00
zitd.rwx 2.00 0.00 3.05
zite.rwx 2.00 2.00 6.80
zitu.rwx 2.00 0.00 3.05
ziwn.rwx 0.80 0.00 1.60
zjbase1.rwx 16.00 32.00 4.00
zjbase2.rwx 16.00 32.00 4.00
zjbasec.rwx 4.00 12.00 4.00
zjbasee.rwx 4.00 12.00 4.00
zjbasep.rwx 1.00 1.00 3.00
zjbceil.rwx 12.00 12.00 0.00
zjbflor.rwx 12.00 12.00 0.00
zjbord11.rwx 4.00 4.00 0.00
zjbord12.rwx 4.00 4.00 0.00
zjbord13.rwx 4.00 4.00 0.00
zjbord14.rwx 4.00 4.00 0.00
zjbord15.rwx 4.00 4.00 0.00
zjbord21.rwx 4.00 4.00 0.00
zjbord22.rwx 4.00 4.00 0.00
zjbord23.rwx 4.00 4.00 0.00
zjbord24.rwx 4.00 4.00 0.00
zjbord25.rwx 4.00 4.00 0.00
zjbord31.rwx 4.00 4.00 0.00
zjbord32.rwx 4.00 4.00 0.00
zjbord33.rwx 4.00 4.00 0.00
zjbord34.rwx 4.00 4.00 0.00
zjbord35.rwx 4.00 4.00 0.00
zjbord41.rwx 4.00 4.00 0.00
zjbord42.rwx 4.00 4.00 0.00
zjbord43.rwx 4.00 4.00 0.00
zjbord44.rwx 4.00 4.00 0.00
zjbord45.rwx 4.00 4.00 0.00
zjbord51.rwx 4.00 4.00 0.00
zjbord52.rwx 4.00 4.00 0.00
zjbord53.rwx 4.00 4.00 0.00
zjbord54.rwx 4.00 4.00 0.00
zjbord55.rwx 4.00 4.00 0.00
zjcard1.rwx 0.90 0.02 1.60
zjcceil.rwx 20.00 20.00 0.00
zjcolum.rwx 0.50 0.00 7.75
zjcolum2.rwx 0.24 0.00 4.00
zjdoor01.rwx 4.00 0.20 4.00
zjdoor02.rwx 4.00 0.20 4.00
zjhceil.rwx 20.00 6.00 0.00
zjhflor.rwx 20.00 6.00 0.00
zjhfront.rwx 5.10 4.50 8.15
zjpanl01.rwx 4.00 0.20 4.00
zjpanl02.rwx 4.00 0.20 8.00
zjpanl03.rwx 4.00 0.20 4.00
zjpanl04.rwx 4.00 0.20 6.00
zjpanl05.rwx 8.10 0.20 4.00
zjpanl06.rwx 8.10 0.20 4.00
zjpanl07.rwx 4.00 0.20 8.00
zjpanl08.rwx 12.00 0.20 8.00
zjpanl09.rwx 8.10 0.20 8.00
zjpanl10.rwx 8.10 0.20 8.00
zjpict01.rwx 3.47 0.00 2.81
zjpict02.rwx 3.47 0.00 2.81
zjpict03.rwx 3.47 0.00 2.81
zjpict04.rwx 3.47 0.00 2.81
zjpict05.rwx 3.47 0.00 2.81
zjroof01.rwx 4.50 4.00 4.50
zjroof02.rwx 4.50 4.00 4.50
zjroof03.rwx 4.50 12.00 4.50
zjroofoc.rwx 4.50 4.50 4.50
zjrooft.rwx 12.00 16.00 0.10
zjsign.rwx 2.25 0.00 1.50
zjsign2.rwx 1.50 0.00 1.50
zjtran01.rwx 4.00 0.20 2.00
zjuke.rwx 2.08 1.54 2.82
zjwndw.rwx 2.40 0.20 2.40
zjwndw2.rwx 2.40 0.20 2.40
zjwndw3.rwx 2.40 0.20 1.80
zlawn.rwx 40.00 40.00 0.00
zlobby1.rwx 8.00 8.00 10.00
zlobby2.rwx 8.00 8.00 10.00
zlogo.rwx 4.00 0.00 4.00
zml1sign.rwx 9.00 0.00 6.00
zn2440.rwx 1.00 0.00 1.00
zover.rwx 15.00 16.50 9.75
zpcmag1.rwx 2.00 0.00 3.00
zpict1.rwx 6.00 0.20 4.50
zpict2.rwx 4.50 0.20 4.50
zpict3.rwx 4.50 0.20 6.00
zplotcom.rwx 10.00 10.00 0.00
zplotres.rwx 10.00 10.00 0.00
zsat.rwx 6.00 6.00 5.00
zsign.rwx 6.00 0.10 4.00
zsign1.rwx 5.00 0.20 3.50
zsign2.rwx 6.00 0.15 4.00
zsun.rwx 4.00 0.00 4.00
ztelgate.rwx 3.00 0.00 3.00
ztop.rwx 12.00 12.00 15.00
zvctr01.rwx 10.00 10.00 7.50
zviw01.rwx 10.00 10.00 10.00
zviw02.rwx 10.00 10.00 10.00
zviw03.rwx 10.00 9.98 14.57
zvst01.rwx 10.00 10.00 0.20
zvst02.rwx 10.00 10.00 0.20
zvst03.rwx 10.00 10.00 0.20
zvwat01.rwx 10.00 10.00 2.50
zvwat02.rwx 10.00 10.00 2.50
zwall09.rwx 10.00 10.00 15.00
zwall1.rwx 16.00 3.00 8.50
zwat01h.rwx 10.00 10.00 0.00
zwat02h.rwx 10.00 10.00 0.00
zwed1.rwx 3.21 3.21 2.76
zwed2.rwx 0.68 1.24 2.00
zwed3.rwx 0.57 0.37 2.00
zwo01.rwx 10.00 10.00 14.25
zwo02.rwx 10.00 10.00 11.25
zwrpgate.rwx 3.00 0.00 3.00
zyssign.rwx 6.00 0.05 4.00

--------------8399B8B51F31A3940D0B0EBD--

AWTech needs you!

Dec 23, 1998, 12:30pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
You sound distraught. (sing) "There's always tomorrow."
[View Quote]

avatar_delete problem

Jan 4, 1999, 2:22pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Why do you need the name at this point?
<p>I use the session number to track which avatar has "changed" or "deleted"
and index into my list with that. I retrieve the name in the "add" event
handler and store it in the list with the rest of the information about
the avatar. Names don't change so there is no point re-getting them from
the SDK.
<p>Edward Sumerfield.
[View Quote]

avatar_delete problem

Jan 4, 1999, 5:13pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body bgcolor="#B8B8B8">
The downside, of coarse, is session recovery because the session ID changes
with each line bounce. When the WORLD_DISCONNECT event arrives one can
delete all the entries in the list and start again but this removes all
possibility of retaining avatar context across line crashes.
<p>Say I want to maintain my robots conversation with someone across a
line crash. From their point of view my robot might disappear for a few
seconds but when the line is back up and the robot returns I would like
to be able to pick up the conversation from where I left off with something
like, "I seem to be having problems with my line but let me answer your
last question.".
<p>So, the upshot of all this is that using session number only to identify
an avatar is not enough. I would envision having a WORLD_DISCONNECT event
handler that just set a line_down flag. Then when the robot receives a
delete event it can get the session number (which will have changed) and
check the flag. If set it must be able to retrieve the name to do an extra
check of ownership before deleting.
<p>The delete event is easy because it just means that the avatar info
gets removed from the list but if a change event comes in I would like
to change the old session number for the new one so that when the next
change event arrives I can correctly id the avatar info.
[View Quote] </body>
</html>

wsf and avatar_delete/add, another problem

Jan 4, 1999, 2:32pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Or unplug the wire if it is an internal.
[View Quote]

Getting Started with SDK

Jan 11, 1999, 2:43am
I am not sure how much you know so let me give you some background.

The development process.

.c + .h = .o or .obj
.o + .o = .lib
.o + .o = .dll
.o +.o + .lib + .lib = .exe
.exe + .dll + dll = runing program.

So, if that makes any sense, you have a greeter.c and an aw.h and a couple of
other include files that, when compiled produce a .obj file. Then you take
your .obj file and combine it with the aw.lib file provided by AW and you get
an exe files that you can run.

Note that you do not need the aw.lib and the aw.dll. You can use one of the
other and because you are using VC++ you can use the aw.lib file without any
problems.

You mentioned that you added aw.lib to you project. The wording of this
statement could mean a few things but let me make some statements that may
clarify it for you:

1. Do not add the aw.lib as a file to the project.
2. Add the aw.lib into the project options dialogue box under linker
options.

Forgive me for not adding all the details but Walter is the VC++ expert. He
can tell you the exact name of the tab and so forth, but look under project
options somewhere.

Your project should only include the greeter.c file, you shouldn't even add
the aw.h file to it. that will be included at compile time using the include
paths you will set up. Again, look in project options, under compile and add
the path.

Hope this helps.

Edward Sumerfield, 28021232 (my new ICQ address).

[View Quote] > Hmm, perhaps I should post some more details too:
>
> Info :Building...
> Info :Compiling D:\bots\funbot.cpp
> Warn : funbot.cpp(19,11):Possibly incorrect assignment
> Warn : funbot.cpp(28,11):Possibly incorrect assignment
> Warn : funbot.cpp(38,11):Possibly incorrect assignment
> Warn : funbot.cpp(44,11):Possibly incorrect assignment
> Warn : funbot.cpp(53,11):Possibly incorrect assignment
> Info :Linking D:\bots\second.exe
> Error: Error: Unresolved external '_aw_init' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_event_set' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_create' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_string_set' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_login' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_enter' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_int_set' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_state_change' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_wait' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_destroy' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_term' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_say' referenced from
> D:\BOTS\FUNBOT.OBJ
> Error: Error: Unresolved external '_aw_string' referenced from
> D:\BOTS\FUNBOT.OBJ
>
> of source:
>
> #include "aw.h"
> #include <stdio.h>
> #include <stdlib.h>
>
> void handle_avatar_add (void);
>
> main (int argc, char *argv[])
> {
>
> int rc;
>
> /* check command line */
> if (argc < 3) {
> printf ("Usage: %s number password\n", argv[0]);
> exit (1);
> }
>
> /* initialize Active Worlds API */
> if (rc = aw_init (AW_BUILD)) {
> printf ("Unable to initialize API (reason %d)\n", rc);
> exit (1);
> }
>
> /* install handler for avatar_add event */
> aw_event_set (AW_EVENT_AVATAR_ADD, handle_avatar_add);
>
> /* create bot instance */
> if (rc = aw_create (0, 0, 0)) {
> printf ("Unable to create bot instance (reason %d)\n", rc);
> exit (1);
> }
>
> /* log bot into the universe */
> aw_int_set (AW_LOGIN_OWNER, atoi (argv[1]));
> aw_string_set (AW_LOGIN_PRIVILEGE_PASSWORD, argv[2]);
> aw_string_set (AW_LOGIN_APPLICATION, "SDK Sample Application #1");
> aw_string_set (AW_LOGIN_NAME, "GreeterBot");
> if (rc = aw_login ()) {
> printf ("Unable to login (reason %d)\n", rc);
> exit (1);
> }
>
> /* log bot into the world called "beta" */
> if (rc = aw_enter ("Beta", 0)) {
> printf ("Unable to enter world (reason %d)\n", rc);
> exit (1);
> }
>
> /* announce our position in the world */
> aw_int_set (AW_MY_X, 1000); /* 1W */
> aw_int_set (AW_MY_Z, 1000); /* 1N */
> aw_int_set (AW_MY_YAW, 2250); /* face towards GZ */
> if (rc = aw_state_change ()) {
> printf ("Unable to change state (reason %d)\n", rc);
> exit (1);
> }
>
> /* main event loop */
> while (!aw_wait (-1))
> ;
>
> /* close everything down */
> aw_destroy ();
> aw_term ();
> return 0;
>
> }
>
> void handle_avatar_add (void)
> {
>
> char message[100];
>
> sprintf (message, "Hello %s", aw_string (AW_AVATAR_NAME));
> aw_say (message);
> /* log the event to the console */
> printf ("avatar_add: %s\n", aw_string (AW_AVATAR_NAME));
>
> }
>
[View Quote]

Getting Started with SDK

Jan 11, 1999, 8:02pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Fungus, so now you understand that you can not use the aw.lib file supplied
by COF because they use VC++. Instead have to use the aw.dll file file
they release which any linker can use. Walter is referring to a tool supplied
with the Borland compiler that generates a .lib file that you can link
into your bot that will automatically load the aw.dll file.
<p>&nbsp;&nbsp;&nbsp; aw.dll + impdef = Funguses.lib
<br>&nbsp;&nbsp;&nbsp; Funguses.lib + bot.o = bot.exe
<br>&nbsp;&nbsp;&nbsp; bot.exe + aw.dll = running robot.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
/* The aw.dll will have to be in your PATH for it to run */
<p>There are a lot of posts in the past abount using Borland C++ with the
aw.dll. I think someone actually released the new borland aw.lib file for
the latest sdk. Can't remember the author. Take a look at the history.
[View Quote]

Getting Started with SDK

Jan 12, 1999, 12:10pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
I searched the borland site ( <A HREF="http://forumsearch.inprise.com:88/">http://forumsearch.inprise.com:88/</A> ) for
implib and found this.
<p><A HREF="http://forumsearch.inprise.com:88/search?NS-search-page=document&NS-rel-doc-name=/public/cppbuilder/commandlinetools/860&amp;amp;NS-query=implib&amp;amp;NS-search-type=NS-boolean-query&amp;amp;NS-file-key=/var/spool/news/spool/borland/public/cppbuilder/commandlinetools/860&amp;amp;NS-collection=cppbuildernews&amp;amp;NS-docs-matched=20&amp;amp;NS-doc-number=4">http://forumsearch.inprise.com:88/search?NS-search-page=document&amp;NS-rel-doc-name=/public/cppbuilder/commandlinetools/860&amp;amp;NS-query=implib&amp;amp;NS-search-type=NS-boolean-query&amp;amp;NS-file-key=/var/spool/news/spool/borland/public/cppbuilder/commandlinetools/860&amp;amp;NS-collection=cppbuildernews&amp;amp;NS-docs-matched=20&amp;amp;NS-doc-number=4</A>
<p>This is the relevant text. Seems the answer is a combination of impdef
and create a def file and implib to create the lib from the def and the
dll.
<p>One word of caution. When I did this for the GNU compiler I ended up
putting the full path name of the dll into the new lib file. This is not
a good thing from a portability perspective. So when you do the implib
make sure that the aw.dll is in the PATH or the current dir so that you
don't have to use a full path name.
<p>===================================================
<br>>Run impdef on the dll, like so:
<br>>
<br>> IMPDEF foo.def foo.dll
<br>>
<br>>This creates a file called foo.def.&nbsp; Now look at that file.&nbsp;
Since you've
<br>>already told me that it is a MSVC DLL, I can tell you what you will
see.
<br>>You will see some EXPORTS entries which look like:
<br>>
<br>>&nbsp;&nbsp;&nbsp; _Foo at 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
=_Foo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at 2
<br>>&nbsp;&nbsp;&nbsp; Bar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
at 1
<br>>
<br>>For all functions that look like Foo, they have __stdcall calling
<br>>convention, and all functions which look like Bar have __cdecl calling
<br>>convention.&nbsp; You can verify this with the headers, if you want...
<br>>
<br>>Now, to create a BCB import library, you will need to change these
lines to
<br>>look like:> Foo=_Foo at 4> _Bar=Bar
<br>>
<br>>Once you've edited the .DEF file, now run IMPLIB like so:
<br>>
<br>> IMPLIB foo.lib foo.def
<br>>
<br>>This will create a BCB import library.&nbsp; Now simply add the import
library
<br>>to your project, and away you go.&nbsp; Don't forget to put the DLL
in the
<br>>current directory or somewhere your system will look for DLLs.
<br>==============================================================
[View Quote]

Getting Started with SDK

Jan 13, 1999, 1:08am
This is a multi-part message in MIME format.
--------------43184778E956B82384D4E271
Content-Type: multipart/alternative;
boundary="------------089D27851D2F9B66F0924C82"


--------------089D27851D2F9B66F0924C82
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I can't believe we can't get this working.

With the Cygnus stuff I use a program called impdef that creates the attached
file but you will notice that it does not have any ordinal or = stuff after
it. Then there is another program that takes this .def and the .dll and
creates a .lib file for me.

Maybe you can try your impdef with the attached awsdk.def file that I created
from aw.dll version 12.

[View Quote] > It puzzles me that the aw.dll appears to the impdef tool as if it didn't
> have any exports other then that debughookblah one... But you cannot just
> invent entries... entries go by name OR by ordinal number (that odd number
> behind the at sign), and it seems that names are not sufficient. your ordinal
> numbers are invalid in the best case (resulting to the error you had) or are
> valid, but wrong function (resulting in a crash). There were people here
> having success using impdef, so i don't know what might have rendered that
> method invalid again... Roland, did you upgrade from VC5.0 to VC6.0 in the
> meantime ? that MIGHT explain things... Walter ps: as for your situation,
> you might want to try either that cygnus free c compiler (refer to Edward
> for that), or get VC6.0 for $100. It seems the AW sdk becomes a Visual C++
> promoter :)
>
> Fungus schrieb in Nachricht <369BC1A2.7FFCD003 at hotmail.com>...lol,
> perhaps I should wait a while before posting (still looking for
> that *unpost* button)
>
> anyway - I can get rid of all the error messages and get the
> program to compile if I add in fungus.def lines like
>
> EXPORTS
> _aw_init at 1
> _aw_blah_blah at 1
>
> so this must be kinda right? however I think get a " the bot.exe
> file is linked to missing export AW>DLL:_aw_init. " error when
> starting the program. I guess I'm still not impdef'ing properly to
> link in the _aw_init and related events.
>

--------------089D27851D2F9B66F0924C82
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<body text="#000000" bgcolor="#C0C0C0" link="#993366" vlink="#CC66CC" alink="#990000">
I can't believe we can't get this working.
<p>With the Cygnus stuff I use a program called impdef that creates the
attached file but you will notice that it does not have any ordinal or
= stuff after it. Then there is another program that takes this .def and
the .dll and creates a .lib file for me.
<p>Maybe you can try your impdef with the attached awsdk.def file that
I created from aw.dll version 12.
[View Quote] </body>
</html>

--------------089D27851D2F9B66F0924C82--

--------------43184778E956B82384D4E271
Content-Type: text/plain; charset=us-ascii;
name="awsdk.def"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="awsdk.def"

EXPORTS
aw_init
aw_term
aw_create
aw_destroy
aw_login
aw_wait
aw_int
aw_int_set
aw_string
aw_string_set
aw_event
aw_event_set
aw_callback
aw_callback_set
aw_instance
aw_instance_set
aw_enter
aw_state_change
aw_say
aw_whisper
aw_object_add
aw_object_change
aw_object_delete
aw_query
aw_random
aw_license_attributes
aw_license_add
aw_license_change
aw_license_delete
aw_license_next
aw_license_previous
aw_bool
aw_bool_set
aw_citizen_attributes_by_name
aw_citizen_attributes_by_number
aw_citizen_add
aw_citizen_change
aw_citizen_delete
aw_citizen_next
aw_citizen_previous
aw_session
aw_world_list
aw_create_resolved
aw_world_attributes_change
aw_universe_attributes_change
aw_world_eject
aw_exit
aw_universe_ejection_add
aw_sector_from_cell


--------------43184778E956B82384D4E271--

Getting Started with SDK

Jan 13, 1999, 3:35am
This is a multi-part message in MIME format.
--------------7EA5FBDA384DA363D6944B6A
Content-Type: multipart/alternative;
boundary="------------D334AC9533566F3ED5F28734"


--------------D334AC9533566F3ED5F28734
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Well I am glad it worked for you.

I attached the .cpp and .exe for my impdef so that you can recreate the .def
file each time. It only runs under DOS and prints the output to the screen so
you have to redirect the output to a file.

impdef aw.dll > awsdk.def

My apologies to the original author. I can't remember where I got it from.
Somewhere under the free downloads at ww.cygnus.com.

Good luck.

[View Quote] > Well, sadly enough, Impdef causes the same Access Violation error message.
> Perhaps my programs are just too old to handle the newest form of VC++ DLL.
> (I am using Borland C++ 4.52) Most likely the problem.
>
> Although there is better news! Using the aw.def file from you in the form:
>
> EXPORTS
> aw_init
> aw_term
> aw_create
> aw_destroy
> etc...
>
> I modified it to have the following redefinition's:
>
> EXPORTS
> _aw_init=aw_init
> _aw_term=aw_term
> _aw_create=aw_create
> _aw_destroy=aw_destroy
> etc...
>
> I took this aw.def and implib'd it to aw.lib. Adding this lib to my project
> allowed a successful compile and a program that runs! The only bad thing
> is, I'm sure this will change with every revision of the sdk! :(
>
> Perhaps (if Roland is reading this post) a copy of the aw.def be included in
> any future releases of the SDK? purdy-please?
>
> But, Edward, thanks very much for your help! It is much appreciated!
> -Ædificator
>
> (by the way - the link you included doesn't work for me...did this have any
> mention of the Access Violation error? - I did find, however, a reference of
> someone getting sent newer copies of implib and impdef. I think I'll be
> sending an e-mail to Borland...)
>
[View Quote] --------------D334AC9533566F3ED5F28734
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Well I am glad it worked for you.
<p>I attached the .cpp and .exe for my impdef so that you can recreate
the .def file each time. It only runs under DOS and prints the output to
the screen so you have to redirect the output to a file.
<p>&nbsp;&nbsp;&nbsp; impdef aw.dll > awsdk.def
<p>My apologies to the original author. I can't remember where I got it
from. Somewhere under the free downloads at ww.cygnus.com.
<p>Good luck.
[View Quote] --------------D334AC9533566F3ED5F28734--

--------------7EA5FBDA384DA363D6944B6A
Content-Type: application/x-unknown-content-type-WinZip;
name="impdef.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="impdef.zip"

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
eGVQSwUGAAAAAAIAAgBwAAAA/hoAAAAA
--------------7EA5FBDA384DA363D6944B6A--

Getting Started with SDK

Jan 27, 1999, 3:35pm
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
I would have to disagree with you, Tony, about the maintenance problem
you are facing compared to using the def method.
<p>Using the def method you get complete automation of the DLL stub library
creation whereas with your method you have to manually create the stub
library and will have to check/change your code every time a new release
is delivered.
<p>I work with the GNU G++ compiler and, in the beginning, I used the manual
stub method that you are proposing. It did work but was a continual problem
to keep up to date and check after each release. Once I worked out how
to automate the stub creation for the GNU compiler life became much easier.
I now just type make and a stub library is created for me.
<p>Edward Sumerfield.
<br><A HREF="http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP.htm">http://members.xoom.com/esumerfd/ActiveWorlds/AWCPP.htm</A>
[View Quote]

Re: Free Bots?

Jan 11, 1999, 2:46am
--------------3E4E3FB954ED504141087E5B
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

No payment involved until after the beta. We just get to play the test this
thingy until then.

Certainly, the concept of try before you buy is a good one. I spend a lot of
time trying and re-trying software.

[View Quote] > I was wondering:Is Anyone willing to start something where you offer free
> SDK Compiled Scripts and charge like a Fee for OTHER Bots after a user gets
> a taste of what your C Programing can do?That'd be cool.Yet....N/m.Reply if
> ya like dat Idea:)
>
> FW2 Protector Of The Innocent

--------------3E4E3FB954ED504141087E5B
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
No payment involved until after the beta. We just get to play the test
this thingy until then.
<p>Certainly, the concept of try before you buy is a good one. I spend
a lot of time trying and re-trying software.
[View Quote] --------------3E4E3FB954ED504141087E5B--

SDK Question...

Jan 12, 1999, 11:48am
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
From where to where?
<p>Someone was asking about how to implement this in the past. I believe
we decided that you would have to build your own logic which would depend
on from where and to where you were transferring.
[View Quote]

SDK Question...

Jan 12, 1999, 11:08pm
Well excuse me Mr BitsPerSecondHiker but I think the question is excellent
phrased, succinct and necessary. Sorry it didn't do anything for you.

[View Quote] > From where to where?????? That is the most stupid question I have ever seen
> in any post. From one place to another one would assume.
>
[View Quote]

1  ...  3  4  5  6  7  8  |  
Awportals.com is a privately held community resource website dedicated to Active Worlds.
Copyright (c) Mark Randall 2006 - 2024. All Rights Reserved.
Awportals.com   ·   ProLibraries Live   ·   Twitter   ·   LinkedIn