Thread

Moving the bots (Sdk)

Moving the bots // Sdk

1  2  |  

edward sumerfield

Dec 1, 1998, 12:05pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
Are Veleno and Fast the same person or just two interested parties?
<P>So were do you want me to start?
<P>Do you have a C compiler? Which one?
<P>Have you written bots before?
<P>What is your level of C experience?
[View Quote]

veleno

Dec 1, 1998, 7:37pm
[View Quote] > Are Veleno and Fast the same person or just two interested parties?

Sorry about the confusion. Me and Fastwalker (Fast) are two
different people. I know him in AW.

>
> So were do you want me to start?
>
> Do you have a C compiler? Which one?
>

Right now, since I don't feeling like shelling out $90, I'm running
the GNU from Cygnus.

>
> Have you written bots before?
>

Yes, actually I have about seven bots resident on my system, though
I only run one or two on a regular basis.

>
> What is your level of C experience?

Umm... I have a programming book on C/C++, but I've only been at
it since early August. So I know what I'm doing, but don't have much of
the experience needed yet. Still learning. Got into the SDK around Build
5, if that means anything to you...

>
>
[View Quote]

edward sumerfield

Dec 2, 1998, 3:02am
This is a multi-part message in MIME format.
--------------5F48D06410C8F2FE04DFE96A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Here is a working solution. Most is cut and paste from my C++ AWCPP into this
C program.

It waits for someone to walk within 5 meters of it and then follows them for
60 seconds after which it runs back to its starting position.

To run you will require:

1. Cygnus GNU G++ compiler.
2. The awsdk.lib wrapper that was built to interface with COF's aw.dll.
3. Just type make to create the exe file.

If you do not change anything then to test:

1. Goto Beta and teleport to 99n 99w 0a 45.
This will place you 10 meters away from the bot and facing it.
2. Run the bot using "follower <citizen number> <priv password>"
3. The bot will report your distance as you approach. When you are with 5
meters which
is reported as 500 cm it will switch into follow mode and move to 1 meter
behind you facing
in the same direction as you are.

Good luck.

Edward Sumerfield.

[View Quote] [View Quote] --------------5F48D06410C8F2FE04DFE96A
Content-Type: text/plain; charset=us-ascii;
name="Makefile"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="Makefile"

CFLAGS=-g -I. -I${AWSDK}

all: follower.exe

follower.exe: follower.o
g++ $< ${AWSDK}/awsdk.lib -o $ at

--------------5F48D06410C8F2FE04DFE96A
Content-Type: application/x-unknown-content-type-c_auto_file;
name="follower.c"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="follower.c"

