www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/08/30/06:45:22

Message-ID: <01BB966F.DC056D20@line32.du.tele.net>
From: Remo Fleckinger <remo AT remo DOT vol DOT at>
To: "'DJGPP'" <djgpp AT delorie DOT com>
Subject: Hi Merlin.
Date: Fri, 30 Aug 1996 12:36:06 +-200
MIME-Version: 1.0

------ =_NextPart_000_01BB966F.DC4890A0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Here's again Remo.

I thank you very much for your help. I've got the Allegro library now =
and I used it in my programm. I think it works now very well. I included =
the source code in this E-Mail and may, if you have some time and you're =
interrested in it, you will have a look at it. The funktion which =
initializes the graphics is called
"Init_Grafik ()" and the funktion which does the page flipping thing is =
called
"Wechsle_Seite ()". (This is German and means something like change =
page)

May you can tell me if this is page flipping like you told me?
You can put it in your sources collection if you like it.
By the way... Do you have an own E-Mail address?

Hm... enough questions so far.
Thanx,
<RF>

  
------ =_NextPart_000_01BB966F.DC4890A0
Content-Type: application/octet-stream; name="3dgraf.c"
Content-Transfer-Encoding: base64

I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8Y29uaW8uaD4NCiNpbmNsdWRlIDxtYXRoLmg+
DQojaW5jbHVkZSA8ZG9zLmg+DQojaW5jbHVkZSA8YWxsZWdyby5oPg0KDQojaW5jbHVkZSAiM2Rn
cmFmLmgiDQoNCg0KLyogR2xvYmFsZSBWYXJpYWJsZW4gKi8NCi8qIC0tLS0tLS0tLS0tLS0tLS0t
ICovDQoNCmludCBtb2RlOw0KQklUTUFQICpidWZmZXIxOw0KQklUTUFQICpidWZmZXIyOw0KQklU
TUFQICpha3R1ZWxsOw0KDQoNCi8qIERlZmluaXRpb24gZGVyIE9iamVrdGUgKi8NCi8qIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0gKi8NCg0Kc3RydWN0IFB1bmt0IFB1bmt0WzhdID0ge3stNDAsIC00
MCwgLTQwfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICB7IDQwLCAtNDAsIC00MH0sDQogICAg
ICAgICAgICAgICAgICAgICAgICAgeyA0MCwgIDQwLCAtNDB9LA0KICAgICAgICAgICAgICAgICAg
ICAgICAgIHstNDAsICA0MCwgLTQwfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICB7LTQwLCAt
NDAsICA0MH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgeyA0MCwgLTQwLCAgNDB9LA0KICAg
ICAgICAgICAgICAgICAgICAgICAgIHsgNDAsICA0MCwgIDQwfSwNCiAgICAgICAgICAgICAgICAg
ICAgICAgICB7LTQwLCAgNDAsICA0MH19Ow0KDQpzdHJ1Y3QgUHVua3RfMkQgUHVua3QyRFs4XTsN
CnN0cnVjdCBQdW5rdF8yRCBQdW5rdDJEMls4XTsNCg0Kc3RydWN0IExpbmllIExpbmllWzEyXSA9
IHt7MCwgMX0sIHsxLCAyfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgezIsIDN9LCB7Mywg
MH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgIHs0LCA1fSwgezUsIDZ9LA0KICAgICAgICAg
ICAgICAgICAgICAgICAgICB7NiwgN30sIHs3LCA0fSwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgezAsIDR9LCB7MSwgNX0sDQogICAgICAgICAgICAgICAgICAgICAgICAgIHsyLCA2fSwgezMs
IDd9fTsNCg0Kc3RydWN0IE9iamVrdCBXdWVyZmVsID0NCnsNCiAgIld1ZXJmZWwiLCAgICAgICAv
KiBOYW1lIGRlcyBPYmpla3RzICAgICAgICAgICAgICAgKi8NCiAgOCwgUHVua3QsICAgICAgICAv
KiBBbnouIFB1bmt0ZSwgemVpZ2VyIGF1ZiBkYXRlbiAgKi8NCiAgUHVua3QyRCwgICAgICAgICAv
KiBGZWxkIGaBciBCaWxkc2NoaXJta29vcmRpbmF0ZW4gKi8NCiAgMTIsIExpbmllLCAgICAgICAv
KiBBbnouIExpbmllbiwgemVpZ2VyIGF1ZiBkYXRlbiAgKi8NCiAgMCwgTlVMTCwgICAgICAgICAv
KiBBbnouIEZshGNoZW4sIHplaWdlciBhdWYgZGF0ZW4gKi8NCiAgMTAwLCAxMDAsIDEwMCwgICAv
KiBTa2FsaWVydW5nIGluIHByb3plbnQgICAgICAgICAgKi8NCiAgMTgwLCAxODAsIDE4MCwgICAv
KiBUcmFuc2xhdGlvbiB4LCB5LCB6IChwdW5rdGUpICAgKi8NCiAgMCwgMCwgMCwgICAgICAgICAv
KiBSb3RhdGlvbiB4LCB5LCB6IChncmFkKSAgICAgICAgKi8NCiAgMCAgICAgICAgICAgICAgICAv
KiBNYXRyaXggZGVzIFeBcmZlbHMgICAgICAgICAgICAgKi8NCn07DQoNCnN0cnVjdCBPYmpla3Qg
V3VlcmZlbDIgPQ0Kew0KICAiV3VlcmZlbCIsICAgICAgIC8qIE5hbWUgZGVzIE9iamVrdHMgICAg
ICAgICAgICAgICAqLw0KICA4LCBQdW5rdCwgICAgICAgIC8qIEFuei4gUHVua3RlLCB6ZWlnZXIg
YXVmIGRhdGVuICAqLw0KICBQdW5rdDJEMiwgICAgICAgIC8qIEZlbGQgZoFyIEJpbGRzY2hpcm1r
b29yZGluYXRlbiAqLw0KICAxMiwgTGluaWUsICAgICAgIC8qIEFuei4gTGluaWVuLCB6ZWlnZXIg
YXVmIGRhdGVuICAqLw0KICAwLCBOVUxMLCAgICAgICAgIC8qIEFuei4gRmyEY2hlbiwgemVpZ2Vy
IGF1ZiBkYXRlbiAqLw0KICAxMDAsIDEwMCwgMTAwLCAgIC8qIFNrYWxpZXJ1bmcgaW4gcHJvemVu
dCAgICAgICAgICAqLw0KICAxODAsIDE4MCwgMTgwLCAgIC8qIFRyYW5zbGF0aW9uIHgsIHksIHog
KHB1bmt0ZSkgICAqLw0KICAwLCAwLCAwLCAgICAgICAgIC8qIFJvdGF0aW9uIHgsIHksIHogKGdy
YWQpICAgICAgICAqLw0KICAwICAgICAgICAgICAgICAgIC8qIE1hdHJpeCBkZXMgV4FyZmVscyAg
ICAgICAgICAgICAqLw0KfTsNCg0Kc3RydWN0IE9iamVrdCAqQWxsZU9ialsyXSA9IHsmV3VlcmZl
bCwgJld1ZXJmZWwyfTsNCg0Kc3RydWN0IFdlbHQgV2VsdCA9DQp7DQogIDIsICAgICAgICAgICAg
ICAgLyogQW56YWhsIE9iamVrdGUgICAgICAgICAgKi8NCiAgQWxsZU9iaiwgICAgICAgICAvKiBa
ZWlnZXIgYXVmIE9iamVrdGUgICAgICAqLw0KICB7MTgwLCAxODAsIC01MDB9ICAvKiBGbHVjaHRw
dW5rdCBkZXMgU3lzdGVtcyAqLw0KfTsNCg0KDQovKiBEaWUgSGF1cHRyb3V0aW5lICovDQovKiAt
LS0tLS0tLS0tLS0tLS0tICovDQoNCnZvaWQgbWFpbiAodm9pZCkNCnsNCiAgaW50IHplbnRydW14
ID0gMTgwOw0KICBpbnQgemVudHJ1bXogPSAxODA7DQogIGludCB3aW5rZWwxID0gMjcwOw0KICBp
bnQgd2lua2VsMiA9IDkwOw0KICBpbnQgYWRkd2luayA9IDE7DQogIGludCByYWRpdXMgID0gMTUw
Ow0KICBmbG9hdCByYWRpYW5zID0gMDsNCiAgaW50IGkgICAgICAgPSAwOw0KICBpbnQgYWRkaSAg
ICA9IDE7DQoNCiAgY2xyc2NyICgpOw0KICBJbml0X0dyYWZpayAoKTsNCg0KICB3aGlsZSAoIWti
aGl0ICgpKQ0KCXsNCiAgICBpICs9IGFkZGk7DQogICAgaWYgKGkgPiAzNjApIGkgLT0gMzYwOw0K
DQogICAgcmFkaWFucyA9ICgoZmxvYXQpd2lua2VsMSAvIDE4MCkgKiBQSTsNCiAgICB3aW5rZWwx
ICs9IGFkZHdpbms7DQogICAgV3VlcmZlbC5Sb3RhdGlvbi54ID0gaTsNCiAgICBXdWVyZmVsLlJv
dGF0aW9uLnkgPSBpOw0KICAgIFd1ZXJmZWwuVHJhbnNsYXRpb24ueiA9IChpbnQpICh6ZW50cnVt
eiArIChjb3MgKHJhZGlhbnMpICogcmFkaXVzKSk7DQogICAgV3VlcmZlbC5UcmFuc2xhdGlvbi54
ID0gKGludCkgKHplbnRydW14ICsgKHNpbiAocmFkaWFucykgKiByYWRpdXMpKTsNCiAgICBCZWFy
YmVpdGVfT2JqZWt0ICgmV2VsdCwgJld1ZXJmZWwpOw0KDQogICAgcmFkaWFucyA9ICgoZmxvYXQp
d2lua2VsMiAvIDE4MCkgKiBQSTsNCiAgICB3aW5rZWwyICs9IGFkZHdpbms7DQogICAgV3VlcmZl
bDIuUm90YXRpb24ueCA9IDM2MCAtIGk7DQogICAgV3VlcmZlbDIuUm90YXRpb24ueSA9IDM2MCAt
IGk7DQogICAgV3VlcmZlbDIuVHJhbnNsYXRpb24ueiA9IChpbnQpICh6ZW50cnVteiArIChjb3Mg
KHJhZGlhbnMpICogcmFkaXVzKSk7DQogICAgV3VlcmZlbDIuVHJhbnNsYXRpb24ueCA9IChpbnQp
ICh6ZW50cnVteCArIChzaW4gKHJhZGlhbnMpICogcmFkaXVzKSk7DQogICAgQmVhcmJlaXRlX09i
amVrdCAoJldlbHQsICZXdWVyZmVsMik7DQoNCiAgICBXZWNoc2xlX1NlaXRlICgpOw0KCQlaZWlj
aG5lX1dlbHQgKCZXZWx0KTsNCgl9DQoNCiAgYWt0dWVsbCA9IHNjcmVlbjsNCiAgY2xlYXIgKHNj
cmVlbik7DQogIGRlc3Ryb3lfYml0bWFwIChidWZmZXIyKTsNCiAgZGVzdHJveV9iaXRtYXAgKGJ1
ZmZlcjEpOw0KDQoJZ2V0Y2ggKCk7DQp9DQoNCg0KLyoqKiBEaWUgUm91dGluZW4gKioqLw0KLyoq
KiAtLS0tLS0tLS0tLS0gKioqLw0KDQoNCi8qIEVpbiBPYmpla3QgYXVmIGRlbiBCaWxkc2NoaXJt
IGJyaW5nZW4gKi8NCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8N
Cg0Kdm9pZCBTY2hyZWliZV9PYmpla3QgKHN0cnVjdCBPYmpla3QgKk9iamVrdCkNCnsNCglpbnQg
aSwgaWksIGFuejsNCg0KCXByaW50ZiAoIk5hbWUgZGVzIE9iamVrdGVzOiAlc1xuIiwgT2JqZWt0
LT5OYW1lKTsNCg0KCWFueiA9IE9iamVrdC0+QW56X1B1bmt0ZTsgIC8qIFB1bmt0ZSBhdXNnZWJl
biAqLw0KCXByaW50ZiAoIkFuemFobCBkZXIgUHVua3RlOiAlM2RcbiIsIGFueik7DQoJaWYgKGFu
eiA+IDApDQoJew0KCQlmb3IgKGk9MDsgaTxhbno7IGkrKykNCgkJew0KCQkJcHJpbnRmICgiJTNk
LCAlM2QsICUzZFxuIiwgT2JqZWt0LT5QdW5rdGVbaV0ueCwgT2JqZWt0LT5QdW5rdGVbaV0ueSwg
T2JqZWt0LT5QdW5rdGVbaV0ueik7DQoJCX0NCgl9DQoNCglhbnogPSBPYmpla3QtPkFuel9MaW5p
ZW47ICAvKiBMaW5pZW4gYXVzZ2ViZW4gKi8NCglwcmludGYgKCJBbnphaGwgZGVyIExpbmllbjog
JTNkXG4iLCBhbnopOw0KCWlmIChhbnogPiAwKQ0KCXsNCgkJZm9yIChpPTA7IGk8YW56OyBpKysp
DQoJCXsNCgkJCXByaW50ZiAoIiUyZC0+JTJkICAiLCBPYmpla3QtPkxpbmllbltpXS5TdGFydCwg
T2JqZWt0LT5MaW5pZW5baV0uRW5kZSk7DQoJCQlpZiAoKCgoaSsxKSAlIDMpID09IDApICYmIChp
ICE9IDApKSBwcmludGYgKCJcbiIpOw0KCQl9DQoJCWlmICgoaSAlIDMpICE9IDApIHByaW50ZiAo
IlxuIik7DQoJfQ0KDQoJYW56ID0gT2JqZWt0LT5BbnpfRmxhZWNoZW47ICAvKiBGbIRjaGVuIGF1
c2dlYmVuICovDQoJcHJpbnRmICgiQW56YWhsIGRlciBGbIRjaGVuOiAlZFxuIiwgYW56KTsNCglp
ZiAoYW56ID4gMCkNCgl7DQoJCWZvciAoaT0wOyBpPGFuejsgaSsrKQ0KCQl7DQoJCQlmb3IgKGlp
PTA7IGlpPE9iamVrdC0+RmxhZWNoZW5baV0uQW56X1B1bmt0ZTsgaWkrKykNCgkJCXsNCgkJCQlw
cmludGYgKCIlZCwgIiwgT2JqZWt0LT5GbGFlY2hlbltpXS5GZWxkW2lpXSk7DQoJCQl9DQoJCQlw
cmludGYgKCJcbiIpOw0KCQl9DQoJfQ0KDQoJcHJpbnRmICgiU2thbGllcnVuZzogJWQsICVkLCAl
ZFxuIiwgT2JqZWt0LT5Ta2FsaWVydW5nLngsIE9iamVrdC0+U2thbGllcnVuZy55LCBPYmpla3Qt
PlNrYWxpZXJ1bmcueik7DQoNCglwcmludGYgKCJUcmFuc2xhdGlvbjogJWQsICVkLCAlZFxuIiwg
T2JqZWt0LT5UcmFuc2xhdGlvbi54LCBPYmpla3QtPlRyYW5zbGF0aW9uLnksIE9iamVrdC0+VHJh
bnNsYXRpb24ueik7DQoNCglwcmludGYgKCJSb3RhdGlvbjogJWQsICVkLCAlZFxuIiwgT2JqZWt0
LT5Sb3RhdGlvbi54LCBPYmpla3QtPlJvdGF0aW9uLnksIE9iamVrdC0+Um90YXRpb24ueik7DQp9
DQoNCg0KLyogRWluZSBNYXRyaXggYXVmIGRlbiBCaWxkc2NoaXJtIGJyaW5nZW4gKi8NCi8qIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCnZvaWQgU2NocmVpYmVf
TWF0cml4IChmbG9hdCBNYXRyaXhbNF1bNF0pDQp7DQoJaW50IHgsIHk7DQoNCglmb3IgKHk9MDsg
eTw0OyB5KyspDQoJew0KCQlmb3IgKHg9MDsgeDw0OyB4KyspIHByaW50ZiAoIiUzZCAiLCAoaW50
KSBNYXRyaXhbeF1beV0pOw0KCQlwcmludGYgKCJcbiIpOw0KCX0NCn0NCg0KDQovKiBFaW5lciBN
YXRyaXggZGllIEVpbmhlaXRzbWF0cml4IHp1d2Vpc2VuICovDQovKiAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCnZvaWQgTWF0cml4X2xlZXJlbiAoZmxvYXQg
TWF0cml4WzRdWzRdKQ0Kew0KCWludCB4LCB5Ow0KDQoJZm9yICh5PTA7IHk8NDsgeSsrKSBmb3Ig
KHg9MDsgeDw0OyB4KyspIE1hdHJpeFt4XVt5XSA9IEVpbmhlaXRzbWF0cml4W3hdW3ldOw0KfQ0K
DQoNCi8qIEVpbmUgTWF0cml4IG1pdCBOdWxsZW4gZoFsbGVuICovDQovKiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSAqLw0KDQp2b2lkIE1hdHJpeF9udWxsZW4gKGZsb2F0IE1hdHJpeFs0
XVs0XSkNCnsNCglpbnQgeCwgeTsNCg0KCWZvciAoeT0wOyB5PDQ7IHkrKykgZm9yICh4PTA7IHg8
NDsgeCsrKSBNYXRyaXhbeF1beV0gPSBOdWxsbWF0cml4W3hdW3ldOw0KfQ0KDQoNCi8qIE11bHRp
cGxpa2F0aW9uIHp3ZWllciBNYXRyaXplbiAqLw0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICovDQoNCnZvaWQgTWF0cml4X1hfTWF0cml4IChmbG9hdCB6aWVsWzRdWzRdLCBmbG9h
dCBxdWVsbGVbNF1bNF0pDQp7DQoJaW50IHgsIHksIHo7DQogIGZsb2F0IHp3aXNjaGVuWzRdWzRd
Ow0KDQoJZm9yICh5PTA7IHk8NDsgeSsrKQ0KCXsNCgkJZm9yICh4PTA7IHg8NDsgeCsrKQ0KCQl7
DQoJCQl6d2lzY2hlblt4XVt5XSA9IDA7DQoJCQlmb3IgKHo9MDsgejw0OyB6KyspICAgICB6d2lz
Y2hlblt4XVt5XSArPSB6aWVsW3pdW3ldICogcXVlbGxlW3hdW3pdOw0KCQl9DQoJfQ0KDQogIGZv
ciAoeD0wOyB4PDQ7IHgrKykgZm9yICh5PTA7IHk8NDsgeSsrKSB6aWVsW3hdW3ldID0gendpc2No
ZW5beF1beV07DQp9DQoNCg0KLyogTXVsdGlwbGlrYXRpb24gZWluZXMgUHVua3RlcyBtaXQgZWlu
ZXIgTWF0cml4ICovDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gKi8NCg0Kdm9pZCBQdW5rdF9YX01hdHJpeCAoZmxvYXQgUHVua3RbNF0sIGZsb2F0IE1h
dHJpeFs0XVs0XSkNCnsNCiAgZmxvYXQgendpc2NoZW5bNF07DQoNCgl6d2lzY2hlblswXSA9IFB1
bmt0WzBdICogTWF0cml4WzBdWzBdICsgUHVua3RbMV0gKiBNYXRyaXhbMF1bMV0gKyBQdW5rdFsy
XSAqIE1hdHJpeFswXVsyXSArIFB1bmt0WzNdICogTWF0cml4WzBdWzNdOw0KCXp3aXNjaGVuWzFd
ID0gUHVua3RbMF0gKiBNYXRyaXhbMV1bMF0gKyBQdW5rdFsxXSAqIE1hdHJpeFsxXVsxXSArIFB1
bmt0WzJdICogTWF0cml4WzFdWzJdICsgUHVua3RbM10gKiBNYXRyaXhbMV1bM107DQoJendpc2No
ZW5bMl0gPSBQdW5rdFswXSAqIE1hdHJpeFsyXVswXSArIFB1bmt0WzFdICogTWF0cml4WzJdWzFd
ICsgUHVua3RbMl0gKiBNYXRyaXhbMl1bMl0gKyBQdW5rdFszXSAqIE1hdHJpeFsyXVszXTsNCgl6
d2lzY2hlblszXSA9IFB1bmt0WzBdICogTWF0cml4WzNdWzBdICsgUHVua3RbMV0gKiBNYXRyaXhb
M11bMV0gKyBQdW5rdFsyXSAqIE1hdHJpeFszXVsyXSArIFB1bmt0WzNdICogTWF0cml4WzNdWzNd
Ow0KDQogIFB1bmt0WzBdID0gendpc2NoZW5bMF07DQoJUHVua3RbMV0gPSB6d2lzY2hlblsxXTsN
CglQdW5rdFsyXSA9IHp3aXNjaGVuWzJdOw0KICBQdW5rdFszXSA9IHp3aXNjaGVuWzNdOw0KfQ0K
DQoNCi8qIFJvdGF0aW9uIGVpbmVzIE9iamVrdGVzICovDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAqLw0KDQp2b2lkIFJvdGF0aW9uIChzdHJ1Y3QgT2JqZWt0ICpPYmpla3QpDQp7DQoJZmxv
YXQgYSwgYiwgYywgY29zYSwgY29zYiwgY29zYywgc2luYSwgc2luYiwgc2luYywgTWF0cml4WzRd
WzRdOw0KDQoJYSA9ICgoZmxvYXQpT2JqZWt0LT5Sb3RhdGlvbi54IC8gMTgwKSAqIFBJOyAgLyog
QmVyZWNobnVuZyBkZXMgUmFkaWFucyAqLw0KCWIgPSAoKGZsb2F0KU9iamVrdC0+Um90YXRpb24u
eSAvIDE4MCkgKiBQSTsgIC8qIGRlciBXaW5rZWwgKi8NCgljID0gKChmbG9hdClPYmpla3QtPlJv
dGF0aW9uLnogLyAxODApICogUEk7DQoNCglzaW5hID0gc2luIChhKTsgLyogQmVyZWNobnVuZyBk
ZXMgU2ludXMgZWluZXMgamVkZW4gV2lua2VscyAqLw0KCXNpbmIgPSBzaW4gKGIpOw0KCXNpbmMg
PSBzaW4gKGMpOw0KDQoJY29zYSA9IGNvcyAoYSk7IC8qIEJlcmVjaG51bmcgZGVzIENvc2ludXMg
ZWluZXMgamVkZW4gV2lua2VscyAqLw0KCWNvc2IgPSBjb3MgKGIpOw0KCWNvc2MgPSBjb3MgKGMp
Ow0KDQoJTWF0cml4WzBdWzBdID0gY29zYiAqIGNvc2M7ICAvKiBCZXJlY2hudW5nIGRlciBSb3Rh
dGlvbnNtYXRyaXggKi8NCglNYXRyaXhbMV1bMF0gPSBjb3NiICogc2luYzsgIC8qIGaBciBhbGxl
IEFjaHNlbiAqLw0KCU1hdHJpeFsyXVswXSA9IHNpbmIgKiAtMTsNCglNYXRyaXhbM11bMF0gPSAw
Ow0KDQoJTWF0cml4WzBdWzFdID0gc2luYSAqIHNpbmIgKiBjb3NjIC0gY29zYSAqIHNpbmM7DQoJ
TWF0cml4WzFdWzFdID0gc2luYSAqIHNpbmIgKiBzaW5jICsgY29zYSAqIGNvc2M7DQoJTWF0cml4
WzJdWzFdID0gc2luYSAqIGNvc2I7DQoJTWF0cml4WzNdWzFdID0gMDsNCg0KCU1hdHJpeFswXVsy
XSA9IGNvc2EgKiBzaW5iICogY29zYyArIHNpbmEgKiBzaW5jOw0KCU1hdHJpeFsxXVsyXSA9IGNv
c2EgKiBzaW5iICogc2luYyAtIHNpbmEgKiBjb3NjOw0KCU1hdHJpeFsyXVsyXSA9IGNvc2EgKiBj
b3NiOw0KCU1hdHJpeFszXVsyXSA9IDA7DQoNCglNYXRyaXhbMF1bM10gPSAwOw0KCU1hdHJpeFsx
XVszXSA9IDA7DQoJTWF0cml4WzJdWzNdID0gMDsNCglNYXRyaXhbM11bM10gPSAxOw0KDQoJTWF0
cml4X1hfTWF0cml4IChPYmpla3QtPk1hdHJpeCwgTWF0cml4KTsNCn0NCg0KDQovKiBEaWUgU2th
bGllcnVuZyBlaW5lcyBPYmpla3RlcyAqLw0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gKi8NCg0Kdm9pZCBTa2FsaWVydW5nIChzdHJ1Y3QgT2JqZWt0ICpPYmpla3QpDQp7DQoJaW50
IHgsIHk7DQoJZmxvYXQgTWF0cml4WzRdWzRdOw0KDQoJTWF0cml4X2xlZXJlbiAoTWF0cml4KTsN
Cg0KICBNYXRyaXhbMF1bMF0gPSAoZmxvYXQpT2JqZWt0LT5Ta2FsaWVydW5nLnggLyAxMDA7DQog
IE1hdHJpeFsxXVsxXSA9IChmbG9hdClPYmpla3QtPlNrYWxpZXJ1bmcueSAvIDEwMDsNCiAgTWF0
cml4WzJdWzJdID0gKGZsb2F0KU9iamVrdC0+U2thbGllcnVuZy56IC8gMTAwOw0KDQoJTWF0cml4
X1hfTWF0cml4IChPYmpla3QtPk1hdHJpeCwgTWF0cml4KTsNCn0NCg0KDQovKiBEaWUgVmVyc2No
aWVidW5nIGVpbmVzIE9iamVrdGVzICovDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tICovDQoNCnZvaWQgVHJhbnNsYXRpb24gKHN0cnVjdCBPYmpla3QgKk9iamVrdCkNCnsNCglp
bnQgeCwgeTsNCglmbG9hdCBNYXRyaXhbNF1bNF07DQoNCglNYXRyaXhfbGVlcmVuIChNYXRyaXgp
Ow0KDQoJTWF0cml4WzBdWzNdID0gKGZsb2F0KU9iamVrdC0+VHJhbnNsYXRpb24ueDsNCglNYXRy
aXhbMV1bM10gPSAoZmxvYXQpT2JqZWt0LT5UcmFuc2xhdGlvbi55Ow0KCU1hdHJpeFsyXVszXSA9
IChmbG9hdClPYmpla3QtPlRyYW5zbGF0aW9uLno7DQoNCglNYXRyaXhfWF9NYXRyaXggKE9iamVr
dC0+TWF0cml4LCBNYXRyaXgpOw0KfQ0KDQoNCi8qIFByb2plemllcmVuIGVpbmVzIE9iamVrdGVz
IGF1ZiBkaWUgRWJlbmUgKi8NCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gKi8NCg0Kdm9pZCBQcm9qZWt0aW9uIChzdHJ1Y3QgV2VsdCAqV2VsdCwgc3RydWN0IE9i
amVrdCAqT2JqZWt0KQ0Kew0KCWZsb2F0IFB1bmt0WzRdLCBNYXRyaXhbNF1bNF07DQoJaW50IGk7
DQoNCglNYXRyaXhfbnVsbGVuIChNYXRyaXgpOw0KDQoJTWF0cml4WzBdWzBdID0gV2VsdC0+QmVv
Yi56ICogLTE7ICAvKiBadXdlaXN1bmcgZGVyIFRyYW5zZm9ybWF0aW9uc21hdHJpeCAqLw0KCU1h
dHJpeFsxXVsxXSA9IE1hdHJpeFswXVswXTsNCglNYXRyaXhbMF1bMl0gPSBXZWx0LT5CZW9iLng7
DQoJTWF0cml4WzFdWzJdID0gV2VsdC0+QmVvYi55Ow0KCU1hdHJpeFszXVsyXSA9IDE7DQoJTWF0
cml4WzNdWzNdID0gTWF0cml4WzBdWzBdOw0KDQoJTWF0cml4X1hfTWF0cml4IChPYmpla3QtPk1h
dHJpeCwgTWF0cml4KTsNCg0KCWZvciAoaT0wOyBpPE9iamVrdC0+QW56X1B1bmt0ZTsgaSsrKQ0K
CXsNCgkJUHVua3RbMF0gPSBPYmpla3QtPlB1bmt0ZVtpXS54Ow0KCQlQdW5rdFsxXSA9IE9iamVr
dC0+UHVua3RlW2ldLnk7DQoJCVB1bmt0WzJdID0gT2JqZWt0LT5QdW5rdGVbaV0uejsNCgkJUHVu
a3RbM10gPSAxOw0KDQoJCVB1bmt0X1hfTWF0cml4IChQdW5rdCwgT2JqZWt0LT5NYXRyaXgpOw0K
DQoJCU9iamVrdC0+QmlsZHNjaGlybVtpXS54ID0gUHVua3RbMF0gLyBQdW5rdFszXTsNCgkJT2Jq
ZWt0LT5CaWxkc2NoaXJtW2ldLnkgPSBQdW5rdFsxXSAvIFB1bmt0WzNdOw0KCX0NCn0NCg0KDQov
KiBBbGxlIFRyYW5zZm9ybWF0aW9uZW4gZWluZXMgT2JqZWt0ZXMgZHVyY2hmgWhyZW4gKi8NCi8q
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQp2
b2lkIFRyYW5zZm9ybWF0aW9uIChzdHJ1Y3QgV2VsdCAqV2VsdCwgc3RydWN0IE9iamVrdCAqT2Jq
ZWt0KQ0Kew0KCVNrYWxpZXJ1bmcgKE9iamVrdCk7DQoJVHJhbnNsYXRpb24gKE9iamVrdCk7DQoJ
Um90YXRpb24gKE9iamVrdCk7DQoJUHJvamVrdGlvbiAoV2VsdCwgT2JqZWt0KTsNCn0NCg0KDQov
KiBEaWUgR3JhZmlrIGludGlhbGlzaWVyZW4gKi8NCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSAqLw0KDQppbnQgSW5pdF9HcmFmaWsgKHZvaWQpDQp7DQogIGludCBncmFmOw0KDQogIGFsbGVn
cm9faW5pdCAoKTsNCg0KICBncmFmID0gc2V0X2dmeF9tb2RlIChHRlhfTU9ERVgsIDM2MCwgMzYw
LCAzNjAsIDcyMCk7DQogIGlmIChncmFmIDwgMCkNCiAgew0KICAgIHByaW50ZiAoIkFMTEVHUk8g
U0VUX0dGWF9NT0RFIEZFSExFUjogJXMiLCBhbGxlZ3JvX2Vycm9yKTsNCiAgICBleGl0IChUUlVF
KTsNCiAgfQ0KDQogIGJ1ZmZlcjEgPSBjcmVhdGVfc3ViX2JpdG1hcCAoc2NyZWVuLCAwLCAwLCAz
NjAsIDM2MCk7DQogIGJ1ZmZlcjIgPSBjcmVhdGVfc3ViX2JpdG1hcCAoc2NyZWVuLCAwLCAzNjEs
IDM2MCwgMzYwKTsNCg0KICByZXR1cm4gKFRSVUUpOw0KfQ0KDQoNCi8qIEVpbiBPYmpla3QgYmVh
cmJlaXRlbiAqLw0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCnZvaWQgQmVhcmJlaXRl
X09iamVrdCAoc3RydWN0IFdlbHQgKldlbHQsIHN0cnVjdCBPYmpla3QgKk9iamVrdCkNCnsNCiAg
LyogRGllIFJlaWhlbmZvbGdlIHNjaGVpbnQgd2ljaHRpZyB6dSBzZWluISAqLw0KDQogIE1hdHJp
eF9sZWVyZW4gKE9iamVrdC0+TWF0cml4KTsNCiAgU2thbGllcnVuZyAoT2JqZWt0KTsNCiAgUm90
YXRpb24gKE9iamVrdCk7DQogIFRyYW5zbGF0aW9uIChPYmpla3QpOw0KICBQcm9qZWt0aW9uIChX
ZWx0LCBPYmpla3QpOw0KfQ0KDQoNCi8qIEVpbmUgV2VsdCBhdWYgZGVuIEJpbGRzY2hpcm0gYnJp
bmdlbiAqLw0KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCnZv
aWQgWmVpY2huZV9XZWx0IChzdHJ1Y3QgV2VsdCAqV2VsdCkNCnsNCglpbnQgaSwgaWksIHN0YXJ0
LCBlbmRlOw0KCXN0cnVjdCBPYmpla3QgKk9iamVrdDsNCg0KCWZvciAoaT0wOyBpPFdlbHQtPkFu
el9PYmpla3RlOyBpKyspDQoJew0KICAgIE9iamVrdCA9IFdlbHQtPk9iamVrdGVbaV07DQoJCWZv
ciAoaWk9MDsgaWk8T2JqZWt0LT5BbnpfTGluaWVuOyBpaSsrKQ0KCQl7DQoJCQlzdGFydCA9IE9i
amVrdC0+TGluaWVuW2lpXS5TdGFydDsNCgkJCWVuZGUgID0gT2JqZWt0LT5MaW5pZW5baWldLkVu
ZGU7DQogICAgICBsaW5lIChha3R1ZWxsLCBPYmpla3QtPkJpbGRzY2hpcm1bc3RhcnRdLngsIE9i
amVrdC0+QmlsZHNjaGlybVtzdGFydF0ueSwgT2JqZWt0LT5CaWxkc2NoaXJtW2VuZGVdLngsIE9i
amVrdC0+QmlsZHNjaGlybVtlbmRlXS55LCAxKTsNCgkJfQ0KCX0NCn0NCg0KDQovKiBEb3VibGUg
QnVmZmVyaW5nIFJvdXRpbmUgKi8NCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQp2
b2lkIFdlY2hzbGVfU2VpdGUgKHZvaWQpDQp7DQogIGlmIChtb2RlID09IDApDQogIHsNCiAgICBz
Y3JvbGxfc2NyZWVuICgwLCAzNjEpOw0KICAgIGFrdHVlbGwgPSBidWZmZXIxOw0KICB9DQoNCiAg
aWYgKG1vZGUgPT0gMSkNCiAgew0KICAgIHNjcm9sbF9zY3JlZW4gKDAsIDApOw0KICAgIGFrdHVl
bGwgPSBidWZmZXIyOw0KICB9DQoNCiAgY2xlYXIgKGFrdHVlbGwpOw0KICBtb2RlID0gKG1vZGUg
KyAxKSAlIDI7DQp9DQo=