I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8bWF0
aC5oPg0KI2luY2x1ZGUgPGF3Lmg+DQoNCiNkZWZpbmUgVFJVRSAxDQojZGVmaW5lIEZBTFNF
IDANCg0KI2RlZmluZSBQSSAzLjE0MTU5MjY1NA0KI2RlZmluZSBDSVJDTEVfUkFESUFOUyAg
KDIqUEkpDQojZGVmaW5lIENJUkNMRV9ERUdSRUVTICAoMzYwKQ0KI2RlZmluZSBDSVJDTEVf
QVcgICAgICAgKDM2MDApDQoNCiNkZWZpbmUgTUlOX1hfQ09PUkQgICAtMzI3NjcwMA0KI2Rl
ZmluZSBNQVhfWF9DT09SRCAgIDMyNzY3MDANCiNkZWZpbmUgTUlOX1pfQ09PUkQgICAtMzI3
NjcwMA0KI2RlZmluZSBNQVhfWl9DT09SRCAgIDMyNzY3MDANCiNkZWZpbmUgTUlOX0FMVElU
VURFICAtMzI3NjcwMA0KI2RlZmluZSBNQVhfQUxUSVRVREUgIDMyNzY3MDANCiNkZWZpbmUg
TUlOX1lBVyAgICAgICAwDQojZGVmaW5lIE1BWF9ZQVcgICAgICAgMzYwDQojZGVmaW5lIE1J
Tl9QSVRDSCAgICAgMA0KI2RlZmluZSBNQVhfUElUQ0ggICAgIDM2MA0KDQp0eXBlZGVmIGVu
dW0gew0KICBJTlZBTElEID0gMCwNCiAgV0FJVElORywNCiAgRk9MTE9XSU5HDQp9IFNUQVRF
Ow0KDQovKiBTdGF0aWMgdmFyaWFibGVzIHNoYXJlZCBiZXR3ZWVuIHRoZSBtYWluIGxvb3Ag
YW5kIHRoZSBjYWxsYmFjayBmdW5jdGlvbnMuICovDQoNClNUQVRFIHJvYm90X3N0YXRlID0g
SU5WQUxJRDsNCg0KZmxvYXQgZm9sbG93X3ggPSAwOw0KZmxvYXQgZm9sbG93X3ogPSAwOw0K
ZmxvYXQgZm9sbG93X2FsdGl0dWRlID0gMDsNCmZsb2F0IGZvbGxvd195YXcgPSAwOw0KDQpp
bnQgYXZhdGFyX3Nlc3Npb24gPSAtMTsNCmludCBhdmF0YXJfeCA9IDA7DQppbnQgYXZhdGFy
X3ogPSAwOw0KaW50IGF2YXRhcl9hbHRpdHVkZSA9IDA7DQppbnQgYXZhdGFyX3lhdyA9IDA7
DQoNCmludCByZXNldF94ID0gMTAwMDAwOw0KaW50IHJlc2V0X3ogPSAxMDAwMDA7DQoNCmlu
dCB0aW1lciA9IDA7DQppbnQgZm9sbG93X3RpbWUgPSA2MDsNCg0KLyoqIGRpc3RhbmNlDQog
KiAgQ2FsY3VsYXRlIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHR3byB4LCB5LCB6IGNvb3JpbmF0
ZXMuDQogKi8NCmludA0KZGlzdGFuY2UoKSB7DQoNCiAgaW50IGF2YXRhcl94ID0gYXdfaW50
KEFXX0FWQVRBUl9YKTsgDQogIGludCBhdmF0YXJfeiA9IGF3X2ludChBV19BVkFUQVJfWik7
IA0KICBpbnQgYXZhdGFyX2FsdGl0dWRlID0gYXdfaW50KEFXX0FWQVRBUl9ZKTsgDQoNCiAg
aW50IG15X3ggPSBhd19pbnQoQVdfTVlfWCk7IA0KICBpbnQgbXlfeiA9IGF3X2ludChBV19N
WV9aKTsgDQogIGludCBteV9hbHRpdHVkZSA9IGF3X2ludChBV19NWV9ZKTsgDQoNCiAgZmxv
YXQgZGVsdGFfeCA9IChmbG9hdCkobXlfeCAtIGF2YXRhcl94KTsNCiAgZmxvYXQgZGVsdGFf
eiA9IChmbG9hdCkobXlfeiAtIGF2YXRhcl96KTsNCiAgZmxvYXQgZGVsdGFfeSA9IChmbG9h
dCkobXlfYWx0aXR1ZGUgLSBhdmF0YXJfYWx0aXR1ZGUpOw0KDQogIC8vIFdvcmsgb3V0IHRo
ZSBob3Jpem9udGFsIGh5cG90ZW51c2UgdXNpbmcgUHl0aGFnYXJvdXMgdGhlb3JlbS4gDQog
IC8vIA0KICAvLyBoeXBvdGVudXNlIHNxdWFyZWQgPSBvcHBvc2l0ZSBzcXVhcmVkICsgYWRq
YWNlbnQgc3F1YXJlZDsgDQoNCiAgZmxvYXQgaG9yX2ggPSBzcXJ0KCgoZGVsdGFfeCAqIGRl
bHRhX3gpICsgKGRlbHRhX3ogKiBkZWx0YV96KSkpOyANCg0KICAvLyBUaGUgdmVydGljYWwg
aHlwb3RlbnVzZSBpcyB0aGUgdGhlIGFjdHVhbCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSANCiAg
Ly8gdGhlIGF2YXRhcnMuIA0KDQogIGZsb2F0IGRpc3RhbmNlX2Zyb21fYXZhdGFyID0gc3Fy
dCgoKGhvcl9oICogaG9yX2gpICsgKGRlbHRhX3kgKiBkZWx0YV95KSkpOyANCg0KICByZXR1
cm4gKGludClkaXN0YW5jZV9mcm9tX2F2YXRhcjsNCn0NCg0Kdm9pZA0KbW9kX2Zsb2F0KGZs
b2F0ICpudW1iZXIsIGludCBtb2R1bHVzKSB7DQoNCiAgd2hpbGUgKCpudW1iZXIgPiBtb2R1
bHVzKSB7DQoNCiAgICAqbnVtYmVyIC09IG1vZHVsdXM7DQogIH0NCiAgcmV0dXJuOw0KfQ0K
DQp2b2lkDQpmb2xsb3coZmxvYXQgKm15X3gsIGZsb2F0ICpteV96LCBmbG9hdCAqbXlfYWx0
aXR1ZGUsIGZsb2F0ICpteV95YXcsDQogICAgICAgZmxvYXQgYXZhdGFyX3gsIGZsb2F0IGF2
YXRhcl96LCBmbG9hdCBhdmF0YXJfYWx0aXR1ZGUsIGZsb2F0IGF2YXRhcl95YXcpIHsNCg0K
ICBpbnQgZGlzdGFuY2UgPSAxMDA7ICAvLyAxIG1ldGVyDQogIGZsb2F0IHlhd19yYWRpYW5z
Ow0KICBmbG9hdCBkZWx0YV94X2Nvb3JkOw0KICBmbG9hdCBkZWx0YV96X2Nvb3JkOw0KDQog
IC8vIFNldCBteSB5YXcgdG8gdGhlIHNhbWUgZGlyZWN0aW9uIHRoYXQgdGhlIGF2YXRhciBp
cyBmYWNpbmcuIFdlIG11c3QgDQogIC8vIGRvIHRoaXMgbm93IGJlY2F1c2Ugd2UgYXJlIGdv
aW5nIHRvIHR1cm4gdGhlIGF2YXRhciB5YXcgYXJvdW5kIGZvciB0aGUgDQogIC8vIGRpcmVj
dGlvbiBjYWxjdWxhdGlvbi4gDQoNCiAgKm15X3lhdyA9IGF2YXRhcl95YXc7IA0KDQogIC8v
IEJlY2F1c2Ugd2Ugd2lsbCBiZSBmYWNpbmcgdGhlIGF2YXRhciBmcm9tIGJlaGluZCB3ZSBj
YW4gc2V0IG91ciANCiAgLy8geWF3IHRvIHRoZSBzYW1lIGFzIHRoZSBhdmF0YXJzLiBIb3dl
dmVyLCB0aGUgbmV3IHBvc2l0aW9uIGlzIA0KICAvLyBjYWxjdWxhdGVkIGFzIHNvbWUgZGlz
dGFuY2UgaW4gdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBmcm9tIHdoZXJlIA0KICAvLyB0aGUg
YXZhdGFyIGlzIGZhY2luZyBzbyB3ZSBtdXN0IGFkZCAxODAgZGVncmVlcyBmb3IgdGhlIHRy
aWcgDQogIC8vIGVxdWF0aW9uLiANCg0KICBhdmF0YXJfeWF3ICs9IChDSVJDTEVfQVcgLyAy
KTsgICAgLy8gVGhpcyBpcyAzNjAwLzIgDQogIG1vZF9mbG9hdCgmYXZhdGFyX3lhdywgQ0lS
Q0xFX0FXKTsNCg0KICAvLyBDb252ZXJ0IHRoZSBBVyBkZWdyZWVzIHRvIHJhZGlhbnMgZm9y
IHVzZSB3aXRoIHRoZSBjb3MgYW5kIA0KICAvLyBzaW4gZnVuY3Rpb25zLg0KDQogIHlhd19y
YWRpYW5zID0gKGF2YXRhcl95YXcgLyAxMCkgKiAoQ0lSQ0xFX1JBRElBTlMgLyBDSVJDTEVf
REVHUkVFUyk7DQoNCiAgLy8gQ2FsY3VsYXRlIHRoZSBkZWx0YSBjaGFuZ2VzIGluIHBvc2l0
aW9uIGZvciBlYWNoIG9mIHRoZSANCiAgLy8geCwgeSBhbmQgeiBheGVzLiANCg0KICBkZWx0
YV94X2Nvb3JkID0gZGlzdGFuY2UgKiBzaW4oeWF3X3JhZGlhbnMpOyANCiAgZGVsdGFfel9j
b29yZCA9IGRpc3RhbmNlICogY29zKHlhd19yYWRpYW5zKTsgDQoNCiAgLy8gQXBwbHkgdGhl
IGRlbHRhIGNoYW5nZXMgdG8gdGhlIGV4aXN0aW5nIHBvc2l0aW9uLg0KICAvLyBDaGVja2lu
ZyBmb3IgdGhlIHdvcmxkIGJvdW5kYXJpZXMuIA0KDQogICpteV94ID0gYXZhdGFyX3ggKyBk
ZWx0YV94X2Nvb3JkOyANCiAgaWYgKCpteV94ID4gTUFYX1hfQ09PUkQpIHsgDQoNCiAgICAq
bXlfeCA9IE1BWF9YX0NPT1JEOyANCiAgfSANCiAgZWxzZSBpZiAoKm15X3ggPCBNSU5fWF9D
T09SRCkgeyANCg0KICAgICpteV94ID0gTUlOX1hfQ09PUkQ7IA0KICB9IA0KDQogICpteV96
ID0gYXZhdGFyX3ogKyBkZWx0YV96X2Nvb3JkOyANCiAgaWYgKCpteV96ID4gTUFYX1pfQ09P
UkQpIHsgDQoNCiAgICAqbXlfeiA9IE1BWF9aX0NPT1JEOyANCiAgfSANCiAgZWxzZSBpZiAo
Km15X3ogPCBNSU5fWl9DT09SRCkgeyANCg0KICAgICpteV96ID0gTUlOX1pfQ09PUkQ7IA0K
ICB9IA0KDQogIC8vIEFsdGl0dWRlIHN0YXlzIHRoZSBzYW1lLiANCg0KICAqbXlfYWx0aXR1
ZGUgPSBhdmF0YXJfYWx0aXR1ZGU7IA0KfQ0KDQp2b2lkDQphdmF0YXJfY2hhbmdlKCkgeyAg
ICAgICAgICAgIC8vIENhbGxlZCB3aGVuIGF2YXRhciBtb3Zlcy4gDQoNCiAgaW50IHNlc3Np
b247DQogIGludCBkaXN0Ow0KDQogIHN3aXRjaChyb2JvdF9zdGF0ZSkgew0KICBjYXNlKFdB
SVRJTkcpOg0KDQogICAgLy8gY2FsY3VsYXRlIGRpc3RhbmNlIHVzaW5nIGRpc3RhbmNlIGNh
bGN1bGF0aW9uIGFib3ZlLiANCg0KICAgIGRpc3QgPSBkaXN0YW5jZSgpOw0KDQogICAgcHJp
bnRmKCJEaXN0YW5jZSAlZC5cbiIsIGRpc3QpOw0KDQogICAgaWYgKGRpc3QgPCA1MDApIHsg
Ly8gNSBtZXRlcnMuDQoNCiAgICAgIHJvYm90X3N0YXRlID0gRk9MTE9XSU5HOyANCg0KICAg
ICAgLy8gUmVwcmVzZW50cyA2MCBsb29wcyBhcm91bmQgdGhlIDEgc2Vjb25kIGxvb3AuIEZv
bGxvdyBmb3IgYSBtaW51dGUuDQoNCiAgICAgIHRpbWVyID0gZm9sbG93X3RpbWU7DQogICAg
ICBhdmF0YXJfc2Vzc2lvbiA9IGF3X2ludChBV19BVkFUQVJfU0VTU0lPTik7IA0KICAgICAg
YXZhdGFyX3ggPSBhd19pbnQoQVdfQVZBVEFSX1gpOyANCiAgICAgIGF2YXRhcl96ID0gYXdf
aW50KEFXX0FWQVRBUl9aKTsgDQogICAgICBhdmF0YXJfYWx0aXR1ZGUgPSBhd19pbnQoQVdf
QVZBVEFSX1kpOyANCiAgICAgIGF2YXRhcl95YXcgPSBhd19pbnQoQVdfQVZBVEFSX1lBVyk7
IA0KICAgIH0NCiAgICBicmVhazsNCg0KICBjYXNlKEZPTExPV0lORyk6DQoNCiAgICBwcmlu
dGYoIkZvbGxvd2luZ1xuIik7DQoNCiAgICAvLyBJZiB0aGUgYXZhdGFyIHdlIGFyZSBmb2xs
b3dpbmcgaGFzIG1vdmVkIHRoZW4gZ2V0IGl0cyBuZXcgcG9zaXRpb24uDQoNCiAgICBzZXNz
aW9uID0gYXdfaW50KEFXX0FWQVRBUl9TRVNTSU9OKTsNCiAgICBpZiAoc2Vzc2lvbiA9PSBh
dmF0YXJfc2Vzc2lvbikgew0KDQogICAgICBhdmF0YXJfeCA9IGF3X2ludChBV19BVkFUQVJf
WCk7IA0KICAgICAgYXZhdGFyX3ogPSBhd19pbnQoQVdfQVZBVEFSX1opOyANCiAgICAgIGF2
YXRhcl9hbHRpdHVkZSA9IGF3X2ludChBV19BVkFUQVJfWSk7IA0KICAgICAgYXZhdGFyX3lh
dyA9IGF3X2ludChBV19BVkFUQVJfWUFXKTsgDQogICAgfQ0KICB9DQp9IA0KDQp2b2lkDQpt
b3ZlKGludCB4LCBpbnQgeiwgaW50IGFsdGl0dWRlLCBpbnQgeWF3KSB7DQoNCiAgaW50IHJj
Ow0KDQogIGF3X2ludF9zZXQgKEFXX01ZX1gsIHgpOw0KICBhd19pbnRfc2V0IChBV19NWV9a
LCB6KTsNCiAgYXdfaW50X3NldCAoQVdfTVlfWSwgYWx0aXR1ZGUpOw0KICBhd19pbnRfc2V0
IChBV19NWV9ZQVcsIHlhdyk7DQogIGlmIChyYyA9IGF3X3N0YXRlX2NoYW5nZSAoKSkgew0K
ICAgIHByaW50ZiAoIlVuYWJsZSB0byBjaGFuZ2Ugc3RhdGUgKHJlYXNvbiAlZClcbiIsIHJj
KTsNCiAgICBleGl0ICgxKTsNCiAgfQ0KfQ0KDQptYWluIChpbnQgYXJnYywgY2hhciAqYXJn
dltdKSB7DQoNCiAgaW50IGluc3RhbmNlID0gMDsNCiAgaW50IHJjOw0KICBpbnQgZmluaXNo
ZWQ7DQoNCiAgcHJpbnRmKCJGb2xsb3dlclxuIik7DQoNCiAgLyogY2hlY2sgY29tbWFuZCBs
aW5lICovDQogIGlmIChhcmdjIDwgMykgew0KICAgIHByaW50ZiAoIlVzYWdlOiAlcyBudW1i
ZXIgcGFzc3dvcmRcbiIsIGFyZ3ZbMF0pOw0KICAgIGV4aXQgKDEpOw0KICB9DQoNCiAgLyog
aW5pdGlhbGl6ZSBBY3RpdmUgV29ybGRzIEFQSSAqLw0KICBpZiAocmMgPSBhd19pbml0IChB
V19CVUlMRCkpIHsNCiAgICBwcmludGYgKCJVbmFibGUgdG8gaW5pdGlhbGl6ZSBBUEkgKHJl
YXNvbiAlZClcbiIsIHJjKTsNCiAgICBleGl0ICgxKTsNCiAgfQ0KDQogIC8qIGluc3RhbGwg
aGFuZGxlciBmb3IgYXZhdGFyX2FkZCBldmVudCAqLw0KICBhd19ldmVudF9zZXQgKEFXX0VW
RU5UX0FWQVRBUl9DSEFOR0UsIGF2YXRhcl9jaGFuZ2UpOw0KDQogIC8qIGNyZWF0ZSBib3Qg
aW5zdGFuY2UgKi8NCiAgaWYgKHJjID0gYXdfY3JlYXRlICgwLCAwLCAwKSkgew0KICAgIHBy
aW50ZiAoIlVuYWJsZSB0byBjcmVhdGUgYm90IGluc3RhbmNlIChyZWFzb24gJWQpXG4iLCBy
Yyk7DQogICAgZXhpdCAoMSk7DQogIH0NCg0KICAvKiBsb2cgYm90IGludG8gdGhlIHVuaXZl
cnNlICovDQogIGF3X2ludF9zZXQgKEFXX0xPR0lOX09XTkVSLCBhdG9pIChhcmd2WzFdKSk7
DQogIGF3X3N0cmluZ19zZXQgKEFXX0xPR0lOX1BSSVZJTEVHRV9QQVNTV09SRCwgYXJndlsy
XSk7DQogIGF3X3N0cmluZ19zZXQgKEFXX0xPR0lOX0FQUExJQ0FUSU9OLCAiU0RLIFNhbXBs
ZSBBcHBsaWNhdGlvbiAjMSIpOw0KICBhd19zdHJpbmdfc2V0IChBV19MT0dJTl9OQU1FLCAi
R3JlZXRlckJvdCIpOw0KICBpZiAocmMgPSBhd19sb2dpbiAoKSkgew0KICAgIHByaW50ZiAo
IlVuYWJsZSB0byBsb2dpbiAocmVhc29uICVkKVxuIiwgcmMpOw0KICAgIGV4aXQgKDEpOw0K
ICB9DQoNCiAgLyogbG9nIGJvdCBpbnRvIHRoZSB3b3JsZCBjYWxsZWQgImJldGEiICovDQog
IGlmIChyYyA9IGF3X2VudGVyICgiQmV0YSIsIDApKSB7DQogICAgcHJpbnRmICgiVW5hYmxl
IHRvIGVudGVyIHdvcmxkIChyZWFzb24gJWQpXG4iLCByYyk7DQogICAgZXhpdCAoMSk7DQog
IH0NCg0KICAvKiBhbm5vdW5jZSBvdXIgcG9zaXRpb24gaW4gdGhlIHdvcmxkICovDQogIG1v
dmUocmVzZXRfeCwgcmVzZXRfeiwgMCwgMTgwMCk7DQoNCiAgZm9sbG93X3ggPSAoZmxvYXQp
cmVzZXRfeDsNCiAgZm9sbG93X3ogPSAoZmxvYXQpcmVzZXRfejsNCiAgZm9sbG93X2FsdGl0
dWRlID0gMDsNCiAgZm9sbG93X3lhdyA9IDE4MDA7DQoNCiAgLyogbWFpbiBldmVudCBsb29w
ICovDQogIHRpbWVyID0gMDsgDQogIGF2YXRhcl9zZXNzaW9uID0gLTE7IA0KICByb2JvdF9z
dGF0ZSA9IFdBSVRJTkc7DQogIGZpbmlzaGVkID0gRkFMU0U7DQogIHdoaWxlICghZmluaXNo
ZWQpIHsgDQoNCiAgICByYyA9IGF3X3dhaXQoMTAwMCk7DQogICAgaWYgKHJvYm90X3N0YXRl
ID09IEZPTExPV0lORykgeyANCiAgICANCiAgICAgIHByaW50ZigiRm9sbG93XG4iKTsNCg0K
ICAgICAgLy8gTW92ZSByb2JvdCBwb3NpdGlvbiB1c2luZyBmb2xsb3dpbmcgZnVuY3Rpb24g
YWJvdmUuIA0KDQogICAgICBmb2xsb3coJmZvbGxvd194LCAmZm9sbG93X3osICZmb2xsb3df
YWx0aXR1ZGUsICZmb2xsb3dfeWF3LA0KCSAgICAgKGZsb2F0KWF2YXRhcl94LCAoZmxvYXQp
YXZhdGFyX3osDQoJICAgICAoZmxvYXQpYXZhdGFyX2FsdGl0dWRlLCAoZmxvYXQpYXZhdGFy
X3lhdyk7DQoNCiAgICAgIG1vdmUoKGludClmb2xsb3dfeCwgKGludClmb2xsb3dfeiwNCgkg
ICAoaW50KWZvbGxvd19hbHRpdHVkZSwgKGludClmb2xsb3dfeWF3KTsNCg0KICAgICAgcHJp
bnRmKCJNb3ZlZCB0byAlLjJmeCUuMmYrJS4yZi5cbiIsDQoJICAgICBmb2xsb3dfeCwgZm9s
bG93X3osIGZvbGxvd19hbHRpdHVkZSk7DQoNCiAgICAgIHRpbWVyLS07IA0KICAgICAgaWYg
KHRpbWVyIDw9IDApIHsgDQoNCglyb2JvdF9zdGF0ZSA9IFdBSVRJTkc7IA0KCWF2YXRhcl9z
ZXNzaW9uID0gLTE7IA0KDQoJLy8gcmVzZXQgcG9zaXRpb24NCgltb3ZlKHJlc2V0X3gsIHJl
c2V0X3osIDAsIDE4MDApOw0KCWZvbGxvd194ID0gKGZsb2F0KXJlc2V0X3g7DQoJZm9sbG93
X3ogPSAoZmxvYXQpcmVzZXRfejsNCglmb2xsb3dfYWx0aXR1ZGUgPSAwOw0KCWZvbGxvd195
YXcgPSAxODAwOw0KICAgICAgfSANCiAgICB9IA0KICB9IA0KDQogIC8qIGNsb3NlIGV2ZXJ5
dGhpbmcgZG93biAqLw0KICBhd19kZXN0cm95ICgpOw0KICBhd190ZXJtICgpOw0KICByZXR1
cm4gMDsNCn0NCg==
--------------5F48D06410C8F2FE04DFE96A--

veleno

Dec 3, 1998, 12:33am
why is the makefile in a renderware extension? How can it work?

[View Quote] > Here is a working solution. Most is cut and paste from my C++ AWCPP into this
> C program.
>
> It waits for someone to walk within 5 meters of it and then follows them for
> 60 seconds after which it runs back to its starting position.
>
> To run you will require:
>
> 1. Cygnus GNU G++ compiler.
> 2. The awsdk.lib wrapper that was built to interface with COF's aw.dll.
> 3. Just type make to create the exe file.
>
> If you do not change anything then to test:
>
> 1. Goto Beta and teleport to 99n 99w 0a 45.
> This will place you 10 meters away from the bot and facing it.
> 2. Run the bot using "follower <citizen number> <priv password>"
> 3. The bot will report your distance as you approach. When you are with 5
> meters which
> is reported as 500 cm it will switch into follow mode and move to 1 meter
> behind you facing
> in the same direction as you are.
>
> Good luck.
>
> Edward Sumerfield.
>
[View Quote]

edward sumerfield

Dec 3, 1998, 2:07am
I don't understand. A renderware extension? Like .rwx?

The c file has the extension of ".c" and the Makefile has no extension. Makefile is the
standard name that the command make looks for when you run it. You can of coarse call
your makefile anything you like but you would have to add the "-f <file name>"
parameter to tell the make command which file to use.