------ =_NextPart_000_01BB966F.DC4890A0
Content-Type: application/octet-stream; name="3dgraf.h"
Content-Transfer-Encoding: base64

LyogRGVmaW5pdGlvbiBkZXIgR3J1bmRzdHJ1a3R1cmVuIGVpbmVyIDNELUdyYWZpayAqLw0KLyog
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQpzdHJ1
Y3QgUHVua3RfMkQgIC8qIEVpbiB6d2VpZGltZW5zaW9uYWxlciBQdW5rdCBmgXIgZGVuIEJpbGRz
Y2hpcm0gKi8NCnsNCglpbnQgeDsNCglpbnQgeTsNCn07DQoNCnN0cnVjdCBQdW5rdCAgLyogRWlu
IGRyZWlkaW1lbnNpb25hbGVyIFB1bmt0IGaBciBkaWUgT2JqZWt0ZSAqLw0Kew0KCWludCB4Ow0K
CWludCB5Ow0KCWludCB6Ow0KfTsNCg0Kc3RydWN0IExpbmllICAvKiBEaWUgVmVyYmluZHVuZ2Vu
IGRlciBQdW5rdGUgaW0gT2JqZWt0ICovDQp7DQoJaW50IFN0YXJ0Ow0KCWludCBFbmRlOw0KfTsN
Cg0Kc3RydWN0IEZsYWVjaGUgIC8qIERpZSBEZWZpbml0aW9uIGVpbmVyIEZshGNoZSBlaW5lcyBP
Ympla3RlcyAqLw0Kew0KCWludCBGYXJiZTsNCglpbnQgQW56X1B1bmt0ZTsNCglpbnQgKkZlbGQ7
DQp9Ow0KDQpzdHJ1Y3QgT2JqZWt0ICAvKiBEaWUgR3J1bmRzdHJ1a3R1ciBlaW5lcyBPYmpla3Rl
cyAqLw0Kew0KCWNoYXIgKk5hbWU7DQoNCglpbnQgQW56X1B1bmt0ZTsNCglzdHJ1Y3QgUHVua3Qg
KlB1bmt0ZTsNCglzdHJ1Y3QgUHVua3RfMkQgKkJpbGRzY2hpcm07DQoNCglpbnQgQW56X0xpbmll
bjsNCglzdHJ1Y3QgTGluaWUgKkxpbmllbjsNCg0KCWludCBBbnpfRmxhZWNoZW47DQoJc3RydWN0
IEZsYWVjaGUgKkZsYWVjaGVuOw0KDQoJc3RydWN0IFB1bmt0IFNrYWxpZXJ1bmc7DQoJc3RydWN0
IFB1bmt0IFRyYW5zbGF0aW9uOw0KCXN0cnVjdCBQdW5rdCBSb3RhdGlvbjsNCglmbG9hdCBNYXRy
aXhbNF1bNF07DQp9Ow0KDQpzdHJ1Y3QgV2VsdCAgLyogRGllIFdlbHQgaW4gZGVyIHNpY2ggYWxs
ZSBPYmpla3RlIGJlZmluZGVuICovDQp7DQoJaW50IEFuel9PYmpla3RlOw0KICBzdHJ1Y3QgT2Jq
ZWt0ICoqT2JqZWt0ZTsNCg0KCXN0cnVjdCBQdW5rdCBCZW9iOw0KfTsNCg0KDQovKiBEZWZpbml0
aW9uIGVpbmlnZXIgd2ljaHRpZ2VyIE1hdHJpemVuICovDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tICovDQoNCmZsb2F0IEVpbmhlaXRzbWF0cml4WzRdWzRdID0ge3sx
LCAwLCAwLCAwfSwNCgkJCQkJCQkJCQkJCQkJCXswLCAxLCAwLCAwfSwNCgkJCQkJCQkJCQkJCQkJ
CXswLCAwLCAxLCAwfSwNCgkJCQkJCQkJCQkJCQkJCXswLCAwLCAwLCAxfX07DQoNCmZsb2F0IE51
bGxtYXRyaXhbNF1bNF0gPSB7ezAsIDAsIDAsIDB9LA0KCQkJCQkJCQkJCQkJCXswLCAwLCAwLCAw
fSwNCgkJCQkJCQkJCQkJCQl7MCwgMCwgMCwgMH0sDQoJCQkJCQkJCQkJCQkJezAsIDAsIDAsIDB9
fTsNCg0KDQovKiBEZWZpbml0aW9uIGRlciBQcm96ZWR1cmVuICovDQovKiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICovDQoNCnZvaWQgTWF0cml4X1hfTWF0cml4IChmbG9hdCB6aWVsWzRdWzRd
LCBmbG9hdCBxdWVsbGVbNF1bNF0pOw0Kdm9pZCBQdW5rdF9YX01hdHJpeCAoZmxvYXQgUHVua3Rb
NF0sIGZsb2F0IE1hdHJpeFs0XVs0XSk7DQp2b2lkIE1hdHJpeF9sZWVyZW4gKGZsb2F0IE1hdHJp
eFs0XVs0XSk7DQp2b2lkIE1hdHJpeF9udWxsZW4gKGZsb2F0IE1hdHJpeFs0XVs0XSk7DQp2b2lk
IFNjaHJlaWJlX01hdHJpeCAoZmxvYXQgTWF0cml4WzRdWzRdKTsNCnZvaWQgU2NocmVpYmVfT2Jq
ZWt0IChzdHJ1Y3QgT2JqZWt0ICpPYmpla3QpOw0KaW50ICBJbml0X0dyYWZpayAodm9pZCk7DQp2
b2lkIEJlYXJiZWl0ZV9PYmpla3QgKHN0cnVjdCBXZWx0ICpXZWx0LCBzdHJ1Y3QgT2JqZWt0ICpP
Ympla3QpOw0Kdm9pZCBaZWljaG5lX1dlbHQgKHN0cnVjdCBXZWx0ICpXZWx0KTsNCnZvaWQgV2Vj
aHNsZV9TZWl0ZSAodm9pZCk7ICAvKiBGgXIgUGFnZSBGbGlwcGluZyAqLw0KDQp2b2lkIFRyYW5z
Zm9ybWF0aW9uIChzdHJ1Y3QgV2VsdCAqV2VsdCwgc3RydWN0IE9iamVrdCAqT2JqZWt0KTsgIC8q
IEFsbGUgVHJhbnNmb3JtYXRpb25lbiBkdXJjaGaBaHJlbiAqLw0Kdm9pZCBSb3RhdGlvbiAoc3Ry
dWN0IE9iamVrdCAqT2JqZWt0KTsgIC8qIFJvdGF0aW9uIGVpbmVzIE9iamVrdGVzICovDQp2b2lk
IFNrYWxpZXJ1bmcgKHN0cnVjdCBPYmpla3QgKk9iamVrdCk7ICAvKiBWZXJ6ZXJyZW4gZWluZXMg
T2JqZWt0ZXMgKi8NCnZvaWQgVHJhbnNsYXRpb24gKHN0cnVjdCBPYmpla3QgKk9iamVrdCk7ICAv
KiBWZXJzY2hpZWJlbiBlaW5lcyBPYmpla3RlcyAqLw0Kdm9pZCBQcm9qZWt0aW9uIChzdHJ1Y3Qg
V2VsdCAqV2VsdCwgc3RydWN0IE9iamVrdCAqT2JqZWt0KTsgIC8qIFByb2pla3Rpb24gZWluZXMg
T2JqZWt0ZXMgYXVmIGRpZSBFYmVuZSAqLw0KDQoNCi8qIFByb2dyYW1tdGVjaG5pc2NoZSBEZWZp
bml0aW9uZW4gKi8NCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCg0KI2Rl
ZmluZSBOTCBwcmludGYgKCJcbiIpOyAgLyogTmV1ZSBaZWlsZSBhdWYgQmlsZHNjaGlybSBiZWdp
bm5lbiAqLw0KI2RlZmluZSBVQllURSB1bnNpZ25lZCBjaGFyDQojZGVmaW5lIEZBTFNFIDANCg==

------ =_NextPart_000_01BB966F.DC4890A0--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019