o Copy both files into one diretory
o cd to that directory
o export AWSDK=<path were you installed aw.h>
o make sure that the aw.dll is in a directory in your PATH
o make
o follower <number> <priv>

Edward Sumerfield.

[View Quote] > why is the makefile in a renderware extension? How can it work?
>
[View Quote]

veleno

Dec 3, 1998, 11:19am
Strange... the makefile gave itself the .rwx extension when i saved it to my computer. I
don't need it right now. I converted the follower.c source over to standard GNU format. A
bit longer (2k more). But it's compiled just with the normal gcc.exe (I am running C, not
C++ right now). And I did get that to run.
Thanks Edward!

[View Quote] > I don't understand. A renderware extension? Like .rwx?
>
> The c file has the extension of ".c" and the Makefile has no extension. Makefile is the
> standard name that the command make looks for when you run it. You can of coarse call
> your makefile anything you like but you would have to add the "-f <file name>"
> parameter to tell the make command which file to use.
>
> o Copy both files into one diretory
> o cd to that directory
> o export AWSDK=<path were you installed aw.h>
> o make sure that the aw.dll is in a directory in your PATH
> o make
> o follower <number> <priv>
>
> Edward Sumerfield.
>
[View Quote]

edward sumerfield

Dec 3, 1998, 12:03pm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
I'm glad it worked for you.
<P>What did you mean by "converted to standard GNU format"?
[View Quote]

veleno

Dec 3, 1998, 7:53pm
The way you have your AWCPP written, you need the lib file to make it
work, and the makefile. The normal way of running the sdk through the
GNU is bypassing the aw.lib through the aw.dll defining the methods
manually. I've been using this system for a while, so I feel comfortable
with the layout.
I assume you've seen the source of GNU sdk bots that have done that.
(ie, "aw_int" is "(AWInt)").
There's an example source in a higher thread...

[View Quote] > I'm glad it worked for you.
>
> What did you mean by "converted to standard GNU format"?
>
[View Quote]

edward sumerfield

Dec 4, 1998, 1:54am
--------------F23D54E14A43430991BB801A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

I see what you mean now. I agree, that was how we started the GNU development
process. However, since then we have worked out some simpler ways of
interacting with the dll.

What you are doing in your code is loading the DLL, and retrieving the
addresses of all the functions from within it so that they can be called. It
seems there are some standard tools for dynamically generating this "wrapper"
code so that you don't have to bother with all that extra coding.

With VC++ there is implib, Borland's C++ there is impdef and we discovered the
following slightly clugy solution for the GNU gcc compiler.

All it is doing is creating a .lib file that contains all the code for loading
the dll and working out the function addresses. So all you have to do is link
with this new lib and you are set. This method drastically reduces your code
maintenance problem and removes the need to add all the GetProcAddress stuff.

The following is copied from a thread above titled "Cygwin" started by Josh.

==============================================

There is a utility called "impdef" (apparently the same name as a similar
Borland
tool) that lists the methods in a dll file. You can find it at

http://www.geocities.com/Tokyo/Towers/6162/gcc-extra.html

Once you have this you must run it from a DOS prompt. Doesn't
work from a bash shell.

impdef aw.dll > awsdk.def

This generates an awsdk.def file which is just a text file that lists the
functions
in the dll file. Now you can use the Cygwin utility dlltool to read this def
file
and the dll file and create a new Cygwin compatible lib file.

dlltool --def awsdk.def --dllname aw.dll --output-lib awsdk.lib

==============================================

Edward Sumerfield.

[View Quote] > The way you have your AWCPP written, you need the lib file to make it
> work, and the makefile. The normal way of running the sdk through the
> GNU is bypassing the aw.lib through the aw.dll defining the methods
> manually. I've been using this system for a while, so I feel comfortable
> with the layout.
> I assume you've seen the source of GNU sdk bots that have done that.
> (ie, "aw_int" is "(AWInt)").
> There's an example source in a higher thread...
>
[View Quote] --------------F23D54E14A43430991BB801A
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
I see what you mean now. I agree, that was how we started the GNU development
process. However, since then we have worked out some simpler ways of interacting
with the dll.
<p>What you are doing in your code is loading the DLL, and retrieving the
addresses of all the functions from within it so that they can be called.
It seems there are some standard tools for dynamically generating this
"wrapper" code so that you don't have to bother with all that extra coding.
<p>With VC++ there is implib, Borland's C++ there is impdef and we discovered
the following slightly clugy solution for the GNU gcc compiler.
<p>All it is doing is creating a .lib file that contains all the code for
loading the dll and working out the function addresses. So all you have
to do is link with this new lib and you are set. This method drastically
reduces your code maintenance problem and removes the need to add all the
GetProcAddress stuff.
<p>The following is copied from a thread above titled "Cygwin" started
by Josh.
<center>
<p>==============================================</center>

<p>There is a utility called "impdef" (apparently the same name as a similar
Borland
<br>tool) that lists the methods in a dll file. You can find it at
<p>&nbsp;&nbsp;&nbsp; <A HREF="http://www.geocities.com/Tokyo/Towers/6162/gcc-extra.html">http://www.geocities.com/Tokyo/Towers/6162/gcc-extra.html</A>
<p>Once you have this you must run it from a DOS prompt. Doesn't
<br>work from a bash shell.
<p>&nbsp;&nbsp;&nbsp; impdef aw.dll > awsdk.def
<p>This generates an awsdk.def file which is just a text file that lists
the functions
<br>in the dll file. Now you can use the Cygwin utility dlltool to read
this def file
<br>and the dll file and create a new Cygwin compatible lib file.
<p>&nbsp;&nbsp;&nbsp; dlltool --def awsdk.def --dllname aw.dll --output-lib
awsdk.lib
<center>
<p>==============================================</center>

<p>Edward Sumerfield.
[View Quote] --------------F23D54E14A43430991BB801A--

1  2  |  
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