Initial import. master
authorSimon Morgan <sjm@sjm.io>
Sat, 20 Jun 2015 13:36:37 +0000 (14:36 +0100)
committerSimon Morgan <sjm@sjm.io>
Sat, 20 Jun 2015 13:36:37 +0000 (14:36 +0100)
953 files changed:
Makefile.am [new file with mode: 0644]
Makefile.in [new file with mode: 0644]
README [new file with mode: 0644]
abuse/Makefile.am [new file with mode: 0644]
abuse/Makefile.in [new file with mode: 0644]
abuse/abuse.in [new file with mode: 0644]
abuse/abuse.lsp [new file with mode: 0644]
abuse/acinclude.m4 [new file with mode: 0644]
abuse/aclocal.m4 [new file with mode: 0644]
abuse/b.bat [new file with mode: 0644]
abuse/c.bat [new file with mode: 0644]
abuse/configure [new file with mode: 0644]
abuse/configure.in [new file with mode: 0644]
abuse/defaults.prp [new file with mode: 0644]
abuse/dirlist.c [new file with mode: 0644]
abuse/edit.lsp [new file with mode: 0644]
abuse/filelst.c [new file with mode: 0644]
abuse/fsetup.ini [new file with mode: 0644]
abuse/game.lnk [new file with mode: 0644]
abuse/gamma.lsp [new file with mode: 0644]
abuse/gsetup.ini [new file with mode: 0644]
abuse/hardness.lsp [new file with mode: 0644]
abuse/i4maker.lsp [new file with mode: 0644]
abuse/inc/ability.hpp [new file with mode: 0644]
abuse/inc/ant.hpp [new file with mode: 0644]
abuse/inc/automap.hpp [new file with mode: 0644]
abuse/inc/bus_type.hpp [new file with mode: 0644]
abuse/inc/cache.hpp [new file with mode: 0644]
abuse/inc/chars.hpp [new file with mode: 0644]
abuse/inc/chat.hpp [new file with mode: 0644]
abuse/inc/chmorph.hpp [new file with mode: 0644]
abuse/inc/client.hpp [new file with mode: 0644]
abuse/inc/clisp.hpp [new file with mode: 0644]
abuse/inc/compiled.hpp [new file with mode: 0644]
abuse/inc/config.hpp [new file with mode: 0644]
abuse/inc/console.hpp [new file with mode: 0644]
abuse/inc/control.hpp [new file with mode: 0644]
abuse/inc/cop.hpp [new file with mode: 0644]
abuse/inc/crc.hpp [new file with mode: 0644]
abuse/inc/demo.hpp [new file with mode: 0644]
abuse/inc/dev.hpp [new file with mode: 0644]
abuse/inc/devsel.hpp [new file with mode: 0644]
abuse/inc/director.hpp [new file with mode: 0644]
abuse/inc/extend.hpp [new file with mode: 0644]
abuse/inc/fakelib.hpp [new file with mode: 0644]
abuse/inc/game.hpp [new file with mode: 0644]
abuse/inc/gamma.hpp [new file with mode: 0644]
abuse/inc/go.hpp [new file with mode: 0644]
abuse/inc/gui.hpp [new file with mode: 0644]
abuse/inc/help.hpp [new file with mode: 0644]
abuse/inc/human.hpp [new file with mode: 0644]
abuse/inc/id.hpp [new file with mode: 0644]
abuse/inc/intsect.hpp [new file with mode: 0644]
abuse/inc/isllist.hpp [new file with mode: 0644]
abuse/inc/isllist_bak.hpp [new file with mode: 0644]
abuse/inc/items.hpp [new file with mode: 0644]
abuse/inc/language.hpp [new file with mode: 0644]
abuse/inc/laser.hpp [new file with mode: 0644]
abuse/inc/lcache.hpp [new file with mode: 0644]
abuse/inc/lcaller.hpp [new file with mode: 0644]
abuse/inc/level.hpp [new file with mode: 0644]
abuse/inc/light.hpp [new file with mode: 0644]
abuse/inc/lisp.hpp [new file with mode: 0644]
abuse/inc/lisp2.hpp [new file with mode: 0644]
abuse/inc/lisp_gc.hpp [new file with mode: 0644]
abuse/inc/lisp_opt.hpp [new file with mode: 0644]
abuse/inc/lmenu.hpp [new file with mode: 0644]
abuse/inc/loader2.hpp [new file with mode: 0644]
abuse/inc/loadgame.hpp [new file with mode: 0644]
abuse/inc/menu.hpp [new file with mode: 0644]
abuse/inc/morpher.hpp [new file with mode: 0644]
abuse/inc/netcfg.hpp [new file with mode: 0644]
abuse/inc/netface.hpp [new file with mode: 0644]
abuse/inc/nfclient.hpp [new file with mode: 0644]
abuse/inc/nfserver.hpp [new file with mode: 0644]
abuse/inc/objects.hpp [new file with mode: 0644]
abuse/inc/parse.hpp [new file with mode: 0644]
abuse/inc/particle.hpp [new file with mode: 0644]
abuse/inc/points.hpp [new file with mode: 0644]
abuse/inc/profile.hpp [new file with mode: 0644]
abuse/inc/property.hpp [new file with mode: 0644]
abuse/inc/ramfile.hpp [new file with mode: 0644]
abuse/inc/sbar.hpp [new file with mode: 0644]
abuse/inc/scene.hpp [new file with mode: 0644]
abuse/inc/seq.hpp [new file with mode: 0644]
abuse/inc/server2.hpp [new file with mode: 0644]
abuse/inc/specache.hpp [new file with mode: 0644]
abuse/inc/stack.hpp [new file with mode: 0644]
abuse/inc/text_gui.hpp [new file with mode: 0644]
abuse/inc/tiles.hpp [new file with mode: 0644]
abuse/inc/transp.hpp [new file with mode: 0644]
abuse/inc/view.hpp [new file with mode: 0644]
abuse/install.lnk [new file with mode: 0644]
abuse/install.lsp [new file with mode: 0644]
abuse/lastsave.lsp [new file with mode: 0644]
abuse/light.tbl [new file with mode: 0644]
abuse/listall [new file with mode: 0644]
abuse/makefile.dav [new file with mode: 0644]
abuse/makefile.wat [new file with mode: 0644]
abuse/makemake.bat [new file with mode: 0644]
abuse/maker.aix [new file with mode: 0644]
abuse/maker.linux [new file with mode: 0644]
abuse/maker.lsp [new file with mode: 0644]
abuse/mb.bat [new file with mode: 0644]
abuse/net/Makefile [new file with mode: 0644]
abuse/net/abuse_ndrv.c [new file with mode: 0644]
abuse/net/netdrv.c [new file with mode: 0644]
abuse/net/netface.c [new file with mode: 0644]
abuse/net/nstruct.hpp [new file with mode: 0644]
abuse/net/serial.c [new file with mode: 0644]
abuse/net/serial.exe [new file with mode: 0644]
abuse/net/serial.lnk [new file with mode: 0644]
abuse/net/tdrv [new file with mode: 0644]
abuse/net/tdrv.c [new file with mode: 0644]
abuse/net/test.c [new file with mode: 0644]
abuse/netlevel/.AppleDouble/.Parent [new file with mode: 0644]
abuse/netlevel/2play1.spe [new file with mode: 0644]
abuse/netlevel/2play2.spe [new file with mode: 0644]
abuse/netlevel/2play3.spe [new file with mode: 0644]
abuse/netlevel/2play4.spe [new file with mode: 0644]
abuse/netlevel/4play1.spe [new file with mode: 0644]
abuse/netlevel/4play2.spe [new file with mode: 0644]
abuse/netlevel/4play3.spe [new file with mode: 0644]
abuse/netlevel/4play4.spe [new file with mode: 0644]
abuse/netlevel/8play1.spe [new file with mode: 0644]
abuse/netlevel/8play2.spe [new file with mode: 0644]
abuse/netlevel/8play3.spe [new file with mode: 0644]
abuse/netlevel/8play4.spe [new file with mode: 0644]
abuse/sd_cache.tmp [new file with mode: 0644]
abuse/setup.ini [new file with mode: 0644]
abuse/sndcard.cfg [new file with mode: 0644]
abuse/src/ability.c [new file with mode: 0644]
abuse/src/ant.c [new file with mode: 0644]
abuse/src/automap.c [new file with mode: 0644]
abuse/src/cache.c [new file with mode: 0644]
abuse/src/calctrig.c [new file with mode: 0644]
abuse/src/chars.c [new file with mode: 0644]
abuse/src/chat.c [new file with mode: 0644]
abuse/src/chmorph.c [new file with mode: 0644]
abuse/src/client.c [new file with mode: 0644]
abuse/src/clisp.c [new file with mode: 0644]
abuse/src/collide.c [new file with mode: 0644]
abuse/src/compile.lsp [new file with mode: 0644]
abuse/src/compiled.c [new file with mode: 0644]
abuse/src/config.c [new file with mode: 0644]
abuse/src/console.c [new file with mode: 0644]
abuse/src/control.c [new file with mode: 0644]
abuse/src/cop.c [new file with mode: 0644]
abuse/src/crc.c [new file with mode: 0644]
abuse/src/demo.c [new file with mode: 0644]
abuse/src/dev.c [new file with mode: 0644]
abuse/src/dev.c~ [new file with mode: 0644]
abuse/src/devsel.c [new file with mode: 0644]
abuse/src/director.c [new file with mode: 0644]
abuse/src/dosnfc.c [new file with mode: 0644]
abuse/src/endgame.c [new file with mode: 0644]
abuse/src/extend.c [new file with mode: 0644]
abuse/src/fnt6x13.c [new file with mode: 0644]
abuse/src/game.c [new file with mode: 0644]
abuse/src/gamma.c [new file with mode: 0644]
abuse/src/go.c [new file with mode: 0644]
abuse/src/gui.c [new file with mode: 0644]
abuse/src/help.c [new file with mode: 0644]
abuse/src/human.c [new file with mode: 0644]
abuse/src/innet.c [new file with mode: 0644]
abuse/src/install.c [new file with mode: 0644]
abuse/src/intsect.c [new file with mode: 0644]
abuse/src/items.c [new file with mode: 0644]
abuse/src/keydrv [new file with mode: 0644]
abuse/src/keydrv.c [new file with mode: 0644]
abuse/src/keytest.c [new file with mode: 0644]
abuse/src/language.c [new file with mode: 0644]
abuse/src/lcache.c [new file with mode: 0644]
abuse/src/lcache2.c [new file with mode: 0644]
abuse/src/letters.c [new file with mode: 0644]
abuse/src/level.c [new file with mode: 0644]
abuse/src/light.c [new file with mode: 0644]
abuse/src/lisp.c [new file with mode: 0644]
abuse/src/lisp_gc.c [new file with mode: 0644]
abuse/src/lisp_mac.c [new file with mode: 0644]
abuse/src/lisp_opt.c [new file with mode: 0644]
abuse/src/loader2.c [new file with mode: 0644]
abuse/src/loadgame.c [new file with mode: 0644]
abuse/src/ltree.c [new file with mode: 0644]
abuse/src/makefile [new file with mode: 0644]
abuse/src/maker.c [new file with mode: 0644]
abuse/src/menu.c [new file with mode: 0644]
abuse/src/morpher.c [new file with mode: 0644]
abuse/src/net/dos4gw/bwtcp.c [new file with mode: 0644]
abuse/src/net/dos4gw/bwtcp.hpp [new file with mode: 0644]
abuse/src/net/dos4gw/ipx.c [new file with mode: 0644]
abuse/src/net/dos4gw/ipx_dud.c [new file with mode: 0644]
abuse/src/net/inc/indian.hpp [new file with mode: 0644]
abuse/src/net/inc/ipx.hpp [new file with mode: 0644]
abuse/src/net/inc/ipx.hpp~ [new file with mode: 0644]
abuse/src/net/inc/sock.hpp [new file with mode: 0644]
abuse/src/net/mac/atalk.c [new file with mode: 0644]
abuse/src/net/mac/atalk.hpp [new file with mode: 0644]
abuse/src/net/mac/atalk_util.c [new file with mode: 0644]
abuse/src/net/mac/ethtst.c [new file with mode: 0644]
abuse/src/net/mac/isllist1.hpp [new file with mode: 0644]
abuse/src/net/mac/listtst.cc [new file with mode: 0644]
abuse/src/net/mac/mactcp.c [new file with mode: 0644]
abuse/src/net/mac/mactcp.hpp [new file with mode: 0644]
abuse/src/net/mac/nettst.c [new file with mode: 0644]
abuse/src/net/mac/ottcp.c [new file with mode: 0644]
abuse/src/net/mac/ottcp.hpp [new file with mode: 0644]
abuse/src/net/mac/socktst.c [new file with mode: 0644]
abuse/src/net/mac/tcpip.c [new file with mode: 0644]
abuse/src/net/mac/tcpip.hpp [new file with mode: 0644]
abuse/src/net/mac/tstlist.cc [new file with mode: 0644]
abuse/src/net/sock.c [new file with mode: 0644]
abuse/src/net/unix/Makefile.SGI [new file with mode: 0644]
abuse/src/net/unix/Makefile.linux [new file with mode: 0644]
abuse/src/net/unix/endian.hpp [new file with mode: 0644]
abuse/src/net/unix/engine.c [new file with mode: 0644]
abuse/src/net/unix/engine.hpp [new file with mode: 0644]
abuse/src/net/unix/fileman.c [new file with mode: 0644]
abuse/src/net/unix/fileman.hpp [new file with mode: 0644]
abuse/src/net/unix/gclient.c [new file with mode: 0644]
abuse/src/net/unix/gclient.hpp [new file with mode: 0644]
abuse/src/net/unix/ghandler.hpp [new file with mode: 0644]
abuse/src/net/unix/gserver.c [new file with mode: 0644]
abuse/src/net/unix/gserver.hpp [new file with mode: 0644]
abuse/src/net/unix/maker.lsp [new file with mode: 0644]
abuse/src/net/unix/netdrv.c [new file with mode: 0644]
abuse/src/net/unix/netdrv.hpp [new file with mode: 0644]
abuse/src/net/unix/netfile.c [new file with mode: 0644]
abuse/src/net/unix/netfile.hpp [new file with mode: 0644]
abuse/src/net/unix/tcpip.c [new file with mode: 0644]
abuse/src/net/unix/tcpip.hpp [new file with mode: 0644]
abuse/src/net/unix/undrv [new file with mode: 0644]
abuse/src/net/unix/undrv.c [new file with mode: 0644]
abuse/src/net/unix/undrv.hpp [new file with mode: 0644]
abuse/src/net/unix/undrv.sgi [new file with mode: 0644]
abuse/src/net/unix/undrvo [new file with mode: 0644]
abuse/src/net/unix/undrvo.sgi [new file with mode: 0644]
abuse/src/net/unix/undrvx [new file with mode: 0644]
abuse/src/net/unix/undrvxo [new file with mode: 0644]
abuse/src/netcfg.c [new file with mode: 0644]
abuse/src/newlight.c [new file with mode: 0644]
abuse/src/nfclient.c [new file with mode: 0644]
abuse/src/nnetcode [new file with mode: 0644]
abuse/src/objects.c [new file with mode: 0644]
abuse/src/old.nfclient.c [new file with mode: 0644]
abuse/src/old.nfserver.c [new file with mode: 0644]
abuse/src/old_demo_code [new file with mode: 0644]
abuse/src/old_earth_menu.c [new file with mode: 0644]
abuse/src/old_server.c [new file with mode: 0644]
abuse/src/oldhelp.c [new file with mode: 0644]
abuse/src/parse.c [new file with mode: 0644]
abuse/src/particle.c [new file with mode: 0644]
abuse/src/pcxscale.c [new file with mode: 0644]
abuse/src/points.c [new file with mode: 0644]
abuse/src/profile.c [new file with mode: 0644]
abuse/src/property.c [new file with mode: 0644]
abuse/src/putline.asm [new file with mode: 0644]
abuse/src/putline2.asm [new file with mode: 0644]
abuse/src/ramfile.c [new file with mode: 0644]
abuse/src/remap.c [new file with mode: 0644]
abuse/src/remap.exe [new file with mode: 0644]
abuse/src/remap.lnk [new file with mode: 0644]
abuse/src/remap.map [new file with mode: 0644]
abuse/src/scene.c [new file with mode: 0644]
abuse/src/sensor.c [new file with mode: 0644]
abuse/src/seq.c [new file with mode: 0644]
abuse/src/server2.c [new file with mode: 0644]
abuse/src/setup.c [new file with mode: 0644]
abuse/src/smallfnt.c [new file with mode: 0644]
abuse/src/smoosh.c [new file with mode: 0644]
abuse/src/sndserver.c [new file with mode: 0644]
abuse/src/specache.c [new file with mode: 0644]
abuse/src/stack.c [new file with mode: 0644]
abuse/src/statbar.c [new file with mode: 0644]
abuse/src/status.c [new file with mode: 0644]
abuse/src/test2.c [new file with mode: 0644]
abuse/src/tester.c [new file with mode: 0644]
abuse/src/text_gui.c [new file with mode: 0644]
abuse/src/transp.c [new file with mode: 0644]
abuse/src/trig.c [new file with mode: 0644]
abuse/src/unixnfc.c [new file with mode: 0644]
abuse/src/username.c [new file with mode: 0644]
abuse/src/version.c [new file with mode: 0644]
abuse/src/view.c [new file with mode: 0644]
abuse/src_file.hh [new file with mode: 0644]
aclocal.m4 [new file with mode: 0644]
config.guess [new file with mode: 0644]
config.sub [new file with mode: 0644]
configure [new file with mode: 0644]
configure.in [new file with mode: 0644]
imlib/Makefile [new file with mode: 0644]
imlib/Makefile.AIX [new file with mode: 0644]
imlib/Makefile.SGI [new file with mode: 0644]
imlib/Makefile.am [new file with mode: 0644]
imlib/Makefile.in [new file with mode: 0644]
imlib/Makefile.linux [new file with mode: 0644]
imlib/acinclude.m4 [new file with mode: 0644]
imlib/aclocal.m4 [new file with mode: 0644]
imlib/configure [new file with mode: 0644]
imlib/configure.in [new file with mode: 0644]
imlib/convert.c [new file with mode: 0644]
imlib/decoder.c [new file with mode: 0644]
imlib/dprint.c [new file with mode: 0644]
imlib/err [new file with mode: 0644]
imlib/fff [new file with mode: 0644]
imlib/filesel.c [new file with mode: 0644]
imlib/filter.c [new file with mode: 0644]
imlib/fonts.c [new file with mode: 0644]
imlib/gifread.c [new file with mode: 0644]
imlib/globals.c [new file with mode: 0644]
imlib/glread.c [new file with mode: 0644]
imlib/glview.c [new file with mode: 0644]
imlib/guistat.c [new file with mode: 0644]
imlib/image.c [new file with mode: 0644]
imlib/image24.c [new file with mode: 0644]
imlib/include.c [new file with mode: 0644]
imlib/include/bitmap.h [new file with mode: 0644]
imlib/include/conio.h [new file with mode: 0644]
imlib/include/dir.h [new file with mode: 0644]
imlib/include/dos.h [new file with mode: 0644]
imlib/include/doscall.hpp [new file with mode: 0644]
imlib/include/dprint.hpp [new file with mode: 0644]
imlib/include/emm.hpp [new file with mode: 0644]
imlib/include/errs.h [new file with mode: 0644]
imlib/include/event.hpp [new file with mode: 0644]
imlib/include/exitproc.hpp [new file with mode: 0644]
imlib/include/filesel.hpp [new file with mode: 0644]
imlib/include/filter.hpp [new file with mode: 0644]
imlib/include/fonts.hpp [new file with mode: 0644]
imlib/include/gifdecod.hpp [new file with mode: 0644]
imlib/include/gifread.hpp [new file with mode: 0644]
imlib/include/globals.hpp [new file with mode: 0644]
imlib/include/glread.hpp [new file with mode: 0644]
imlib/include/guistat.hpp [new file with mode: 0644]
imlib/include/image.hpp [new file with mode: 0644]
imlib/include/image24.hpp [new file with mode: 0644]
imlib/include/include.hpp [new file with mode: 0644]
imlib/include/input.hpp [new file with mode: 0644]
imlib/include/jdir.hpp [new file with mode: 0644]
imlib/include/jmalloc.hpp [new file with mode: 0644]
imlib/include/jnet.hpp [new file with mode: 0644]
imlib/include/joy.hpp [new file with mode: 0644]
imlib/include/jrand.hpp [new file with mode: 0644]
imlib/include/jwindow.hpp [new file with mode: 0644]
imlib/include/keys.hpp [new file with mode: 0644]
imlib/include/lbmread.hpp [new file with mode: 0644]
imlib/include/linked.hpp [new file with mode: 0644]
imlib/include/loader.hpp [new file with mode: 0644]
imlib/include/macs.hpp [new file with mode: 0644]
imlib/include/main.hpp [new file with mode: 0644]
imlib/include/mdlread.hpp [new file with mode: 0644]
imlib/include/monoprnt.hpp [new file with mode: 0644]
imlib/include/morph.h [new file with mode: 0644]
imlib/include/morph.hpp [new file with mode: 0644]
imlib/include/mouse.hpp [new file with mode: 0644]
imlib/include/packet.hpp [new file with mode: 0644]
imlib/include/palette.hpp [new file with mode: 0644]
imlib/include/pcxread.hpp [new file with mode: 0644]
imlib/include/pmenu.hpp [new file with mode: 0644]
imlib/include/ppmread.hpp [new file with mode: 0644]
imlib/include/readwav.hpp [new file with mode: 0644]
imlib/include/scroller.hpp [new file with mode: 0644]
imlib/include/sdriver.hpp [new file with mode: 0644]
imlib/include/sound.hpp [new file with mode: 0644]
imlib/include/specs.hpp [new file with mode: 0644]
imlib/include/sprite.hpp [new file with mode: 0644]
imlib/include/status.hpp [new file with mode: 0644]
imlib/include/std.h [new file with mode: 0644]
imlib/include/supmorph.hpp [new file with mode: 0644]
imlib/include/system.h [new file with mode: 0644]
imlib/include/targa.hpp [new file with mode: 0644]
imlib/include/texture.hpp [new file with mode: 0644]
imlib/include/timage.hpp [new file with mode: 0644]
imlib/include/timer.hpp [new file with mode: 0644]
imlib/include/timing.hpp [new file with mode: 0644]
imlib/include/tools.hpp [new file with mode: 0644]
imlib/include/video.hpp [new file with mode: 0644]
imlib/include/visobj.hpp [new file with mode: 0644]
imlib/include/xinclude.h [new file with mode: 0644]
imlib/include/xwdread.hpp [new file with mode: 0644]
imlib/input.c [new file with mode: 0644]
imlib/jmalloc.c [new file with mode: 0644]
imlib/jrand.c [new file with mode: 0644]
imlib/jwindow.c [new file with mode: 0644]
imlib/keys.c [new file with mode: 0644]
imlib/lbmread.c [new file with mode: 0644]
imlib/linked.c [new file with mode: 0644]
imlib/loader.c [new file with mode: 0644]
imlib/makefile.wat [new file with mode: 0644]
imlib/makelink.lsp [new file with mode: 0644]
imlib/makemake.lsp [new file with mode: 0644]
imlib/maker.lsp [new file with mode: 0644]
imlib/mdlimage.c [new file with mode: 0644]
imlib/mdlread.c [new file with mode: 0644]
imlib/morph.c [new file with mode: 0644]
imlib/mouse.c [new file with mode: 0644]
imlib/noname.lnk [new file with mode: 0644]
imlib/nonameo.lnk [new file with mode: 0644]
imlib/oldjmalloc.c [new file with mode: 0644]
imlib/packet.c [new file with mode: 0644]
imlib/palette.c [new file with mode: 0644]
imlib/pcxread.c [new file with mode: 0644]
imlib/pmenu.c [new file with mode: 0644]
imlib/port/aix/Makefile [new file with mode: 0644]
imlib/port/aix/aix_sdrv.c [new file with mode: 0644]
imlib/port/aix/gen_drv.c [new file with mode: 0644]
imlib/port/aix/som.ir [new file with mode: 0644]
imlib/port/aix/sound.c [new file with mode: 0644]
imlib/port/aix_orig/Makefile [new file with mode: 0644]
imlib/port/aix_orig/aix_sdrv.c [new file with mode: 0644]
imlib/port/aix_orig/gen_drv.c [new file with mode: 0644]
imlib/port/aix_orig/som.ir [new file with mode: 0644]
imlib/port/aix_orig/sound.c [new file with mode: 0644]
imlib/port/dos4gw/bwtcp.c [new file with mode: 0644]
imlib/port/dos4gw/bwtcp.hpp [new file with mode: 0644]
imlib/port/dos4gw/doscall.c [new file with mode: 0644]
imlib/port/dos4gw/event.c [new file with mode: 0644]
imlib/port/dos4gw/ipx.c [new file with mode: 0644]
imlib/port/dos4gw/ipx.hpp [new file with mode: 0644]
imlib/port/dos4gw/ipxdocs [new file with mode: 0644]
imlib/port/dos4gw/ipxtest.c [new file with mode: 0644]
imlib/port/dos4gw/ipxtest.lnk [new file with mode: 0644]
imlib/port/dos4gw/ipxtesto.exe [new file with mode: 0644]
imlib/port/dos4gw/ipxtesto.lnk [new file with mode: 0644]
imlib/port/dos4gw/ipxtesto.map [new file with mode: 0644]
imlib/port/dos4gw/jdir.c [new file with mode: 0644]
imlib/port/dos4gw/jnet.c [new file with mode: 0644]
imlib/port/dos4gw/joystick.c [new file with mode: 0644]
imlib/port/dos4gw/makefile [new file with mode: 0644]
imlib/port/dos4gw/makefile.wat [new file with mode: 0644]
imlib/port/dos4gw/maker.lsp [new file with mode: 0644]
imlib/port/dos4gw/monoprnt.c [new file with mode: 0644]
imlib/port/dos4gw/mouse.c [new file with mode: 0644]
imlib/port/dos4gw/mtest.c [new file with mode: 0644]
imlib/port/dos4gw/mtest.exe [new file with mode: 0644]
imlib/port/dos4gw/profile.c [new file with mode: 0644]
imlib/port/dos4gw/profile.h [new file with mode: 0644]
imlib/port/dos4gw/sound.c [new file with mode: 0644]
imlib/port/dos4gw/sound2.c [new file with mode: 0644]
imlib/port/dos4gw/timing.c [new file with mode: 0644]
imlib/port/dos4gw/vcad.lnk [new file with mode: 0644]
imlib/port/dos4gw/vcado.lnk [new file with mode: 0644]
imlib/port/dos4gw/vcado.map [new file with mode: 0644]
imlib/port/dos4gw/vesatest.c [new file with mode: 0644]
imlib/port/dos4gw/video.c [new file with mode: 0644]
imlib/port/gl/video.c [new file with mode: 0644]
imlib/port/joystick.c [new file with mode: 0644]
imlib/port/linux/Makefile [new file with mode: 0644]
imlib/port/linux/joystick.c [new file with mode: 0644]
imlib/port/linux/lnx_sdrv.c [new file with mode: 0644]
imlib/port/linux/sound.c [new file with mode: 0644]
imlib/port/mac/MacFull.cpp [new file with mode: 0644]
imlib/port/mac/RequestVideo.c [new file with mode: 0644]
imlib/port/mac/RequestVideo.h [new file with mode: 0644]
imlib/port/mac/defines.h [new file with mode: 0644]
imlib/port/mac/event.c [new file with mode: 0644]
imlib/port/mac/jdir.c [new file with mode: 0644]
imlib/port/mac/joystick.c [new file with mode: 0644]
imlib/port/mac/mouse.c [new file with mode: 0644]
imlib/port/mac/sndtst.c [new file with mode: 0644]
imlib/port/mac/sound.c [new file with mode: 0644]
imlib/port/mac/timing.c [new file with mode: 0644]
imlib/port/mac/video.c [new file with mode: 0644]
imlib/port/maker.c [new file with mode: 0644]
imlib/port/oldports/evt_dos.c [new file with mode: 0644]
imlib/port/oldports/time_dos.c [new file with mode: 0644]
imlib/port/oldports/vid_dos.c [new file with mode: 0644]
imlib/port/sgi/Makefile [new file with mode: 0644]
imlib/port/sgi/gen_drv.c [new file with mode: 0644]
imlib/port/sgi/sgi_sdrv [new file with mode: 0644]
imlib/port/sgi/sgi_sdrv.c [new file with mode: 0644]
imlib/port/sgi/sound.c [new file with mode: 0644]
imlib/port/sgi/timing.c [new file with mode: 0644]
imlib/port/svga/event.c [new file with mode: 0644]
imlib/port/svga/monoprnt.c [new file with mode: 0644]
imlib/port/svga/mouse.c [new file with mode: 0644]
imlib/port/svga/video.c [new file with mode: 0644]
imlib/port/unix/Makefile [new file with mode: 0644]
imlib/port/unix/client [new file with mode: 0644]
imlib/port/unix/jdir.c [new file with mode: 0644]
imlib/port/unix/jnet.c [new file with mode: 0644]
imlib/port/unix/joystick.c [new file with mode: 0644]
imlib/port/unix/server [new file with mode: 0644]
imlib/port/unix/shm_client.c [new file with mode: 0644]
imlib/port/unix/shm_fifo.c [new file with mode: 0644]
imlib/port/unix/shm_fifo.hpp [new file with mode: 0644]
imlib/port/unix/shm_server.c [new file with mode: 0644]
imlib/port/unix/sound.c [new file with mode: 0644]
imlib/port/unix/timing.c [new file with mode: 0644]
imlib/port/x11/dfb.c [new file with mode: 0644]
imlib/port/x11/event.c [new file with mode: 0644]
imlib/port/x11/jwindow.c [new file with mode: 0644]
imlib/port/x11/monoprnt.c [new file with mode: 0644]
imlib/port/x11/mouse.c [new file with mode: 0644]
imlib/port/x11/video.c [new file with mode: 0644]
imlib/port/x11/video24.c [new file with mode: 0644]
imlib/ppmread.c [new file with mode: 0644]
imlib/readwav.c [new file with mode: 0644]
imlib/readxwd.c [new file with mode: 0644]
imlib/scroller.c [new file with mode: 0644]
imlib/specs.c [new file with mode: 0644]
imlib/sprite.c [new file with mode: 0644]
imlib/status.c [new file with mode: 0644]
imlib/supmorph.c [new file with mode: 0644]
imlib/targa.c [new file with mode: 0644]
imlib/texture.c [new file with mode: 0644]
imlib/timage.c [new file with mode: 0644]
imlib/timer.c [new file with mode: 0644]
imlib/tools.c [new file with mode: 0644]
imlib/tree.c [new file with mode: 0644]
imlib/unpackgl.c [new file with mode: 0644]
imlib/visobj.c [new file with mode: 0644]
imlib/wildargv.c [new file with mode: 0644]
imlib/xwdread.c [new file with mode: 0644]
install-sh [new file with mode: 0644]
macabuse/Makefile [new file with mode: 0644]
macabuse/abuse.lsp [new file with mode: 0644]
macabuse/change.log [new file with mode: 0644]
macabuse/defaults.prp [new file with mode: 0644]
macabuse/gamma.lsp [new file with mode: 0644]
macabuse/hardness.lsp [new file with mode: 0644]
macabuse/imlib/Makefile.linux [new file with mode: 0644]
macabuse/imlib/convert.c [new file with mode: 0644]
macabuse/imlib/decoder.c [new file with mode: 0644]
macabuse/imlib/dprint.c [new file with mode: 0644]
macabuse/imlib/fff [new file with mode: 0644]
macabuse/imlib/filesel.c [new file with mode: 0644]
macabuse/imlib/filter.c [new file with mode: 0644]
macabuse/imlib/fonts.c [new file with mode: 0644]
macabuse/imlib/gifread.c [new file with mode: 0644]
macabuse/imlib/gifread.err [new file with mode: 0644]
macabuse/imlib/globals.c [new file with mode: 0644]
macabuse/imlib/glread.c [new file with mode: 0644]
macabuse/imlib/glview.c [new file with mode: 0644]
macabuse/imlib/guistat.c [new file with mode: 0644]
macabuse/imlib/image.c [new file with mode: 0644]
macabuse/imlib/image24.c [new file with mode: 0644]
macabuse/imlib/include.c [new file with mode: 0644]
macabuse/imlib/include/bitmap.h [new file with mode: 0644]
macabuse/imlib/include/conio.h [new file with mode: 0644]
macabuse/imlib/include/dir.h [new file with mode: 0644]
macabuse/imlib/include/dos.h [new file with mode: 0644]
macabuse/imlib/include/doscall.hpp [new file with mode: 0644]
macabuse/imlib/include/dprint.hpp [new file with mode: 0644]
macabuse/imlib/include/emm.hpp [new file with mode: 0644]
macabuse/imlib/include/errs.h [new file with mode: 0644]
macabuse/imlib/include/event.hpp [new file with mode: 0644]
macabuse/imlib/include/exitproc.hpp [new file with mode: 0644]
macabuse/imlib/include/filesel.hpp [new file with mode: 0644]
macabuse/imlib/include/filter.hpp [new file with mode: 0644]
macabuse/imlib/include/fonts.hpp [new file with mode: 0644]
macabuse/imlib/include/gifdecod.hpp [new file with mode: 0644]
macabuse/imlib/include/gifread.hpp [new file with mode: 0644]
macabuse/imlib/include/globals.hpp [new file with mode: 0644]
macabuse/imlib/include/glread.hpp [new file with mode: 0644]
macabuse/imlib/include/guistat.hpp [new file with mode: 0644]
macabuse/imlib/include/image.hpp [new file with mode: 0644]
macabuse/imlib/include/image24.hpp [new file with mode: 0644]
macabuse/imlib/include/include.hpp [new file with mode: 0644]
macabuse/imlib/include/input.hpp [new file with mode: 0644]
macabuse/imlib/include/jdir.hpp [new file with mode: 0644]
macabuse/imlib/include/jmalloc.hpp [new file with mode: 0644]
macabuse/imlib/include/jnet.hpp [new file with mode: 0644]
macabuse/imlib/include/joy.hpp [new file with mode: 0644]
macabuse/imlib/include/jrand.hpp [new file with mode: 0644]
macabuse/imlib/include/jwindow.hpp [new file with mode: 0644]
macabuse/imlib/include/keys.hpp [new file with mode: 0644]
macabuse/imlib/include/lbmread.hpp [new file with mode: 0644]
macabuse/imlib/include/linked.hpp [new file with mode: 0644]
macabuse/imlib/include/loader.hpp [new file with mode: 0644]
macabuse/imlib/include/macs.hpp [new file with mode: 0644]
macabuse/imlib/include/main.hpp [new file with mode: 0644]
macabuse/imlib/include/mdlread.hpp [new file with mode: 0644]
macabuse/imlib/include/monoprnt.hpp [new file with mode: 0644]
macabuse/imlib/include/morph.h [new file with mode: 0644]
macabuse/imlib/include/morph.hpp [new file with mode: 0644]
macabuse/imlib/include/mouse.hpp [new file with mode: 0644]
macabuse/imlib/include/packet.hpp [new file with mode: 0644]
macabuse/imlib/include/palette.hpp [new file with mode: 0644]
macabuse/imlib/include/pcxread.hpp [new file with mode: 0644]
macabuse/imlib/include/pmenu.hpp [new file with mode: 0644]
macabuse/imlib/include/ppmread.hpp [new file with mode: 0644]
macabuse/imlib/include/readwav.hpp [new file with mode: 0644]
macabuse/imlib/include/scroller.hpp [new file with mode: 0644]
macabuse/imlib/include/sdriver.hpp [new file with mode: 0644]
macabuse/imlib/include/sound.hpp [new file with mode: 0644]
macabuse/imlib/include/specs.hpp [new file with mode: 0644]
macabuse/imlib/include/sprite.hpp [new file with mode: 0644]
macabuse/imlib/include/status.hpp [new file with mode: 0644]
macabuse/imlib/include/std.h [new file with mode: 0644]
macabuse/imlib/include/supmorph.hpp [new file with mode: 0644]
macabuse/imlib/include/system.h [new file with mode: 0644]
macabuse/imlib/include/texture.hpp [new file with mode: 0644]
macabuse/imlib/include/timage.hpp [new file with mode: 0644]
macabuse/imlib/include/timer.hpp [new file with mode: 0644]
macabuse/imlib/include/timing.hpp [new file with mode: 0644]
macabuse/imlib/include/tools.hpp [new file with mode: 0644]
macabuse/imlib/include/video.hpp [new file with mode: 0644]
macabuse/imlib/include/visobj.hpp [new file with mode: 0644]
macabuse/imlib/include/xinclude.h [new file with mode: 0644]
macabuse/imlib/include/xwdread.hpp [new file with mode: 0644]
macabuse/imlib/input.c [new file with mode: 0644]
macabuse/imlib/jmalloc.c [new file with mode: 0644]
macabuse/imlib/jrand.c [new file with mode: 0644]
macabuse/imlib/jwindow.c [new file with mode: 0644]
macabuse/imlib/keys.c [new file with mode: 0644]
macabuse/imlib/lbmread.c [new file with mode: 0644]
macabuse/imlib/linked.c [new file with mode: 0644]
macabuse/imlib/loader.c [new file with mode: 0644]
macabuse/imlib/makelink.lsp [new file with mode: 0644]
macabuse/imlib/makemake.lsp [new file with mode: 0644]
macabuse/imlib/maker.lsp [new file with mode: 0644]
macabuse/imlib/mdlimage.c [new file with mode: 0644]
macabuse/imlib/mdlread.c [new file with mode: 0644]
macabuse/imlib/morph.c [new file with mode: 0644]
macabuse/imlib/mouse.c [new file with mode: 0644]
macabuse/imlib/oldjmalloc.c [new file with mode: 0644]
macabuse/imlib/packet.c [new file with mode: 0644]
macabuse/imlib/palette.c [new file with mode: 0644]
macabuse/imlib/pcxread.c [new file with mode: 0644]
macabuse/imlib/pmenu.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/bwtcp.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/doscall.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/event.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/ipx.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/ipxtest.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/jdir.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/jnet.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/joystick.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/monoprnt.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/mouse.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/mtest.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/profile.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/sound.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/sound2.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/timing.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/vesatest.c [new file with mode: 0644]
macabuse/imlib/port/dos4gw/video.c [new file with mode: 0644]
macabuse/imlib/port/gl/video.c [new file with mode: 0644]
macabuse/imlib/port/mac/Mac OS PPC C [new file with mode: 0644]
macabuse/imlib/port/mac/MacFull.cpp [new file with mode: 0644]
macabuse/imlib/port/mac/RequestVideo.c [new file with mode: 0644]
macabuse/imlib/port/mac/RequestVideo.h [new file with mode: 0644]
macabuse/imlib/port/mac/defines.h [new file with mode: 0644]
macabuse/imlib/port/mac/dirent.c [new file with mode: 0644]
macabuse/imlib/port/mac/dirent.h [new file with mode: 0644]
macabuse/imlib/port/mac/event.c [new file with mode: 0644]
macabuse/imlib/port/mac/fulllst.c [new file with mode: 0644]
macabuse/imlib/port/mac/hack.hpp [new file with mode: 0644]
macabuse/imlib/port/mac/jdir.c [new file with mode: 0644]
macabuse/imlib/port/mac/joystick.c [new file with mode: 0644]
macabuse/imlib/port/mac/mackeys.hpp [new file with mode: 0644]
macabuse/imlib/port/mac/macstat.c [new file with mode: 0644]
macabuse/imlib/port/mac/macstat.hpp [new file with mode: 0644]
macabuse/imlib/port/mac/mouse.c [new file with mode: 0644]
macabuse/imlib/port/mac/sndtst.c [new file with mode: 0644]
macabuse/imlib/port/mac/sound.c [new file with mode: 0644]
macabuse/imlib/port/mac/sys_dirent.h [new file with mode: 0644]
macabuse/imlib/port/mac/test/tt.txt [new file with mode: 0644]
macabuse/imlib/port/mac/timing.c [new file with mode: 0644]
macabuse/imlib/port/mac/try_files.c [new file with mode: 0644]
macabuse/imlib/port/mac/video.c [new file with mode: 0644]
macabuse/imlib/port/sgi/Makefile [new file with mode: 0644]
macabuse/imlib/port/sgi/gen_drv.c [new file with mode: 0644]
macabuse/imlib/port/sgi/sgi_sdrv [new file with mode: 0644]
macabuse/imlib/port/sgi/sgi_sdrv.c [new file with mode: 0644]
macabuse/imlib/port/sgi/sound.c [new file with mode: 0644]
macabuse/imlib/port/sgi/timing.c [new file with mode: 0644]
macabuse/imlib/port/svga/event.c [new file with mode: 0644]
macabuse/imlib/port/svga/monoprnt.c [new file with mode: 0644]
macabuse/imlib/port/svga/mouse.c [new file with mode: 0644]
macabuse/imlib/port/svga/video.c [new file with mode: 0644]
macabuse/imlib/port/unix/Makefile [new file with mode: 0644]
macabuse/imlib/port/unix/client [new file with mode: 0644]
macabuse/imlib/port/unix/jdir.c [new file with mode: 0644]
macabuse/imlib/port/unix/jnet.c [new file with mode: 0644]
macabuse/imlib/port/unix/joystick.c [new file with mode: 0644]
macabuse/imlib/port/unix/server [new file with mode: 0644]
macabuse/imlib/port/unix/shm_client.c [new file with mode: 0644]
macabuse/imlib/port/unix/shm_fifo.c [new file with mode: 0644]
macabuse/imlib/port/unix/shm_fifo.hpp [new file with mode: 0644]
macabuse/imlib/port/unix/shm_server.c [new file with mode: 0644]
macabuse/imlib/port/unix/sound.c [new file with mode: 0644]
macabuse/imlib/port/unix/timing.c [new file with mode: 0644]
macabuse/imlib/port/x11/event.c [new file with mode: 0644]
macabuse/imlib/port/x11/jwindow.c [new file with mode: 0644]
macabuse/imlib/port/x11/monoprnt.c [new file with mode: 0644]
macabuse/imlib/port/x11/mouse.c [new file with mode: 0644]
macabuse/imlib/port/x11/video.c [new file with mode: 0644]
macabuse/imlib/port/x11/video24.c [new file with mode: 0644]
macabuse/imlib/ppmread.c [new file with mode: 0644]
macabuse/imlib/readwav.c [new file with mode: 0644]
macabuse/imlib/readxwd.c [new file with mode: 0644]
macabuse/imlib/scroller.c [new file with mode: 0644]
macabuse/imlib/sfx_switch01.wav [new file with mode: 0644]
macabuse/imlib/sndtst.rsrc [new file with mode: 0644]
macabuse/imlib/specs.c [new file with mode: 0644]
macabuse/imlib/sprite.c [new file with mode: 0644]
macabuse/imlib/sprite.err [new file with mode: 0644]
macabuse/imlib/status.c [new file with mode: 0644]
macabuse/imlib/supmorph.c [new file with mode: 0644]
macabuse/imlib/texture.c [new file with mode: 0644]
macabuse/imlib/timage.c [new file with mode: 0644]
macabuse/imlib/timer.c [new file with mode: 0644]
macabuse/imlib/tools.c [new file with mode: 0644]
macabuse/imlib/tree.c [new file with mode: 0644]
macabuse/imlib/unpackgl.c [new file with mode: 0644]
macabuse/imlib/untitled [new file with mode: 0644]
macabuse/imlib/visobj.c [new file with mode: 0644]
macabuse/imlib/wildargv.c [new file with mode: 0644]
macabuse/imlib/xwdread.c [new file with mode: 0644]
macabuse/inc/ability.hpp [new file with mode: 0644]
macabuse/inc/ant.hpp [new file with mode: 0644]
macabuse/inc/automap.hpp [new file with mode: 0644]
macabuse/inc/bus_type.hpp [new file with mode: 0644]
macabuse/inc/cache.hpp [new file with mode: 0644]
macabuse/inc/chars.hpp [new file with mode: 0644]
macabuse/inc/chat.hpp [new file with mode: 0644]
macabuse/inc/chmorph.hpp [new file with mode: 0644]
macabuse/inc/client.hpp [new file with mode: 0644]
macabuse/inc/clisp.hpp [new file with mode: 0644]
macabuse/inc/compiled.hpp [new file with mode: 0644]
macabuse/inc/config.hpp [new file with mode: 0644]
macabuse/inc/console.hpp [new file with mode: 0644]
macabuse/inc/control.hpp [new file with mode: 0644]
macabuse/inc/cop.hpp [new file with mode: 0644]
macabuse/inc/crc.hpp [new file with mode: 0644]
macabuse/inc/demo.hpp [new file with mode: 0644]
macabuse/inc/dev.hpp [new file with mode: 0644]
macabuse/inc/devsel.hpp [new file with mode: 0644]
macabuse/inc/director.hpp [new file with mode: 0644]
macabuse/inc/extend.hpp [new file with mode: 0644]
macabuse/inc/fakelib.hpp [new file with mode: 0644]
macabuse/inc/game.hpp [new file with mode: 0644]
macabuse/inc/gamma.hpp [new file with mode: 0644]
macabuse/inc/go.hpp [new file with mode: 0644]
macabuse/inc/gui.hpp [new file with mode: 0644]
macabuse/inc/help.hpp [new file with mode: 0644]
macabuse/inc/human.hpp [new file with mode: 0644]
macabuse/inc/id.hpp [new file with mode: 0644]
macabuse/inc/idle.hpp [new file with mode: 0644]
macabuse/inc/intsect.hpp [new file with mode: 0644]
macabuse/inc/isllist.hpp [new file with mode: 0644]
macabuse/inc/items.hpp [new file with mode: 0644]
macabuse/inc/key_cfg.hpp [new file with mode: 0644]
macabuse/inc/language.hpp [new file with mode: 0644]
macabuse/inc/laser.hpp [new file with mode: 0644]
macabuse/inc/lcache.hpp [new file with mode: 0644]
macabuse/inc/lcaller.hpp [new file with mode: 0644]
macabuse/inc/level.hpp [new file with mode: 0644]
macabuse/inc/light.hpp [new file with mode: 0644]
macabuse/inc/lisp.hpp [new file with mode: 0644]
macabuse/inc/lisp2.hpp [new file with mode: 0644]
macabuse/inc/lisp_gc.hpp [new file with mode: 0644]
macabuse/inc/lisp_opt.hpp [new file with mode: 0644]
macabuse/inc/lmenu.hpp [new file with mode: 0644]
macabuse/inc/loader2.hpp [new file with mode: 0644]
macabuse/inc/loadgame.hpp [new file with mode: 0644]
macabuse/inc/macgame.hpp [new file with mode: 0644]
macabuse/inc/menu.hpp [new file with mode: 0644]
macabuse/inc/mono_cfg.hpp [new file with mode: 0644]
macabuse/inc/morpher.hpp [new file with mode: 0644]
macabuse/inc/netcfg.hpp [new file with mode: 0644]
macabuse/inc/netface.hpp [new file with mode: 0644]
macabuse/inc/netstat.hpp [new file with mode: 0644]
macabuse/inc/nfclient.hpp [new file with mode: 0644]
macabuse/inc/nfserver.hpp [new file with mode: 0644]
macabuse/inc/objects.hpp [new file with mode: 0644]
macabuse/inc/parse.hpp [new file with mode: 0644]
macabuse/inc/particle.hpp [new file with mode: 0644]
macabuse/inc/points.hpp [new file with mode: 0644]
macabuse/inc/profile.hpp [new file with mode: 0644]
macabuse/inc/property.hpp [new file with mode: 0644]
macabuse/inc/ramfile.hpp [new file with mode: 0644]
macabuse/inc/sbar.hpp [new file with mode: 0644]
macabuse/inc/scene.hpp [new file with mode: 0644]
macabuse/inc/seq.hpp [new file with mode: 0644]
macabuse/inc/server2.hpp [new file with mode: 0644]
macabuse/inc/specache.hpp [new file with mode: 0644]
macabuse/inc/stack.hpp [new file with mode: 0644]
macabuse/inc/text_gui.hpp [new file with mode: 0644]
macabuse/inc/tiles.hpp [new file with mode: 0644]
macabuse/inc/transp.hpp [new file with mode: 0644]
macabuse/inc/view.hpp [new file with mode: 0644]
macabuse/install.rsrc [new file with mode: 0644]
macabuse/light.tbl [new file with mode: 0644]
macabuse/mackeys.lsp [new file with mode: 0644]
macabuse/maker.lnk [new file with mode: 0644]
macabuse/maker.lsp [new file with mode: 0644]
macabuse/src/Makefile [new file with mode: 0644]
macabuse/src/Makefile.linux [new file with mode: 0644]
macabuse/src/ability.c [new file with mode: 0644]
macabuse/src/ant.c [new file with mode: 0644]
macabuse/src/ant.hpp [new file with mode: 0644]
macabuse/src/automap.c [new file with mode: 0644]
macabuse/src/cache.c [new file with mode: 0644]
macabuse/src/calctrig.c [new file with mode: 0644]
macabuse/src/chars.c [new file with mode: 0644]
macabuse/src/chat.c [new file with mode: 0644]
macabuse/src/chmorph.c [new file with mode: 0644]
macabuse/src/client.c [new file with mode: 0644]
macabuse/src/clisp.c [new file with mode: 0644]
macabuse/src/clisp2.c [new file with mode: 0644]
macabuse/src/collide.c [new file with mode: 0644]
macabuse/src/compile.lsp [new file with mode: 0644]
macabuse/src/compiled.c [new file with mode: 0644]
macabuse/src/config.c [new file with mode: 0644]
macabuse/src/console.c [new file with mode: 0644]
macabuse/src/control.c [new file with mode: 0644]
macabuse/src/cop.c [new file with mode: 0644]
macabuse/src/crc.c [new file with mode: 0644]
macabuse/src/demo.c [new file with mode: 0644]
macabuse/src/dev.c [new file with mode: 0644]
macabuse/src/devsel.c [new file with mode: 0644]
macabuse/src/director.c [new file with mode: 0644]
macabuse/src/dosnfc.c [new file with mode: 0644]
macabuse/src/endgame.c [new file with mode: 0644]
macabuse/src/extend.c [new file with mode: 0644]
macabuse/src/fnt6x13.c [new file with mode: 0644]
macabuse/src/game.c [new file with mode: 0644]
macabuse/src/game.c.new [new file with mode: 0644]
macabuse/src/gamma.c [new file with mode: 0644]
macabuse/src/go.c [new file with mode: 0644]
macabuse/src/gui.c [new file with mode: 0644]
macabuse/src/help.c [new file with mode: 0644]
macabuse/src/human.c [new file with mode: 0644]
macabuse/src/idle.c [new file with mode: 0644]
macabuse/src/innet.c [new file with mode: 0644]
macabuse/src/install.c [new file with mode: 0644]
macabuse/src/intsect.c [new file with mode: 0644]
macabuse/src/items.c [new file with mode: 0644]
macabuse/src/key_cfg.c [new file with mode: 0644]
macabuse/src/keydrv [new file with mode: 0644]
macabuse/src/keydrv.c [new file with mode: 0644]
macabuse/src/keytest.c [new file with mode: 0644]
macabuse/src/language.c [new file with mode: 0644]
macabuse/src/lcache.c [new file with mode: 0644]
macabuse/src/lcache2.c [new file with mode: 0644]
macabuse/src/letters.c [new file with mode: 0644]
macabuse/src/level.c [new file with mode: 0644]
macabuse/src/light.c [new file with mode: 0644]
macabuse/src/lisp.c [new file with mode: 0644]
macabuse/src/lisp_gc.c [new file with mode: 0644]
macabuse/src/lisp_mac.c [new file with mode: 0644]
macabuse/src/lisp_opt.c [new file with mode: 0644]
macabuse/src/loader2.c [new file with mode: 0644]
macabuse/src/loadgame.c [new file with mode: 0644]
macabuse/src/ltree.c [new file with mode: 0644]
macabuse/src/macgame.c [new file with mode: 0644]
macabuse/src/maker.c [new file with mode: 0644]
macabuse/src/menu.c [new file with mode: 0644]
macabuse/src/mono_cfg.c [new file with mode: 0644]
macabuse/src/morpher.c [new file with mode: 0644]
macabuse/src/net/inc.tou [new file with mode: 0644]
macabuse/src/net/inc/indian.hpp [new file with mode: 0644]
macabuse/src/net/inc/ipx.hpp [new file with mode: 0644]
macabuse/src/net/inc/sock.hpp [new file with mode: 0644]
macabuse/src/net/mac.tou [new file with mode: 0644]
macabuse/src/net/mac/adsptst.c [new file with mode: 0644]
macabuse/src/net/mac/atalk.c [new file with mode: 0644]
macabuse/src/net/mac/atalk.hpp [new file with mode: 0644]
macabuse/src/net/mac/atalk_util.c [new file with mode: 0644]
macabuse/src/net/mac/atalk_util.hpp [new file with mode: 0644]
macabuse/src/net/mac/ddplisten.c [new file with mode: 0644]
macabuse/src/net/mac/ddplisten.hpp [new file with mode: 0644]
macabuse/src/net/mac/ddplisten_ppc.c [new file with mode: 0644]
macabuse/src/net/mac/ddplisten_ppc_bak.c [new file with mode: 0644]
macabuse/src/net/mac/ddptst.c [new file with mode: 0644]
macabuse/src/net/mac/ethtst [new file with mode: 0644]
macabuse/src/net/mac/ethtst.c [new file with mode: 0644]
macabuse/src/net/mac/gusitest [new file with mode: 0644]
macabuse/src/net/mac/isllist.hpp [new file with mode: 0644]
macabuse/src/net/mac/isllist1.hpp [new file with mode: 0644]
macabuse/src/net/mac/listtst [new file with mode: 0644]
macabuse/src/net/mac/listtst.cc [new file with mode: 0644]
macabuse/src/net/mac/mactcp.c [new file with mode: 0644]
macabuse/src/net/mac/mactcp.hpp [new file with mode: 0644]
macabuse/src/net/mac/nettst.c [new file with mode: 0644]
macabuse/src/net/mac/ottcp.c [new file with mode: 0644]
macabuse/src/net/mac/ottcp.hpp [new file with mode: 0644]
macabuse/src/net/mac/ottcptest [new file with mode: 0644]
macabuse/src/net/mac/socktst.c [new file with mode: 0644]
macabuse/src/net/mac/tcpip.c [new file with mode: 0644]
macabuse/src/net/mac/tcpip.hpp [new file with mode: 0644]
macabuse/src/net/mac/tstlist.cc [new file with mode: 0644]
macabuse/src/net/sock.c [new file with mode: 0644]
macabuse/src/net/unix.tou [new file with mode: 0644]
macabuse/src/net/unix/Makefile.SGI [new file with mode: 0644]
macabuse/src/net/unix/Makefile.linux [new file with mode: 0644]
macabuse/src/net/unix/endian.hpp [new file with mode: 0644]
macabuse/src/net/unix/engine.c [new file with mode: 0644]
macabuse/src/net/unix/engine.hpp [new file with mode: 0644]
macabuse/src/net/unix/fileman.c [new file with mode: 0644]
macabuse/src/net/unix/fileman.hpp [new file with mode: 0644]
macabuse/src/net/unix/gclient.c [new file with mode: 0644]
macabuse/src/net/unix/gclient.hpp [new file with mode: 0644]
macabuse/src/net/unix/ghandler.hpp [new file with mode: 0644]
macabuse/src/net/unix/gserver.c [new file with mode: 0644]
macabuse/src/net/unix/gserver.hpp [new file with mode: 0644]
macabuse/src/net/unix/maker.lsp [new file with mode: 0644]
macabuse/src/net/unix/netdrv.c [new file with mode: 0644]
macabuse/src/net/unix/netdrv.hpp [new file with mode: 0644]
macabuse/src/net/unix/netfile.c [new file with mode: 0644]
macabuse/src/net/unix/netfile.hpp [new file with mode: 0644]
macabuse/src/net/unix/tcpip.c [new file with mode: 0644]
macabuse/src/net/unix/tcpip.hpp [new file with mode: 0644]
macabuse/src/net/unix/undrv.c [new file with mode: 0644]
macabuse/src/net/unix/undrv.hpp [new file with mode: 0644]
macabuse/src/netcfg.c [new file with mode: 0644]
macabuse/src/netstat.c [new file with mode: 0644]
macabuse/src/newlight.c [new file with mode: 0644]
macabuse/src/nfclient.c [new file with mode: 0644]
macabuse/src/nnetcode [new file with mode: 0644]
macabuse/src/objects.c [new file with mode: 0644]
macabuse/src/old.nfclient.c [new file with mode: 0644]
macabuse/src/old.nfserver.c [new file with mode: 0644]
macabuse/src/old_demo_code [new file with mode: 0644]
macabuse/src/old_earth_menu.c [new file with mode: 0644]
macabuse/src/old_server.c [new file with mode: 0644]
macabuse/src/oldhelp.c [new file with mode: 0644]
macabuse/src/parse.c [new file with mode: 0644]
macabuse/src/particle.c [new file with mode: 0644]
macabuse/src/pcxscale.c [new file with mode: 0644]
macabuse/src/points.c [new file with mode: 0644]
macabuse/src/profile.c [new file with mode: 0644]
macabuse/src/property.c [new file with mode: 0644]
macabuse/src/quadruple.s [new file with mode: 0644]
macabuse/src/ramfile.c [new file with mode: 0644]
macabuse/src/remap.c [new file with mode: 0644]
macabuse/src/scene.c [new file with mode: 0644]
macabuse/src/sensor.c [new file with mode: 0644]
macabuse/src/seq.c [new file with mode: 0644]
macabuse/src/server2.c [new file with mode: 0644]
macabuse/src/setup.c [new file with mode: 0644]
macabuse/src/smallfnt.c [new file with mode: 0644]
macabuse/src/smoosh.c [new file with mode: 0644]
macabuse/src/sndserver.c [new file with mode: 0644]
macabuse/src/specache.c [new file with mode: 0644]
macabuse/src/stack.c [new file with mode: 0644]
macabuse/src/statbar.c [new file with mode: 0644]
macabuse/src/status.c [new file with mode: 0644]
macabuse/src/test2.c [new file with mode: 0644]
macabuse/src/tester.c [new file with mode: 0644]
macabuse/src/text_gui.c [new file with mode: 0644]
macabuse/src/transp.c [new file with mode: 0644]
macabuse/src/trig.c [new file with mode: 0644]
macabuse/src/unixnfc.c [new file with mode: 0644]
macabuse/src/username.c [new file with mode: 0644]
macabuse/src/version.c [new file with mode: 0644]
macabuse/src/view.c [new file with mode: 0644]
macabuse/src/zonesel.c [new file with mode: 0644]
missing [new file with mode: 0644]
mkinstalldirs [new file with mode: 0644]

diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..63d7e70
--- /dev/null
@@ -0,0 +1,8 @@
+SUBDIRS = imlib abuse
+
+debug:
+       $(MAKE) DEFS='-DMANAGE_MEM -DMEM_CHECK' CXXFLAGS=-g
+opt:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS=-O2
+profile:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS='-O2 -g -pg'
diff --git a/Makefile.in b/Makefile.in
new file mode 100644 (file)
index 0000000..90ea124
--- /dev/null
@@ -0,0 +1,279 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+
+SUBDIRS = imlib abuse
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES = 
+DIST_COMMON =  Makefile.am Makefile.in aclocal.m4 config.guess \
+config.sub configure configure.in install-sh missing mkinstalldirs
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP = --best
+default: all
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+       cd $(top_builddir) \
+         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4):  configure.in 
+       cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure
+       $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+       cd $(srcdir) && $(AUTOCONF)
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive  \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       for subdir in $(SUBDIRS); do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+       @set fnord $(MAKEFLAGS); amf=$$2; \
+       rev=''; for subdir in $(SUBDIRS); do rev="$$rev $$subdir"; done; \
+       for subdir in $$rev; do \
+         target=`echo $@ | sed s/-recursive//`; \
+         echo "Making $$target in $$subdir"; \
+         (cd $$subdir && $(MAKE) $$target) \
+          || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+       done && test -z "$$fail"
+tags-recursive:
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         (cd $$subdir && $(MAKE) tags); \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       list='$(SUBDIRS)'; for subdir in $$list; do \
+         test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+       done; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       rm -rf $(distdir)
+       GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+       mkdir $(distdir)/=build
+       mkdir $(distdir)/=inst
+       dc_install_base=`cd $(distdir)/=inst && pwd`; \
+       cd $(distdir)/=build \
+         && ../configure --srcdir=.. --prefix=$$dc_install_base \
+         && $(MAKE) \
+         && $(MAKE) dvi \
+         && $(MAKE) check \
+         && $(MAKE) install \
+         && $(MAKE) installcheck \
+         && $(MAKE) dist
+       rm -rf $(distdir)
+       @echo "========================"; \
+       echo "$(distdir).tar.gz is ready for distribution"; \
+       echo "========================"
+dist: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+dist-all: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+distdir: $(DISTFILES)
+       rm -rf $(distdir)
+       mkdir $(distdir)
+       -chmod 777 $(distdir)
+       here=`cd $(top_builddir) && pwd`; \
+       top_distdir=`cd $(top_distdir) && pwd`; \
+       cd $(top_srcdir) \
+         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+       for subdir in $(SUBDIRS); do            \
+         test -d $(distdir)/$$subdir           \
+         || mkdir $(distdir)/$$subdir          \
+         || exit 1;                            \
+         chmod 777 $(distdir)/$$subdir;        \
+         (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
+           || exit 1; \
+       done
+info: info-recursive
+dvi: dvi-recursive
+check: all-am
+       $(MAKE) check-recursive
+installcheck: installcheck-recursive
+all-am: Makefile
+
+install-exec: install-exec-recursive
+       @$(NORMAL_INSTALL)
+
+install-data: install-data-recursive
+       @$(NORMAL_INSTALL)
+
+install: install-recursive
+       @:
+
+uninstall: uninstall-recursive
+
+all: all-recursive all-am
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs: installdirs-recursive
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean-am:  mostlyclean-tags mostlyclean-generic
+
+clean-am:  clean-tags clean-generic mostlyclean-am
+
+distclean-am:  distclean-tags distclean-generic clean-am
+
+maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
+               distclean-am
+
+mostlyclean:  mostlyclean-recursive mostlyclean-am
+
+clean:  clean-recursive clean-am
+
+distclean:  distclean-recursive distclean-am
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-recursive maintainer-clean-am
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f config.status
+
+.PHONY: default install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
+installcheck all-am install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+debug:
+       $(MAKE) DEFS='-DMANAGE_MEM -DMEM_CHECK' CXXFLAGS=-g
+opt:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS=-O2
+profile:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS='-O2 -g -pg'
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..b3a0cab
--- /dev/null
+++ b/README
@@ -0,0 +1,103 @@
+Crack dot Com is hereby releasing the source code to Abuse to the
+public domain.
+
+Ownership:
+
+  The following are statements of Crack dot Com's ownership.  These
+  items are NOT being submitted to the public domain.
+
+    Crack dot Com retains ownership of the Abuse trademark.
+    Crack dot Com retains ownership of the Crack dot Com trademark.
+    Crack dot Com retains ownership of the Abuse "retail" data set.
+    Crack dot Com retains ownership of the Abuse "registered" data set.
+
+  The "retail" and "registered" data sets are defined as the levels,
+  sound effects, music, artwork and other data which are NOT common to the
+  "shareware" release of the game.
+
+Licenses and Third Party Owners:
+
+  Crack licensed the DOS Abuse rights to Electronic Arts and the Mac Abuse
+  rights to Bungie.  Crack is therefore NOT releasing the full data set to
+  the public domain to protect EA's and Bungie's investments in the product.
+
+  Sound effects found in the shareware release of Abuse are the copyright of
+  Bobby Prince and are not being submitted to the public domain.
+
+Disclaimer of Waranty:
+
+  As with most public domain software, no warranty is made or implied
+  by Crack dot Com or Jonathan Clark.
+
+Examples of What you CAN Do:
+
+  Make another game and sell it commercially using the Abuse source code.
+  Use pieces of the source code or shareware data (excluding the WAV's-
+    you must speak to Bobby Prince) however you see fit.
+  Learn how to make a better game.
+  Port Abuse to any system you like.
+
+A note from Jonathan Clark:
+
+  I'm busy coding Golgotha so I don't have time to answer many questions.
+  If you e-mail me, I'll read it (unless it's really long), but I may
+  not answer.  If you are making a game with the code, I would like to
+  hear about that sort of thing.
+
+A note from Dave Taylor:
+
+  I didn't write a line of the Abuse source code, but I'm proud to have
+  footed the bill.  If any adventurous coders are interested, I would
+  love to someday see a version which runs a lot faster, draws interpolated
+  frames between the 15 Hz (i believe) updates, and runs under Win32.  I
+  believe in the released versions, we didn't include a line of assembly,
+  and we've identified several areas that can be optimized.
+
+  Also enclosed is the Mac Abuse source tree.  We decided to split
+  the Mac version from the main source tree.  The Mac version features
+  several updates to the Abuse engine and is designed primarily for a
+  640x480 resolution.  We do not know if the Mac Abuse source tree
+  compiles these days, so it's certainly wiser for the novice to stick
+  with the main abuse and imlib directories instead of the macabuse/abuse
+  and macabuse/imlib directories.
+
+  Many thanks to Jason Merrill at Cygnus who fitted the Abuse source to
+  use configure and fixed several bugs.  The following are exerpts from
+  his e-mail to us detailing some of those changes:
+
+    "You'll need to remove abuse/lnx_sdrv and abuse/keydrv before building so
+     make doesn't rebuild them in the source directory.
+
+     Some crashes fixed.  Curiously, building the 'opt' target instead of
+     'debug' produces a program that doesn't crash in mid-game, though it does
+     occasionally say "jfree: bad pointer".  I haven't checked whether this is
+     because of optimization or -DNO_CHECK.
+
+     ABUSE_PATH should work now, but it's useless without ABUSE_SAVE_PATH,
+     which would be harder to fix.  The 'abuse' script just makes symlinks
+     to the installed data files.
+
+     keydrv now works and cleans up after itself.
+
+     Changed SVGA mouse init to be run before vga_init so it only needs to be
+     suid root, not run as root.  Use vga_getmousetype() instead of checking
+     MOUSE_TYPE.
+
+     The patch uses automake, but stock FSF automake won't work.  I had to
+     tweak it to accommodate your source layout.  Avoid rebuilding
+     Makefile.in.
+
+     This should work for non-linux UNIX targets as well, but I haven't tested
+     it yet.
+
+     Fixes another couple of crashes and fixes support for sparc-sun-solaris2,
+     mips-sgi-irix5, powerpc-ibm-aix4.1, and probably others I haven't tried.
+     I haven't tested the AIX sound driver."
+
+
+Have fun,
+
+  Jonathan Clark                 Dave Taylor
+  Lead Programmer/Founder        President/Founder
+  Crack dot Com                  Crack dot Com
+
diff --git a/abuse/Makefile.am b/abuse/Makefile.am
new file mode 100644 (file)
index 0000000..b88800b
--- /dev/null
@@ -0,0 +1,76 @@
+## Process this file with automake to produce Makefile.in
+
+bin_SCRIPTS = abuse
+pkglib_PROGRAMS = abuse.x11R6 $(PROGS)
+EXTRA_PROGRAMS = abuse.console keydrv lnx_sdrv sgi_sdrv aix_sdrv
+pkgdata_DATA = abuse.lsp light.tbl
+
+abuse_x11R6_SOURCES = src/net/mac/tcpip.c src/specache.c src/netcfg.c \
+       src/text_gui.c src/innet.c src/net/unix/gserver.c \
+       src/net/unix/gclient.c src/net/unix/fileman.c src/net/sock.c \
+       src/chat.c src/endgame.c src/setup.c src/version.c \
+       src/loadgame.c src/profile.c src/cop.c src/statbar.c \
+       src/compiled.c src/ant.c src/sensor.c src/lisp_opt.c src/demo.c \
+       src/lcache.c src/lisp_gc.c src/nfclient.c src/username.c \
+       src/clisp.c src/gui.c src/transp.c src/collide.c src/trig.c \
+       src/property.c src/lisp.c src/cache.c src/particle.c \
+       src/objects.c src/extend.c src/console.c src/ability.c \
+       src/items.c src/dev.c src/chars.c src/level.c src/smallfnt.c \
+       src/automap.c src/help.c src/intsect.c src/loader2.c src/seq.c \
+       src/points.c src/fnt6x13.c src/morpher.c src/menu.c \
+       src/director.c src/view.c src/config.c src/game.c src/light.c \
+       src/devsel.c src/crc.c src/gamma.c src/language.c \
+       ../imlib/sprite.c
+abuse_console_SOURCES = $(abuse_x11R6_SOURCES)
+keydrv_SOURCES = src/keydrv.c
+
+lnx_sdrv_SOURCES = ../imlib/port/linux/lnx_sdrv.c
+sgi_sdrv_SOURCES = ../imlib/port/sgi/sgi_sdrv.c
+sgi_sdrv_LDADD = -laudio
+aix_sdrv_SOURCES = ../imlib/port/aix/aix_sdrv.c
+aix_sdrv_LDADD = -lUMSobj
+
+IMLIBS = ../imlib/libimage.a ../imlib/libgui.a \
+       ../imlib/libdir.a ../imlib/libtime.a ../imlib/libsound.a \
+       ../imlib/libjoy.a ../imlib/libpacket.a
+abuse_x11R6_LDADD = $(IMLIBS) ../imlib/libwinman.a \
+       $(X_LIBS) -lX11 -lXext -lm
+abuse_console_LDADD = $(IMLIBS) ../imlib/libsvgawin.a -lvga -lm
+
+INCLUDES = -I$(srcdir)/inc -I$(srcdir)/../imlib/include \
+          -I$(srcdir)/src/net/inc -I$(srcdir)/src/net/unix
+
+MYDEFS = -DMANAGE_MEM -DNO_CHECK
+CXXFLAGS = -g -O2
+
+COMPILE = $(CXX) $(DEFS) $(MYDEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS) $(ADDCXXFLAGS) -o $@
+
+debug:
+       $(MAKE) DEFS='-DMANAGE_MEM -DMEM_CHECK' CXXFLAGS=-g
+opt:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS=-O2
+profile:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS='-O2 -g -pg'
+
+../imlib/port/aix/aix_sdrv.o: ../imlib/port/aix/aix_sdrv.c
+       cc -qcpluscmt -O2 -I/usr/lpp/UMS/include -I/usr/lpp/som/include -o $@ -c $<
+
+install-data-local:
+       for f in `(cd $(srcdir); find addon art levels lisp register sfx -type d -print)`; do \
+         $(mkinstalldirs) $(pkgdatadir)/$$f; \
+       done
+       for f in `(cd $(srcdir); find addon art levels lisp register sfx -type f -print)`; do \
+         echo " $(INSTALL_DATA) $(srcdir)/$$f $(pkgdatadir)/$$f"; \
+         $(INSTALL_DATA) $(srcdir)/$$f $(pkgdatadir)/$$f; \
+       done
+
+uninstall-local:
+       rm -rf $(pkgdatadir) $(pkglibdir)
+
+install-exec-local:
+       -if [ -f $(pkglibdir)/abuse.console ]; then \
+         : *** abuse.console needs to run setuid root; \
+         : *** if this fails, set it up yourself; \
+         chown root $(pkglibdir)/abuse.console \
+         && chmod 4755 $(pkglibdir)/abuse.console ; \
+       fi
diff --git a/abuse/Makefile.in b/abuse/Makefile.in
new file mode 100644 (file)
index 0000000..4b34baf
--- /dev/null
@@ -0,0 +1,524 @@
+# Makefile.in generated automatically by automake 1.2 from Makefile.am
+
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+
+SHELL = /bin/sh
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = true
+PRE_INSTALL = true
+POST_INSTALL = true
+NORMAL_UNINSTALL = true
+PRE_UNINSTALL = true
+POST_UNINSTALL = true
+host_alias = @host_alias@
+host_triplet = @host@
+ADDCFLAGS = @ADDCFLAGS@
+ADDCXXFLAGS = @ADDCXXFLAGS@
+CC = @CC@
+CPP = @CPP@
+CXX = @CXX@
+LIBS = @LIBS@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PROGS = @PROGS@
+VERSION = @VERSION@
+
+bin_SCRIPTS = abuse
+pkglib_PROGRAMS = abuse.x11R6 $(PROGS)
+EXTRA_PROGRAMS = abuse.console keydrv lnx_sdrv sgi_sdrv aix_sdrv
+pkgdata_DATA = abuse.lsp light.tbl
+
+abuse_x11R6_SOURCES = src/net/mac/tcpip.c src/specache.c src/netcfg.c \
+       src/text_gui.c src/innet.c src/net/unix/gserver.c \
+       src/net/unix/gclient.c src/net/unix/fileman.c src/net/sock.c \
+       src/chat.c src/endgame.c src/setup.c src/version.c \
+       src/loadgame.c src/profile.c src/cop.c src/statbar.c \
+       src/compiled.c src/ant.c src/sensor.c src/lisp_opt.c src/demo.c \
+       src/lcache.c src/lisp_gc.c src/nfclient.c src/username.c \
+       src/clisp.c src/gui.c src/transp.c src/collide.c src/trig.c \
+       src/property.c src/lisp.c src/cache.c src/particle.c \
+       src/objects.c src/extend.c src/console.c src/ability.c \
+       src/items.c src/dev.c src/chars.c src/level.c src/smallfnt.c \
+       src/automap.c src/help.c src/intsect.c src/loader2.c src/seq.c \
+       src/points.c src/fnt6x13.c src/morpher.c src/menu.c \
+       src/director.c src/view.c src/config.c src/game.c src/light.c \
+       src/devsel.c src/crc.c src/gamma.c src/language.c \
+       ../imlib/sprite.c
+abuse_console_SOURCES = $(abuse_x11R6_SOURCES)
+keydrv_SOURCES = src/keydrv.c
+
+lnx_sdrv_SOURCES = ../imlib/port/linux/lnx_sdrv.c
+sgi_sdrv_SOURCES = ../imlib/port/sgi/sgi_sdrv.c
+sgi_sdrv_LDADD = -laudio
+aix_sdrv_SOURCES = ../imlib/port/aix/aix_sdrv.c
+aix_sdrv_LDADD = -lUMSobj
+
+IMLIBS = ../imlib/libimage.a ../imlib/libgui.a \
+       ../imlib/libdir.a ../imlib/libtime.a ../imlib/libsound.a \
+       ../imlib/libjoy.a ../imlib/libpacket.a
+abuse_x11R6_LDADD = $(IMLIBS) ../imlib/libwinman.a \
+       $(X_LIBS) -lX11 -lXext -lm
+abuse_console_LDADD = $(IMLIBS) ../imlib/libsvgawin.a -lvga -lm
+
+INCLUDES = -I$(srcdir)/inc -I$(srcdir)/../imlib/include \
+          -I$(srcdir)/src/net/inc -I$(srcdir)/src/net/unix
+
+MYDEFS = -DMANAGE_MEM -DNO_CHECK
+CXXFLAGS = -g -O2
+
+COMPILE = $(CXX) $(DEFS) $(MYDEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS) $(ADDCXXFLAGS) -o $@
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_CLEAN_FILES =  abuse
+PROGRAMS =  $(pkglib_PROGRAMS)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) 
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+X_CFLAGS = @X_CFLAGS@
+X_LIBS = @X_LIBS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abuse_console_OBJECTS =  src/net/mac/tcpip.o src/specache.o src/netcfg.o \
+src/text_gui.o src/innet.o src/net/unix/gserver.o \
+src/net/unix/gclient.o src/net/unix/fileman.o src/net/sock.o src/chat.o \
+src/endgame.o src/setup.o src/version.o src/loadgame.o src/profile.o \
+src/cop.o src/statbar.o src/compiled.o src/ant.o src/sensor.o \
+src/lisp_opt.o src/demo.o src/lcache.o src/lisp_gc.o src/nfclient.o \
+src/username.o src/clisp.o src/gui.o src/transp.o src/collide.o \
+src/trig.o src/property.o src/lisp.o src/cache.o src/particle.o \
+src/objects.o src/extend.o src/console.o src/ability.o src/items.o \
+src/dev.o src/chars.o src/level.o src/smallfnt.o src/automap.o \
+src/help.o src/intsect.o src/loader2.o src/seq.o src/points.o \
+src/fnt6x13.o src/morpher.o src/menu.o src/director.o src/view.o \
+src/config.o src/game.o src/light.o src/devsel.o src/crc.o src/gamma.o \
+src/language.o ../imlib/sprite.o
+abuse_console_DEPENDENCIES =  ../imlib/libimage.a ../imlib/libgui.a \
+../imlib/libdir.a ../imlib/libtime.a ../imlib/libsound.a \
+../imlib/libjoy.a ../imlib/libpacket.a ../imlib/libsvgawin.a
+abuse_console_LDFLAGS = 
+keydrv_OBJECTS =  src/keydrv.o
+keydrv_LDADD = $(LDADD)
+keydrv_LDFLAGS = 
+lnx_sdrv_OBJECTS =  ../imlib/port/linux/lnx_sdrv.o
+lnx_sdrv_LDADD = $(LDADD)
+lnx_sdrv_LDFLAGS = 
+sgi_sdrv_OBJECTS =  ../imlib/port/sgi/sgi_sdrv.o
+sgi_sdrv_DEPENDENCIES = 
+sgi_sdrv_LDFLAGS = 
+aix_sdrv_OBJECTS =  ../imlib/port/aix/aix_sdrv.o
+aix_sdrv_DEPENDENCIES = 
+aix_sdrv_LDFLAGS = 
+abuse_x11R6_OBJECTS =  src/net/mac/tcpip.o src/specache.o src/netcfg.o \
+src/text_gui.o src/innet.o src/net/unix/gserver.o \
+src/net/unix/gclient.o src/net/unix/fileman.o src/net/sock.o src/chat.o \
+src/endgame.o src/setup.o src/version.o src/loadgame.o src/profile.o \
+src/cop.o src/statbar.o src/compiled.o src/ant.o src/sensor.o \
+src/lisp_opt.o src/demo.o src/lcache.o src/lisp_gc.o src/nfclient.o \
+src/username.o src/clisp.o src/gui.o src/transp.o src/collide.o \
+src/trig.o src/property.o src/lisp.o src/cache.o src/particle.o \
+src/objects.o src/extend.o src/console.o src/ability.o src/items.o \
+src/dev.o src/chars.o src/level.o src/smallfnt.o src/automap.o \
+src/help.o src/intsect.o src/loader2.o src/seq.o src/points.o \
+src/fnt6x13.o src/morpher.o src/menu.o src/director.o src/view.o \
+src/config.o src/game.o src/light.o src/devsel.o src/crc.o src/gamma.o \
+src/language.o ../imlib/sprite.o
+abuse_x11R6_DEPENDENCIES =  ../imlib/libimage.a ../imlib/libgui.a \
+../imlib/libdir.a ../imlib/libtime.a ../imlib/libsound.a \
+../imlib/libjoy.a ../imlib/libpacket.a ../imlib/libwinman.a
+abuse_x11R6_LDFLAGS = 
+SCRIPTS =  $(bin_SCRIPTS)
+
+CFLAGS = @CFLAGS@
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DATA =  $(pkgdata_DATA)
+
+DIST_COMMON =  Makefile.am Makefile.in abuse.in acinclude.m4 aclocal.m4 \
+configure configure.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = gtar
+GZIP = --best
+DEP_FILES =  ../imlib/.deps/sprite.P ../imlib/port/aix/.deps/aix_sdrv.P \
+../imlib/port/linux/.deps/lnx_sdrv.P ../imlib/port/sgi/.deps/sgi_sdrv.P \
+src/.deps/ability.P src/.deps/ant.P src/.deps/automap.P \
+src/.deps/cache.P src/.deps/chars.P src/.deps/chat.P src/.deps/clisp.P \
+src/.deps/collide.P src/.deps/compiled.P src/.deps/config.P \
+src/.deps/console.P src/.deps/cop.P src/.deps/crc.P src/.deps/demo.P \
+src/.deps/dev.P src/.deps/devsel.P src/.deps/director.P \
+src/.deps/endgame.P src/.deps/extend.P src/.deps/fnt6x13.P \
+src/.deps/game.P src/.deps/gamma.P src/.deps/gui.P src/.deps/help.P \
+src/.deps/innet.P src/.deps/intsect.P src/.deps/items.P \
+src/.deps/keydrv.P src/.deps/language.P src/.deps/lcache.P \
+src/.deps/level.P src/.deps/light.P src/.deps/lisp.P \
+src/.deps/lisp_gc.P src/.deps/lisp_opt.P src/.deps/loader2.P \
+src/.deps/loadgame.P src/.deps/menu.P src/.deps/morpher.P \
+src/.deps/netcfg.P src/.deps/nfclient.P src/.deps/objects.P \
+src/.deps/particle.P src/.deps/points.P src/.deps/profile.P \
+src/.deps/property.P src/.deps/sensor.P src/.deps/seq.P \
+src/.deps/setup.P src/.deps/smallfnt.P src/.deps/specache.P \
+src/.deps/statbar.P src/.deps/text_gui.P src/.deps/transp.P \
+src/.deps/trig.P src/.deps/username.P src/.deps/version.P \
+src/.deps/view.P src/net/.deps/sock.P src/net/mac/.deps/tcpip.P \
+src/net/unix/.deps/fileman.P src/net/unix/.deps/gclient.P \
+src/net/unix/.deps/gserver.P
+SOURCES = $(abuse_console_SOURCES) $(keydrv_SOURCES) $(lnx_sdrv_SOURCES) $(sgi_sdrv_SOURCES) $(aix_sdrv_SOURCES) $(abuse_x11R6_SOURCES)
+OBJECTS = $(abuse_console_OBJECTS) $(keydrv_OBJECTS) $(lnx_sdrv_OBJECTS) $(sgi_sdrv_OBJECTS) $(aix_sdrv_OBJECTS) $(abuse_x11R6_OBJECTS)
+
+default: all
+
+.SUFFIXES:
+.SUFFIXES: .c .o
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
+       cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+       cd $(top_builddir) \
+         && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4):  configure.in  acinclude.m4
+       cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure
+       $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+       cd $(srcdir) && $(AUTOCONF)
+abuse: $(top_builddir)/config.status abuse.in
+       cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
+
+mostlyclean-pkglibPROGRAMS:
+
+clean-pkglibPROGRAMS:
+       test -z "$(pkglib_PROGRAMS)" || rm -f $(pkglib_PROGRAMS)
+
+distclean-pkglibPROGRAMS:
+
+maintainer-clean-pkglibPROGRAMS:
+
+install-pkglibPROGRAMS: $(pkglib_PROGRAMS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(pkglibdir)
+       @list='$(pkglib_PROGRAMS)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo "  $(INSTALL_PROGRAM) $$p $(pkglibdir)/`echo $$p|sed '$(transform)'`"; \
+            $(INSTALL_PROGRAM) $$p $(pkglibdir)/`echo $$p|sed '$(transform)'`; \
+         else :; fi; \
+       done
+
+uninstall-pkglibPROGRAMS:
+       $(NORMAL_UNINSTALL)
+       list='$(pkglib_PROGRAMS)'; for p in $$list; do \
+         rm -f $(pkglibdir)/`echo $$p|sed '$(transform)'`; \
+       done
+
+.c.o:
+       $(COMPILE) -c $<
+
+mostlyclean-compile:
+       rm -f *.o core $(OBJECTS)
+
+clean-compile:
+
+distclean-compile:
+       rm -f *.tab.c
+
+maintainer-clean-compile:
+
+abuse.console: $(abuse_console_OBJECTS) $(abuse_console_DEPENDENCIES)
+       @rm -f abuse.console
+       $(LINK) $(abuse_console_LDFLAGS) $(abuse_console_OBJECTS) $(abuse_console_LDADD) $(LIBS)
+
+keydrv: $(keydrv_OBJECTS) $(keydrv_DEPENDENCIES)
+       @rm -f keydrv
+       $(LINK) $(keydrv_LDFLAGS) $(keydrv_OBJECTS) $(keydrv_LDADD) $(LIBS)
+
+lnx_sdrv: $(lnx_sdrv_OBJECTS) $(lnx_sdrv_DEPENDENCIES)
+       @rm -f lnx_sdrv
+       $(LINK) $(lnx_sdrv_LDFLAGS) $(lnx_sdrv_OBJECTS) $(lnx_sdrv_LDADD) $(LIBS)
+
+sgi_sdrv: $(sgi_sdrv_OBJECTS) $(sgi_sdrv_DEPENDENCIES)
+       @rm -f sgi_sdrv
+       $(LINK) $(sgi_sdrv_LDFLAGS) $(sgi_sdrv_OBJECTS) $(sgi_sdrv_LDADD) $(LIBS)
+
+aix_sdrv: $(aix_sdrv_OBJECTS) $(aix_sdrv_DEPENDENCIES)
+       @rm -f aix_sdrv
+       $(LINK) $(aix_sdrv_LDFLAGS) $(aix_sdrv_OBJECTS) $(aix_sdrv_LDADD) $(LIBS)
+
+abuse.x11R6: $(abuse_x11R6_OBJECTS) $(abuse_x11R6_DEPENDENCIES)
+       @rm -f abuse.x11R6
+       $(LINK) $(abuse_x11R6_LDFLAGS) $(abuse_x11R6_OBJECTS) $(abuse_x11R6_LDADD) $(LIBS)
+
+install-binSCRIPTS: $(bin_SCRIPTS)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(bindir)
+       @list='$(bin_SCRIPTS)'; for p in $$list; do \
+         if test -f $$p; then \
+           echo " $(INSTALL_SCRIPT) $$p $(bindir)/`echo $$p|sed '$(transform)'`"; \
+           $(INSTALL_SCRIPT) $$p $(bindir)/`echo $$p|sed '$(transform)'`; \
+         else if test -f $(srcdir)/$$p; then \
+           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(bindir)/`echo $$p|sed '$(transform)'`"; \
+           $(INSTALL_SCRIPT) $(srcdir)/$$p $(bindir)/`echo $$p|sed '$(transform)'`; \
+         else :; fi; fi; \
+       done
+
+uninstall-binSCRIPTS:
+       $(NORMAL_UNINSTALL)
+       list='$(bin_SCRIPTS)'; for p in $$list; do \
+         rm -f $(bindir)/`echo $$p|sed '$(transform)'`; \
+       done
+
+install-pkgdataDATA: $(pkgdata_DATA)
+       @$(NORMAL_INSTALL)
+       $(mkinstalldirs) $(pkgdatadir)
+       @list='$(pkgdata_DATA)'; for p in $$list; do \
+         if test -f $(srcdir)/$$p; then \
+           echo " $(INSTALL_DATA) $(srcdir)/$$p $(pkgdatadir)/$$p"; \
+           $(INSTALL_DATA) $(srcdir)/$$p $(pkgdatadir)/$$p; \
+         else if test -f $$p; then \
+           echo " $(INSTALL_DATA) $$p $(pkgdatadir)/$$p"; \
+           $(INSTALL_DATA) $$p $(pkgdatadir)/$$p; \
+         fi; fi; \
+       done
+
+uninstall-pkgdataDATA:
+       $(NORMAL_UNINSTALL)
+       list='$(pkgdata_DATA)'; for p in $$list; do \
+         rm -f $(pkgdatadir)/$$p; \
+       done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES)
+       here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES)
+       tags=; \
+       here=`pwd`; \
+       test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$$tags" \
+         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $(SOURCES) $(HEADERS) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+       rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+       rm -rf $(distdir)
+       GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
+       mkdir $(distdir)/=build
+       mkdir $(distdir)/=inst
+       dc_install_base=`cd $(distdir)/=inst && pwd`; \
+       cd $(distdir)/=build \
+         && ../configure --srcdir=.. --prefix=$$dc_install_base \
+         && $(MAKE) \
+         && $(MAKE) dvi \
+         && $(MAKE) check \
+         && $(MAKE) install \
+         && $(MAKE) installcheck \
+         && $(MAKE) dist
+       rm -rf $(distdir)
+       @echo "========================"; \
+       echo "$(distdir).tar.gz is ready for distribution"; \
+       echo "========================"
+dist: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+dist-all: distdir
+       -chmod -R a+r $(distdir)
+       GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
+       rm -rf $(distdir)
+distdir: $(DISTFILES)
+       rm -rf $(distdir)
+       mkdir $(distdir)
+       -chmod 777 $(distdir)
+       here=`cd $(top_builddir) && pwd`; \
+       top_distdir=`cd $(top_distdir) && pwd`; \
+       cd $(top_srcdir) \
+         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
+       @for file in $(DISTFILES); do \
+         d=$(srcdir); \
+         test -f $(distdir)/$$file \
+         || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+         || cp -p $$d/$$file $(distdir)/$$file; \
+       done
+
+MKDEP = gcc -M $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+-include .deps/.P
+.deps/.P: $(BUILT_SOURCES)
+       echo > $@
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+
+maintainer-clean-depend:
+       rm -rf .deps
+
+.deps/%.P: %.c
+       @echo "Computing dependencies for $<..."
+       @o='o'; \
+       test -n "$o" && o='$$o'; \
+       $(MKDEP) $< >$@.tmp \
+         && sed "s,^\(.*\)\.o:,\1.$$o \1.l$$o $@:," < $@.tmp > $@ \
+         && rm -f $@.tmp
+info:
+dvi:
+check: all
+       $(MAKE)
+installcheck:
+install-exec: install-pkglibPROGRAMS install-binSCRIPTS install-exec-local
+       @$(NORMAL_INSTALL)
+
+install-data: install-pkgdataDATA install-data-local
+       @$(NORMAL_INSTALL)
+
+install: install-exec install-data all
+       @:
+
+uninstall: uninstall-pkglibPROGRAMS uninstall-binSCRIPTS uninstall-pkgdataDATA uninstall-local
+
+all: Makefile $(PROGRAMS) $(SCRIPTS) $(DATA)
+
+install-strip:
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
+installdirs:
+       $(mkinstalldirs)  $(pkglibdir) $(bindir) $(pkgdatadir)
+
+
+mostlyclean-generic:
+       test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+       test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       rm -f Makefile $(DISTCLEANFILES)
+       rm -f config.cache config.log stamp-h stamp-h[0-9]*
+       test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+       test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+       test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+mostlyclean:  mostlyclean-pkglibPROGRAMS mostlyclean-compile \
+               mostlyclean-tags mostlyclean-depend mostlyclean-generic
+
+clean:  clean-pkglibPROGRAMS clean-compile clean-tags clean-depend \
+               clean-generic mostlyclean
+
+distclean:  distclean-pkglibPROGRAMS distclean-compile distclean-tags \
+               distclean-depend distclean-generic clean
+       rm -f config.status
+
+maintainer-clean:  maintainer-clean-pkglibPROGRAMS \
+               maintainer-clean-compile maintainer-clean-tags \
+               maintainer-clean-depend maintainer-clean-generic \
+               distclean
+       @echo "This command is intended for maintainers to use;"
+       @echo "it deletes files that may require special tools to rebuild."
+       rm -f config.status
+
+.PHONY: default mostlyclean-pkglibPROGRAMS distclean-pkglibPROGRAMS \
+clean-pkglibPROGRAMS maintainer-clean-pkglibPROGRAMS \
+uninstall-pkglibPROGRAMS install-pkglibPROGRAMS mostlyclean-compile \
+distclean-compile clean-compile maintainer-clean-compile \
+uninstall-binSCRIPTS install-binSCRIPTS uninstall-pkgdataDATA \
+install-pkgdataDATA tags mostlyclean-tags distclean-tags clean-tags \
+maintainer-clean-tags distdir mostlyclean-depend distclean-depend \
+clean-depend maintainer-clean-depend info dvi installcheck install-exec \
+install-data install uninstall all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+debug:
+       $(MAKE) DEFS='-DMANAGE_MEM -DMEM_CHECK' CXXFLAGS=-g
+opt:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS=-O2
+profile:
+       $(MAKE) DEFS='-DMANAGE_MEM -DNO_CHECK' CXXFLAGS='-O2 -g -pg'
+
+../imlib/port/aix/aix_sdrv.o: ../imlib/port/aix/aix_sdrv.c
+       cc -qcpluscmt -O2 -I/usr/lpp/UMS/include -I/usr/lpp/som/include -o $@ -c $<
+
+install-data-local:
+       for f in `(cd $(srcdir); find addon art levels lisp register sfx -type d -print)`; do \
+         $(mkinstalldirs) $(pkgdatadir)/$$f; \
+       done
+       for f in `(cd $(srcdir); find addon art levels lisp register sfx -type f -print)`; do \
+         echo " $(INSTALL_DATA) $(srcdir)/$$f $(pkgdatadir)/$$f"; \
+         $(INSTALL_DATA) $(srcdir)/$$f $(pkgdatadir)/$$f; \
+       done
+
+uninstall-local:
+       rm -rf $(pkgdatadir) $(pkglibdir)
+
+install-exec-local:
+       -if [ -f $(pkglibdir)/abuse.console ]; then \
+         : *** abuse.console needs to run setuid root; \
+         : *** if this fails, set it up yourself; \
+         chown root $(pkglibdir)/abuse.console \
+         && chmod 4755 $(pkglibdir)/abuse.console ; \
+       fi
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/abuse/abuse.in b/abuse/abuse.in
new file mode 100644 (file)
index 0000000..a1ec412
--- /dev/null
@@ -0,0 +1,31 @@
+#! /bin/sh
+
+[ -d ${HOME}/.abuse ] || mkdir ${HOME}/.abuse || exit 1
+
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+ddir=@datadir@/abuse
+xdir=@libdir@/abuse
+
+mydir=`dirname $0`
+if [ -f ${mydir}/Makefile ]; then
+  ddir=`cd @srcdir@; pwd`
+  xdir=`cd ${mydir}; pwd`
+fi
+
+cd ${HOME}/.abuse || exit 1
+
+rm -f abuse.lsp art levels lisp register sfx light.tbl
+ln -s ${ddir}/abuse.lsp ${ddir}/art ${ddir}/levels ${ddir}/lisp \
+  ${ddir}/register ${ddir}/sfx ${ddir}/light.tbl . || exit 1
+
+trap "rm -f abuse.lsp art levels lisp register sfx light.tbl core end.mem fastload.dat sd_cache.tmp" 0 1 2 15
+
+PATH=${xdir}:${PATH}
+export PATH
+
+if [ x$TERM = xlinux ]; then
+  abuse.console ${1:+"$@"}
+else
+  abuse.x11R6 ${1:+"$@"}
+fi
diff --git a/abuse/abuse.lsp b/abuse/abuse.lsp
new file mode 100644 (file)
index 0000000..18c2334
--- /dev/null
@@ -0,0 +1,62 @@
+(perm-space)
+(setq load_warn nil)
+(setq section 'game_section)
+(if (not (load "lisp/english.lsp"))             ;; load language specific stuff
+    (progn (print "Please make sure you unzipped the game with the -d option")(quit)))
+(setq load_warn T)
+(load "lisp/common.lsp")
+(load "lisp/userfuns.lsp")
+(load "lisp/options.lsp")     
+(load "lisp/startup.lsp")
+
+
+;*************************************
+;*************************************
+;*************************************
+(if (not (local_load "lisp/input.lsp"))   ; get local copy first
+    (load "lisp/input.lsp"))
+;*************************************
+;*************************************
+;*************************************
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/sfx.lsp")
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/gates.lsp")
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/duong.lsp")
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/ant.lsp")
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/people.lsp")
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/weapons.lsp")
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/explo.lsp")
+;*************************************
+;*************************************
+;*************************************
+(load "lisp/platform.lsp")
+(load "lisp/guns.lsp")
+(load "lisp/jugger.lsp")
+(load "lisp/flyer.lsp")
+(load "lisp/teleport.lsp")
+(load "lisp/general.lsp")
+(load "lisp/powerup.lsp")
+(load "lisp/doors.lsp")
+(load "lisp/light.lsp")(load "lisp/ladder.lsp")(load "lisp/switch.lsp")
+(setq bad_guy_list (list DARNEL ANT_ROOF TRACK_GUN SPRAY_GUN JUGGER ROB1 WHO ROCKET FLYER GREEN_FLYER BOSS_ANT))
+(gc)(tmp-space)(create_players DARNEL)
diff --git a/abuse/acinclude.m4 b/abuse/acinclude.m4
new file mode 100644 (file)
index 0000000..7174537
--- /dev/null
@@ -0,0 +1,83 @@
+dnl AB_CHECK_FLAG(FLAG, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+AC_DEFUN(AB_CHECK_FLAG,
+[
+AC_MSG_CHECKING([whether ifelse(AC_LANG, CPLUSPLUS, ${CXX}, ${CC}) supports the $1 flag])
+ab_flag_var=`echo $1 | sed 'y%./+-%__p_%'`
+AC_CACHE_VAL(ab_cv_flag_$ab_flag_var,
+[
+ifelse(AC_LANG, CPLUSPLUS, [
+ab_save_flags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $1"
+], [
+ab_save_flags="$CFLAGS"
+CFLAGS="$CFLAGS $1"
+])dnl
+AC_TRY_COMPILE(,[int a;],
+eval "ab_cv_flag_$ab_flag_var=yes", eval "ab_cv_flag_$ab_flag_var=no")
+ifelse(AC_LANG, CPLUSPLUS, CXXFLAGS="$ab_save_flags", CFLAGS="$ab_save_flags")
+])
+if eval "test \"`echo '$ab_cv_flag_'$ab_flag_var`\" = yes"; then
+  AC_MSG_RESULT(yes)
+  ifelse([$2], , :, [$2])
+else
+  AC_MSG_RESULT(no)
+ifelse([$3], , , [$3
+])dnl
+fi
+])
+
+dnl AB_ADD_FLAGS(FLAG...)
+AC_DEFUN(AB_ADD_FLAGS,
+[ab_flags=
+for ab_flag in $1; do
+AB_CHECK_FLAG([$ab_flag], [ab_flags="$ab_flags $ab_flag"])
+ifelse(AC_LANG, CPLUSPLUS, [
+ADDCXXFLAGS="$ab_flags"
+AC_SUBST(ADDCXXFLAGS)
+], [
+ADDCFLAGS="$ab_flags"
+AC_SUBST(ADDCFLAGS)
+])dnl
+done
+])
+
+AC_DEFUN(AB_C_BIGENDIAN,
+[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
+[ac_cv_c_bigendian=unknown
+# See if we have a good endian.h.
+AC_TRY_CPP([#include <endian.h>], [AC_TRY_COMPILE([#include <endian.h>], [
+#if !__BYTE_ORDER || !__BIG_ENDIAN
+  bogus endian macros
+#endif], [AC_TRY_COMPILE([#include <endian.h>], [
+#if __BYTE_ORDER != __BIG_ENDIAN
+ not big endian
+#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])])
+if test $ac_cv_c_bigendian = unknown; then
+# See if sys/param.h defines the BYTE_ORDER macro.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
+fi
+if test $ac_cv_c_bigendian = unknown; then
+AC_TRY_RUN([main () {
+  /* Are we little or big endian?  From Harbison&Steele.  */
+  union
+  {
+    long l;
+    char c[sizeof (long)];
+  } u;
+  u.l = 1;
+  exit (u.c[sizeof (long) - 1] == 1);
+}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes)
+fi])
+if test $ac_cv_c_bigendian = yes; then
+  AC_DEFINE(WORDS_BIGENDIAN)
+fi
+])
diff --git a/abuse/aclocal.m4 b/abuse/aclocal.m4
new file mode 100644 (file)
index 0000000..05b155f
--- /dev/null
@@ -0,0 +1,176 @@
+dnl aclocal.m4 generated automatically by aclocal 1.2
+
+dnl AB_CHECK_FLAG(FLAG, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+AC_DEFUN(AB_CHECK_FLAG,
+[
+AC_MSG_CHECKING([whether ifelse(AC_LANG, CPLUSPLUS, ${CXX}, ${CC}) supports the $1 flag])
+ab_flag_var=`echo $1 | sed 'y%./+-%__p_%'`
+AC_CACHE_VAL(ab_cv_flag_$ab_flag_var,
+[
+ifelse(AC_LANG, CPLUSPLUS, [
+ab_save_flags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $1"
+], [
+ab_save_flags="$CFLAGS"
+CFLAGS="$CFLAGS $1"
+])dnl
+AC_TRY_COMPILE(,[int a;],
+eval "ab_cv_flag_$ab_flag_var=yes", eval "ab_cv_flag_$ab_flag_var=no")
+ifelse(AC_LANG, CPLUSPLUS, CXXFLAGS="$ab_save_flags", CFLAGS="$ab_save_flags")
+])
+if eval "test \"`echo '$ab_cv_flag_'$ab_flag_var`\" = yes"; then
+  AC_MSG_RESULT(yes)
+  ifelse([$2], , :, [$2])
+else
+  AC_MSG_RESULT(no)
+ifelse([$3], , , [$3
+])dnl
+fi
+])
+
+dnl AB_ADD_FLAGS(FLAG...)
+AC_DEFUN(AB_ADD_FLAGS,
+[ab_flags=
+for ab_flag in $1; do
+AB_CHECK_FLAG([$ab_flag], [ab_flags="$ab_flags $ab_flag"])
+ifelse(AC_LANG, CPLUSPLUS, [
+ADDCXXFLAGS="$ab_flags"
+AC_SUBST(ADDCXXFLAGS)
+], [
+ADDCFLAGS="$ab_flags"
+AC_SUBST(ADDCFLAGS)
+])dnl
+done
+])
+
+AC_DEFUN(AB_C_BIGENDIAN,
+[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
+[ac_cv_c_bigendian=unknown
+# See if we have a good endian.h.
+AC_TRY_CPP([#include <endian.h>], [AC_TRY_COMPILE([#include <endian.h>], [
+#if !__BYTE_ORDER || !__BIG_ENDIAN
+  bogus endian macros
+#endif], [AC_TRY_COMPILE([#include <endian.h>], [
+#if __BYTE_ORDER != __BIG_ENDIAN
+ not big endian
+#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])])
+if test $ac_cv_c_bigendian = unknown; then
+# See if sys/param.h defines the BYTE_ORDER macro.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/param.h>], [
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
+fi
+if test $ac_cv_c_bigendian = unknown; then
+AC_TRY_RUN([main () {
+  /* Are we little or big endian?  From Harbison&Steele.  */
+  union
+  {
+    long l;
+    char c[sizeof (long)];
+  } u;
+  u.l = 1;
+  exit (u.c[sizeof (long) - 1] == 1);
+}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes)
+fi])
+if test $ac_cv_c_bigendian = yes; then
+  AC_DEFINE(WORDS_BIGENDIAN)
+fi
+])
+
+# Do all the work for Automake.  This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AM_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
+AM_SANITY_CHECK
+AC_ARG_PROGRAM
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_PROG_MAKE_SET])
+
+
+# serial 1
+
+AC_DEFUN(AM_PROG_INSTALL,
+[AC_REQUIRE([AC_PROG_INSTALL])
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+AC_SUBST(INSTALL_SCRIPT)dnl
+])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "$@" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   test "[$]2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_WARN([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+   $1=$2
+   AC_MSG_RESULT(found)
+else
+   $1="$3/missing $2"
+   AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
diff --git a/abuse/b.bat b/abuse/b.bat
new file mode 100644 (file)
index 0000000..23a4447
--- /dev/null
@@ -0,0 +1,7 @@
+f:\crack\dos4gw\4gwbind f:\crack\dos4gw\4gwpro.exe gameo.exe f:\crack\tmp\abuse.exe -V\r
+f:\crack\dos4gw\4gwbind f:\crack\dos4gw\4gwpro.exe setup.exe f:\crack\tmp\setup.exe -V\r
+f:\crack\dos4gw\4gwbind f:\crack\dos4gw\4gwpro.exe install.exe f:\crack\tmp\install.exe -V\r
+f:\crack\dos4gw\4gwbind f:\crack\dos4gw\4gwpro.exe f:\crack\keep\hmi_fre\exe\setup.exe f:\crack\tmp\fren_set.exe -V\r
+f:\crack\dos4gw\4gwbind f:\crack\dos4gw\4gwpro.exe f:\crack\keep\hmi_ger\exe\setup.exe f:\crack\tmp\germ_set.exe -V\r
+\r
+\r
diff --git a/abuse/c.bat b/abuse/c.bat
new file mode 100644 (file)
index 0000000..d96e46b
--- /dev/null
@@ -0,0 +1,2 @@
+c:\r
+cd\abuse\r
diff --git a/abuse/configure b/abuse/configure
new file mode 100644 (file)
index 0000000..22416f9
--- /dev/null
@@ -0,0 +1,2790 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.12 
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+  --with-x                use the X Window System"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir="$ac_optarg" ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+  | --da=*)
+    datadir="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [same as prefix]
+  --bindir=DIR            user executables in DIR [EPREFIX/bin]
+  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
+  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
+  --datadir=DIR           read-only architecture-independent data in DIR
+                          [PREFIX/share]
+  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
+                          [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
+  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
+  --includedir=DIR        C header files in DIR [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
+  --infodir=DIR           info documentation in DIR [PREFIX/info]
+  --mandir=DIR            man documentation in DIR [PREFIX/man]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM
+                          run sed PROGRAM on installed program names
+EOF
+    cat << EOF
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+EOF
+    if test -n "$ac_help"; then
+      echo "--enable and --with options recognized:$ac_help"
+    fi
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir="$ac_optarg" ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir="$ac_optarg" ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir="$ac_optarg" ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir="$ac_optarg" ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst \
+  | --locals | --local | --loca | --loc | --lo)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+    localstatedir="$ac_optarg" ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir="$ac_optarg" ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir="$ac_optarg" ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir="$ac_optarg" ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.12"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *)
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 6>/dev/null
+else
+  exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set.  These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=src/game.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:554: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    IFS="${IFS=        }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    # Account for people who put trailing slashes in PATH elements.
+    case "$ac_dir/" in
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+    *)
+      # OSF1 and SCO ODT 3.0 have their own names for install.
+      for ac_prog in ginstall installbsd scoinst install; do
+        if test -f $ac_dir/$ac_prog; then
+         if test $ac_prog = install &&
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           # OSF/1 installbsd also uses dspmsg, but is usable.
+           :
+         else
+           ac_cv_path_install="$ac_dir/$ac_prog -c"
+           break 2
+         fi
+       fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_IFS"
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL="$ac_cv_path_install"
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL="$ac_install_sh"
+  fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+
+PACKAGE=abuse
+
+VERSION=2.0
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:623: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+   if test "" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftestfile`
+   fi
+   test "$2" = conftestfile
+   )
+then
+   # Ok.
+   :
+else
+   echo "configure: warning: newly created file is older than distributed files!
+Check your system clock" 1>&2
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+  program_transform_name=
+else
+  # Double any \ or $.  echo might interpret backslashes.
+  cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+  rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:670: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+   ACLOCAL=aclocal
+   echo "$ac_t""found" 1>&6
+else
+   ACLOCAL="$missing_dir/missing aclocal"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:683: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+   AUTOCONF=autoconf
+   echo "$ac_t""found" 1>&6
+else
+   AUTOCONF="$missing_dir/missing autoconf"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:696: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake
+   echo "$ac_t""found" 1>&6
+else
+   AUTOMAKE="$missing_dir/missing automake"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:709: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+   AUTOHEADER=autoheader
+   echo "$ac_t""found" 1>&6
+else
+   AUTOHEADER="$missing_dir/missing autoheader"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:722: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf.  Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+   MAKEINFO=makeinfo
+   echo "$ac_t""found" 1>&6
+else
+   MAKEINFO="$missing_dir/missing makeinfo"
+   echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:735: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftestmake <<\EOF
+all:
+       @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+  eval ac_cv_prog_make_${ac_make}_set=yes
+else
+  eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  SET_MAKE=
+else
+  echo "$ac_t""no" 1>&6
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:764: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:793: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  ac_prog_rejected=no
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+        ac_prog_rejected=yes
+       continue
+      fi
+      ac_cv_prog_CC="cc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# -gt 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    set dummy "$ac_dir/$ac_word" "$@"
+    shift
+    ac_cv_prog_CC="$@"
+  fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:841: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 851 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cc_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cc_cross=no
+  else
+    ac_cv_prog_cc_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cc_works=no
+fi
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
+if test $ac_cv_prog_cc_works = no; then
+  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:875: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:880: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:889: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gcc=yes
+else
+  ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+  GCC=yes
+  ac_test_CFLAGS="${CFLAGS+set}"
+  ac_save_CFLAGS="$CFLAGS"
+  CFLAGS=
+  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:904: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+  ac_cv_prog_cc_g=yes
+else
+  ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+  if test "$ac_test_CFLAGS" = set; then
+    CFLAGS="$ac_save_CFLAGS"
+  elif test $ac_cv_prog_cc_g = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-O2"
+  fi
+else
+  GCC=
+  test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:932: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    # This must be in double quotes, not single quotes, because CPP may get
+  # substituted into the Makefile and "${CC-cc}" will confuse make.
+  CPP="${CC-cc} -E"
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp.
+  cat > conftest.$ac_ext <<EOF
+#line 947 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:953: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -E -traditional-cpp"
+  cat > conftest.$ac_ext <<EOF
+#line 964 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+  ac_cv_prog_CPP="$CPP"
+fi
+  CPP="$ac_cv_prog_CPP"
+else
+  ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
+
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:997: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:1028: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+cat > conftest.$ac_ext <<EOF
+#line 1038 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+if { (eval echo configure:1042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  ac_cv_prog_cxx_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cxx_cross=no
+  else
+    ac_cv_prog_cxx_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:1068: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:1073: checking whether we are using GNU C++" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.C <<EOF
+#ifdef __GNUC__
+  yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1082: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+  ac_cv_prog_gxx=yes
+else
+  ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
+if test $ac_cv_prog_gxx = yes; then
+  GXX=yes
+  ac_test_CXXFLAGS="${CXXFLAGS+set}"
+  ac_save_CXXFLAGS="$CXXFLAGS"
+  CXXFLAGS=
+  echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:1097: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+  ac_cv_prog_cxx_g=yes
+else
+  ac_cv_prog_cxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+  if test "$ac_test_CXXFLAGS" = set; then
+    CXXFLAGS="$ac_save_CXXFLAGS"
+  elif test $ac_cv_prog_cxx_g = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-O2"
+  fi
+else
+  GXX=
+  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+
+
+# Make sure we can run config.sub.
+if $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:1131: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+  case $nonopt in
+  NONE)
+    if host_alias=`$ac_config_guess`; then :
+    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+    fi ;;
+  *) host_alias=$nonopt ;;
+  esac ;;
+esac
+
+host=`$ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+if test "$program_transform_name" = s,x,x,; then
+  program_transform_name=
+else
+  # Double any \ or $.  echo might interpret backslashes.
+  cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+  rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1181: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+    IFS="${IFS=        }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    # Account for people who put trailing slashes in PATH elements.
+    case "$ac_dir/" in
+    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+    *)
+      # OSF1 and SCO ODT 3.0 have their own names for install.
+      for ac_prog in ginstall installbsd scoinst install; do
+        if test -f $ac_dir/$ac_prog; then
+         if test $ac_prog = install &&
+            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           # OSF/1 installbsd also uses dspmsg, but is usable.
+           :
+         else
+           ac_cv_path_install="$ac_dir/$ac_prog -c"
+           break 2
+         fi
+       fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_IFS"
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL="$ac_cv_path_install"
+  else
+    # As a last resort, use the slow shell script.  We don't cache a
+    # path for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the path is relative.
+    INSTALL="$ac_install_sh"
+  fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+# If we find X, set shell vars x_includes and x_libraries to the
+# paths, otherwise set no_x=yes.
+# Uses ac_ vars as temps to allow command line to override cache and checks.
+# --without-x overrides everything else, but does not touch the cache.
+echo $ac_n "checking for X""... $ac_c" 1>&6
+echo "configure:1236: checking for X" >&5
+
+# Check whether --with-x or --without-x was given.
+if test "${with_x+set}" = set; then
+  withval="$with_x"
+  :
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
+    # Both variables are already set.
+    have_x=yes
+  else
+if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=NO ac_x_libraries=NO
+rm -fr conftestdir
+if mkdir conftestdir; then
+  cd conftestdir
+  # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+  cat > Imakefile <<'EOF'
+acfindx:
+       @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+EOF
+  if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+    eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl; do
+      if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
+        test -f $ac_im_libdir/libX11.$ac_extension; then
+        ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case "$ac_im_incroot" in
+       /usr/include) ;;
+       *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;;
+    esac
+    case "$ac_im_usrlibdir" in
+       /usr/lib | /lib) ;;
+       *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;;
+    esac
+  fi
+  cd ..
+  rm -fr conftestdir
+fi
+
+if test "$ac_x_includes" = NO; then
+  # Guess where to find include files, by looking for this one X11 .h file.
+  test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+
+  # First, try using that file with no special directory specified.
+cat > conftest.$ac_ext <<EOF
+#line 1298 "configure"
+#include "confdefs.h"
+#include <$x_direct_test_include>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1303: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  # Look for the header file in a standard set of common directories.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+  for ac_dir in               \
+    /usr/X11/include          \
+    /usr/X11R6/include        \
+    /usr/X11R5/include        \
+    /usr/X11R4/include        \
+                              \
+    /usr/include/X11          \
+    /usr/include/X11R6        \
+    /usr/include/X11R5        \
+    /usr/include/X11R4        \
+                              \
+    /usr/local/X11/include    \
+    /usr/local/X11R6/include  \
+    /usr/local/X11R5/include  \
+    /usr/local/X11R4/include  \
+                              \
+    /usr/local/include/X11    \
+    /usr/local/include/X11R6  \
+    /usr/local/include/X11R5  \
+    /usr/local/include/X11R4  \
+                              \
+    /usr/X386/include         \
+    /usr/x386/include         \
+    /usr/XFree86/include/X11  \
+                              \
+    /usr/include              \
+    /usr/local/include        \
+    /usr/unsupported/include  \
+    /usr/athena/include       \
+    /usr/local/x11r5/include  \
+    /usr/lpp/Xamples/include  \
+                              \
+    /usr/openwin/include      \
+    /usr/openwin/share/include \
+    ; \
+  do
+    if test -r "$ac_dir/$x_direct_test_include"; then
+      ac_x_includes=$ac_dir
+      break
+    fi
+  done
+fi
+rm -f conftest*
+fi # $ac_x_includes = NO
+
+if test "$ac_x_libraries" = NO; then
+  # Check for the libraries.
+
+  test -z "$x_direct_test_library" && x_direct_test_library=Xt
+  test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS="$LIBS"
+  LIBS="-l$x_direct_test_library $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1372 "configure"
+#include "confdefs.h"
+
+int main() {
+${x_direct_test_function}()
+; return 0; }
+EOF
+if { (eval echo configure:1379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  LIBS="$ac_save_LIBS"
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
+    /usr/X11/lib          \
+    /usr/X11R6/lib        \
+    /usr/X11R5/lib        \
+    /usr/X11R4/lib        \
+                          \
+    /usr/lib/X11          \
+    /usr/lib/X11R6        \
+    /usr/lib/X11R5        \
+    /usr/lib/X11R4        \
+                          \
+    /usr/local/X11/lib    \
+    /usr/local/X11R6/lib  \
+    /usr/local/X11R5/lib  \
+    /usr/local/X11R4/lib  \
+                          \
+    /usr/local/lib/X11    \
+    /usr/local/lib/X11R6  \
+    /usr/local/lib/X11R5  \
+    /usr/local/lib/X11R4  \
+                          \
+    /usr/X386/lib         \
+    /usr/x386/lib         \
+    /usr/XFree86/lib/X11  \
+                          \
+    /usr/lib              \
+    /usr/local/lib        \
+    /usr/unsupported/lib  \
+    /usr/athena/lib       \
+    /usr/local/x11r5/lib  \
+    /usr/lpp/Xamples/lib  \
+    /lib/usr/lib/X11     \
+                          \
+    /usr/openwin/lib      \
+    /usr/openwin/share/lib \
+    ; \
+do
+  for ac_extension in a so sl; do
+    if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f conftest*
+fi # $ac_x_libraries = NO
+
+if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then
+  # Didn't find X anywhere.  Cache the known absence of X.
+  ac_cv_have_x="have_x=no"
+else
+  # Record where we found X for the cache.
+  ac_cv_have_x="have_x=yes \
+               ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+fi
+fi
+  fi
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  echo "$ac_t""$have_x" 1>&6
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes \
+               ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+  echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+  cat >> confdefs.h <<\EOF
+#define X_DISPLAY_MISSING 1
+EOF
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    case "`(uname -sr) 2>/dev/null`" in
+    "SunOS 5"*)
+      echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
+echo "configure:1485: checking whether -R must be followed by a space" >&5
+      ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
+      cat > conftest.$ac_ext <<EOF
+#line 1488 "configure"
+#include "confdefs.h"
+
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:1495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  ac_R_nospace=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_R_nospace=no
+fi
+rm -f conftest*
+      if test $ac_R_nospace = yes; then
+       echo "$ac_t""no" 1>&6
+       X_LIBS="$X_LIBS -R$x_libraries"
+      else
+       LIBS="$ac_xsave_LIBS -R $x_libraries"
+       cat > conftest.$ac_ext <<EOF
+#line 1511 "configure"
+#include "confdefs.h"
+
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:1518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  ac_R_space=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_R_space=no
+fi
+rm -f conftest*
+       if test $ac_R_space = yes; then
+         echo "$ac_t""yes" 1>&6
+         X_LIBS="$X_LIBS -R $x_libraries"
+       else
+         echo "$ac_t""neither works" 1>&6
+       fi
+      fi
+      LIBS="$ac_xsave_LIBS"
+    esac
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And karl@cs.umb.edu says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
+echo "configure:1550: checking for dnet_ntoa in -ldnet" >&5
+ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldnet  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1558 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char dnet_ntoa();
+
+int main() {
+dnet_ntoa()
+; return 0; }
+EOF
+if { (eval echo configure:1569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
+echo "configure:1591: checking for dnet_ntoa in -ldnet_stub" >&5
+ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-ldnet_stub  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1599 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char dnet_ntoa();
+
+int main() {
+dnet_ntoa()
+; return 0; }
+EOF
+if { (eval echo configure:1610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # chad@anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to dickey@clark.net.
+    echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
+echo "configure:1639: checking for gethostbyname" >&5
+if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1644 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char gethostbyname(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char gethostbyname();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+choke me
+#else
+gethostbyname();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_gethostbyname=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_gethostbyname=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_gethostbyname = no; then
+      echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
+echo "configure:1688: checking for gethostbyname in -lnsl" >&5
+ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lnsl  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1696 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char gethostbyname();
+
+int main() {
+gethostbyname()
+; return 0; }
+EOF
+if { (eval echo configure:1707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # lieder@skyler.mavd.honeywell.com says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says simon@lia.di.epfl.ch: it contains
+    # gethostby* variants that don't use the nameserver (or something).
+    # -lsocket must be given before -lnsl if both are needed.
+    # We assume that if connect needs -lnsl, so does gethostbyname.
+    echo $ac_n "checking for connect""... $ac_c" 1>&6
+echo "configure:1737: checking for connect" >&5
+if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1742 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char connect(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char connect();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_connect) || defined (__stub___connect)
+choke me
+#else
+connect();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_connect=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_connect=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_connect = no; then
+      echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
+echo "configure:1786: checking for connect in -lsocket" >&5
+ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1794 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char connect();
+
+int main() {
+connect()
+; return 0; }
+EOF
+if { (eval echo configure:1805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
+    echo $ac_n "checking for remove""... $ac_c" 1>&6
+echo "configure:1829: checking for remove" >&5
+if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1834 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char remove(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char remove();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_remove) || defined (__stub___remove)
+choke me
+#else
+remove();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_remove=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_remove=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_remove = no; then
+      echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
+echo "configure:1878: checking for remove in -lposix" >&5
+ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lposix  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1886 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char remove();
+
+int main() {
+remove()
+; return 0; }
+EOF
+if { (eval echo configure:1897: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    echo $ac_n "checking for shmat""... $ac_c" 1>&6
+echo "configure:1921: checking for shmat" >&5
+if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1926 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char shmat(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char shmat();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_shmat) || defined (__stub___shmat)
+choke me
+#else
+shmat();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:1949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_shmat=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_shmat=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    if test $ac_cv_func_shmat = no; then
+      echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
+echo "configure:1970: checking for shmat in -lipc" >&5
+ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lipc  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1978 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char shmat();
+
+int main() {
+shmat()
+; return 0; }
+EOF
+if { (eval echo configure:1989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS="$LDFLAGS"
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
+  echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
+echo "configure:2022: checking for IceConnectionNumber in -lICE" >&5
+ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lICE  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2030 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char IceConnectionNumber();
+
+int main() {
+IceConnectionNumber()
+; return 0; }
+EOF
+if { (eval echo configure:2041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  LDFLAGS="$ac_save_LDFLAGS"
+
+fi
+
+
+# Do we need to link against something for X shared memory support?
+echo $ac_n "checking for XShmAttach in -lXext""... $ac_c" 1>&6
+echo "configure:2068: checking for XShmAttach in -lXext" >&5
+ac_lib_var=`echo Xext'_'XShmAttach | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lXext $X_LIBS -lX11 $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2076 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char XShmAttach();
+
+int main() {
+XShmAttach()
+; return 0; }
+EOF
+if { (eval echo configure:2087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+
+echo $ac_n "checking for XShmAttach in -lXextSam""... $ac_c" 1>&6
+echo "configure:2107: checking for XShmAttach in -lXextSam" >&5
+ac_lib_var=`echo XextSam'_'XShmAttach | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-lXextSam $X_LIBS -lX11 -lXext $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 2115 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char XShmAttach();
+
+int main() {
+XShmAttach()
+; return 0; }
+EOF
+if { (eval echo configure:2126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  LIBS="$LIBS -lXextSam"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+fi
+
+
+PROGS=
+case ${host} in
+  *-*-linux*) 
+       ac_safe=`echo "vga.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for vga.h""... $ac_c" 1>&6
+echo "configure:2155: checking for vga.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2160 "configure"
+#include "confdefs.h"
+#include <vga.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  PROGS='abuse.console keydrv'
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+       PROGS="${PROGS} lnx_sdrv"
+       ;;
+  mips-sgi-irix*) 
+       PROGS=sgi_sdrv
+       ;;
+  powerpc-*-aix4*)
+       if test -f /usr/lpp/UMS/include/UMSAudioDevice.h && 
+          test -f /usr/lpp/som/include/somobj.h; then
+         PROGS=aix_sdrv
+       fi
+       ;;
+  *) 
+       ;;
+esac
+
+
+for ac_hdr in bstring.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2206: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2211 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in atexit on_exit
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2245: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2250 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func(); below.  */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+  cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ break
+else
+  echo "$ac_t""no" 1>&6
+fi
+done
+
+echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
+echo "configure:2298: checking whether byte ordering is bigendian" >&5
+if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_cv_c_bigendian=unknown
+# See if we have a good endian.h.
+cat > conftest.$ac_ext <<EOF
+#line 2305 "configure"
+#include "confdefs.h"
+#include <endian.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  cat > conftest.$ac_ext <<EOF
+#line 2315 "configure"
+#include "confdefs.h"
+#include <endian.h>
+int main() {
+
+#if !__BYTE_ORDER || !__BIG_ENDIAN
+  bogus endian macros
+#endif
+; return 0; }
+EOF
+if { (eval echo configure:2325: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  cat > conftest.$ac_ext <<EOF
+#line 2328 "configure"
+#include "confdefs.h"
+#include <endian.h>
+int main() {
+
+#if __BYTE_ORDER != __BIG_ENDIAN
+ not big endian
+#endif
+; return 0; }
+EOF
+if { (eval echo configure:2338: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_c_bigendian=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_c_bigendian=no
+fi
+rm -f conftest*
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+if test $ac_cv_c_bigendian = unknown; then
+# See if sys/param.h defines the BYTE_ORDER macro.
+cat > conftest.$ac_ext <<EOF
+#line 2362 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/param.h>
+int main() {
+
+#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
+ bogus endian macros
+#endif
+; return 0; }
+EOF
+if { (eval echo configure:2373: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+cat > conftest.$ac_ext <<EOF
+#line 2377 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <sys/param.h>
+int main() {
+
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif
+; return 0; }
+EOF
+if { (eval echo configure:2388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  ac_cv_c_bigendian=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  ac_cv_c_bigendian=no
+fi
+rm -f conftest*
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+fi
+if test $ac_cv_c_bigendian = unknown; then
+if test "$cross_compiling" = yes; then
+    { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+  cat > conftest.$ac_ext <<EOF
+#line 2409 "configure"
+#include "confdefs.h"
+main () {
+  /* Are we little or big endian?  From Harbison&Steele.  */
+  union
+  {
+    long l;
+    char c[sizeof (long)];
+  } u;
+  u.l = 1;
+  exit (u.c[sizeof (long) - 1] == 1);
+}
+EOF
+if { (eval echo configure:2422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  ac_cv_c_bigendian=no
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  ac_cv_c_bigendian=yes
+fi
+rm -fr conftest*
+fi
+
+fi
+fi
+
+echo "$ac_t""$ac_cv_c_bigendian" 1>&6
+if test $ac_cv_c_bigendian = yes; then
+  cat >> confdefs.h <<\EOF
+#define WORDS_BIGENDIAN 1
+EOF
+
+fi
+
+
+
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+ab_flags=
+for ab_flag in -fno-exceptions -fno-rtti; do
+
+echo $ac_n "checking whether ${CXX} supports the $ab_flag flag""... $ac_c" 1>&6
+echo "configure:2459: checking whether ${CXX} supports the $ab_flag flag" >&5
+ab_flag_var=`echo $ab_flag | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ab_cv_flag_$ab_flag_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  
+
+ab_save_flags="$CXXFLAGS"
+CXXFLAGS="$CXXFLAGS $ab_flag"
+cat > conftest.$ac_ext <<EOF
+#line 2469 "configure"
+#include "confdefs.h"
+
+int main() {
+int a;
+; return 0; }
+EOF
+if { (eval echo configure:2476: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  eval "ab_cv_flag_$ab_flag_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ab_cv_flag_$ab_flag_var=no"
+fi
+rm -f conftest*
+CXXFLAGS="$ab_save_flags"
+
+fi
+
+if eval "test \"`echo '$ab_cv_flag_'$ab_flag_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  ab_flags="$ab_flags $ab_flag"
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+ADDCXXFLAGS="$ab_flags"
+
+done
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+
+mkdir -p src/net/unix src/net/mac
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+  case `(ac_space=' '; set) 2>&1` in
+  *ac_space=\ *)
+    # `set' does not quote correctly, so add quotes (double-quote substitution
+    # turns \\\\ into \\, and sed turns \\ into \).
+    sed -n \
+      -e "s/'/'\\\\''/g" \
+      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+    ;;
+  *)
+    # `set' quotes correctly as required by POSIX, so do not add quotes.
+    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+    ;;
+  esac >> confcache
+if cmp -s $cache_file confcache; then
+  :
+else
+  if test -w $cache_file; then
+    echo "updating cache $cache_file"
+    cat confcache > $cache_file
+  else
+    echo "not updating unwritable cache $cache_file"
+  fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+cat > conftest.defs <<\EOF
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
+s%[    `~#$^&*(){}\\|;'"<>?]%\\&%g
+s%\[%\\&%g
+s%\]%\\&%g
+s%\$%$$%g
+EOF
+DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
+rm -f conftest.defs
+
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+    echo "$CONFIG_STATUS generated by autoconf version 2.12"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile abuse" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@CPP@%$CPP%g
+s%@CXX@%$CXX%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@X_CFLAGS@%$X_CFLAGS%g
+s%@X_PRE_LIBS@%$X_PRE_LIBS%g
+s%@X_LIBS@%$X_LIBS%g
+s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
+s%@PROGS@%$PROGS%g
+s%@ADDCXXFLAGS@%$ADDCXXFLAGS%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+  if test $ac_beg -gt 1; then
+    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+  else
+    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+  fi
+  if test ! -s conftest.s$ac_file; then
+    ac_more_lines=false
+    rm -f conftest.s$ac_file
+  else
+    if test -z "$ac_sed_cmds"; then
+      ac_sed_cmds="sed -f conftest.s$ac_file"
+    else
+      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+    fi
+    ac_file=`expr $ac_file + 1`
+    ac_beg=$ac_end
+    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+  fi
+done
+if test -z "$ac_sed_cmds"; then
+  ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile abuse"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  case "$ac_given_INSTALL" in
+  [/$]*) INSTALL="$ac_given_INSTALL" ;;
+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+  esac
+
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+
+  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/abuse/configure.in b/abuse/configure.in
new file mode 100644 (file)
index 0000000..675d74c
--- /dev/null
@@ -0,0 +1,49 @@
+AC_INIT(src/game.c)
+AM_INIT_AUTOMAKE(abuse, 2.0)
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_CXX
+AC_CANONICAL_HOST
+AC_ARG_PROGRAM
+AC_PROG_INSTALL
+
+AC_PATH_XTRA
+
+# Do we need to link against something for X shared memory support?
+AC_CHECK_LIB(Xext,XShmAttach,:,[
+AC_CHECK_LIB(XextSam,XShmAttach,LIBS="$LIBS -lXextSam",,$X_LIBS -lX11 -lXext)
+],$X_LIBS -lX11)
+
+PROGS=
+case ${host} in
+  *-*-linux*) 
+       AC_CHECK_HEADER(vga.h,PROGS='abuse.console keydrv',)
+       PROGS="${PROGS} lnx_sdrv"
+       ;;
+  mips-sgi-irix*) 
+       PROGS=sgi_sdrv
+       ;;
+  powerpc-*-aix4*)
+       if test -f /usr/lpp/UMS/include/UMSAudioDevice.h && 
+          test -f /usr/lpp/som/include/somobj.h; then
+         PROGS=aix_sdrv
+       fi
+       ;;
+  *) 
+       ;;
+esac
+AC_SUBST(PROGS)
+
+AC_CHECK_HEADERS(bstring.h)
+AC_CHECK_FUNCS(atexit on_exit, break)
+AB_C_BIGENDIAN
+AC_SUBST(LIBS)
+
+AC_LANG_SAVE
+AC_LANG_CPLUSPLUS
+AB_ADD_FLAGS(-fno-exceptions -fno-rtti)
+AC_LANG_RESTORE
+
+mkdir -p src/net/unix src/net/mac
+
+AC_OUTPUT(Makefile abuse)
diff --git a/abuse/defaults.prp b/abuse/defaults.prp
new file mode 100644 (file)
index 0000000..84e5e6a
--- /dev/null
@@ -0,0 +1,29 @@
+area_box y = 0
+area_box x = 0
+fg_reversed = 1
+mouse_scrolling = 1
+toolbar y = 90
+toolbar x = 281
+ai y = 0
+ai x = 0
+pal y = 61
+pal x = 0
+fore y = 15
+fore x = 85
+ledit y = 0
+ledit x = 0
+oedit y = 0
+oedit x = 0
+light create r2 = 100
+light create r1 = 1
+light create h = 0
+light create w = 0
+light create y = 24
+light create x = 224
+layer y = 60
+layer x = 282
+objects x = 0
+objects y = 0
+back x = 167
+back y = 9
+raise_all = 0
diff --git a/abuse/dirlist.c b/abuse/dirlist.c
new file mode 100644 (file)
index 0000000..14f5778
--- /dev/null
@@ -0,0 +1,21 @@
+"addon",
+"addon/bgames",
+"addon/bong",
+"addon/deathmat",
+"addon/diffsens",
+"addon/example",
+"addon/nextlev2",
+"addon/serpent",
+"addon/teamplay",
+"art",
+"art/back",
+"art/chars",
+"art/fore",
+"art/tints/ant",
+"art/tints/cop",
+"art/tints/guns",
+"levels",
+"lisp",
+"netlevel",
+"register",
+"sfx",
diff --git a/abuse/edit.lsp b/abuse/edit.lsp
new file mode 100644 (file)
index 0000000..13a0b3c
--- /dev/null
@@ -0,0 +1,3 @@
+(set_zoom 15)
+(add_palette "pal" 2 2 288 126 1 100 101 102 103 )
+
diff --git a/abuse/filelst.c b/abuse/filelst.c
new file mode 100644 (file)
index 0000000..c548bea
--- /dev/null
@@ -0,0 +1,323 @@
+"addon/bgames/bgames.lsp",
+"addon/bgames/checkers.lsp",
+"addon/bgames/checkers.lvl",
+"addon/bgames/chess.lsp",
+"addon/bgames/chess.lvl",
+"addon/bgames/chess.spe",
+"addon/bgames/connect4.lsp",
+"addon/bgames/connect4.lvl",
+"addon/bgames/current.lsp",
+"addon/bgames/othello.lsp",
+"addon/bgames/othello.lvl",
+"addon/bgames/pong.spe",
+"addon/bong/bong.lsp",
+"addon/bong/bong.spe",
+"addon/bong/bong01.lvl",
+"addon/deathmat/cur_lev.lsp",
+"addon/deathmat/deathmat.lsp",
+"addon/deathmat/dstartup.lsp",
+"addon/deathmat/gamename.lsp",
+"addon/deathmat/large.lsp",
+"addon/deathmat/levelset.lsp",
+"addon/deathmat/medium.lsp",
+"addon/deathmat/small.lsp",
+"addon/deathmat/username.lsp",
+"addon/deathmat/version.lsp",
+"addon/diffsens/article.2",
+"addon/diffsens/diffsens.lsp",
+"addon/diffsens/diffsens.spe",
+"addon/example/example.lsp",
+"addon/example/example.lvl",
+"addon/example/example.spe",
+"addon/nextlev2/nextlev2.lsp",
+"addon/serpent/serpent.lsp",
+"addon/serpent/serpent.spe",
+"addon/teamplay/dstartup.lsp",
+"addon/teamplay/normal.spe",
+"addon/teamplay/people.lsp",
+"addon/teamplay/teamplay.lsp",
+"art/ant.spe",
+"art/back/backgrnd.spe",
+"art/back/cave.spe",
+"art/back/city.spe",
+"art/back/intro.spe",
+"art/back/tech.spe",
+"art/ball.spe",
+"art/blowups.spe",
+"art/bold.spe",
+"art/chars/ammo.spe",
+"art/chars/block.spe",
+"art/chars/concus.spe",
+"art/chars/door.spe",
+"art/chars/lava.spe",
+"art/chars/lavap.spe",
+"art/chars/lightin.spe",
+"art/chars/mine.spe",
+"art/chars/platform.spe",
+"art/chars/push.spe",
+"art/chars/sect.spe",
+"art/chars/step.spe",
+"art/chars/tdoor.spe",
+"art/chars/teleport.spe",
+"art/cloud.spe",
+"art/compass.spe",
+"art/consfnt.spe",
+"art/cop.spe",
+"art/coptop.spe",
+"art/credit.spe",
+"art/dev.spe",
+"art/door.spe",
+"art/endgame.spe",
+"art/exp1.spe",
+"art/flyer.spe",
+"art/fonts.spe",
+"art/fore/cave.spe",
+"art/fore/foregrnd.spe",
+"art/fore/techno.spe",
+"art/fore/techno2.spe",
+"art/fore/techno3.spe",
+"art/fore/techno4.spe",
+"art/frame.spe",
+"art/gun2.spe",
+"art/help.spe",
+"art/icons.spe",
+"art/jug.spe",
+"art/letters.spe",
+"art/misc.spe",
+"art/missle.spe",
+"art/pform.spe",
+"art/rob1.spe",
+"art/rob2.spe",
+"art/screen11.spe",
+"art/smoke.spe",
+"art/statbar.spe",
+"art/tints/ant/blue.spe",
+"art/tints/ant/brown.spe",
+"art/tints/ant/darkblue.spe",
+"art/tints/ant/egg.spe",
+"art/tints/ant/evil.spe",
+"art/tints/ant/gray.spe",
+"art/tints/ant/green.spe",
+"art/tints/ant/mustard.spe",
+"art/tints/ant/orange.spe",
+"art/tints/ant/yellow.spe",
+"art/tints/cop/africa.spe",
+"art/tints/cop/blue.spe",
+"art/tints/cop/bright.spe",
+"art/tints/cop/darkblue.spe",
+"art/tints/cop/fire.spe",
+"art/tints/cop/gold.spe",
+"art/tints/cop/gray.spe",
+"art/tints/cop/land.spe",
+"art/tints/cop/normal.txt",
+"art/tints/cop/olive.spe",
+"art/tints/cop/pinkish.spe",
+"art/tints/cop/purple.spe",
+"art/tints/cop/yellow.spe",
+"art/tints/guns/blue.spe",
+"art/tints/guns/green.spe",
+"art/tints/guns/orange.spe",
+"art/tints/guns/redish.spe",
+"art/title.spe",
+"levels/demo1.dat",
+"levels/demo1.spe",
+"levels/demo2.dat",
+"levels/demo2.spe",
+"levels/demo3.dat",
+"levels/demo4.dat",
+"levels/demo4.spe",
+"levels/demo5.dat",
+"levels/demo5.spe",
+"levels/end.spe",
+"levels/flevel12.spe",
+"levels/level00.cpf",
+"levels/level00.spe",
+"levels/level01.cpf",
+"levels/level01.spe",
+"levels/level02.cpf",
+"levels/level02.spe",
+"levels/level03.cpf",
+"levels/level03.spe",
+"levels/level04.cpf",
+"levels/level04.spe",
+"levels/level05.cpf",
+"levels/level05.spe",
+"levels/level06.cpf",
+"levels/level06.spe",
+"levels/level07.cpf",
+"levels/level07.spe",
+"levels/level08.cpf",
+"levels/level08.spe",
+"levels/level09.cpf",
+"levels/level09.spe",
+"levels/level10.cpf",
+"levels/level10.spe",
+"levels/level11.cpf",
+"levels/level11.spe",
+"levels/level12.cpf",
+"levels/level12.spe",
+"levels/level13.cpf",
+"levels/level13.spe",
+"levels/level14.cpf",
+"levels/level14.spe",
+"levels/level15.cpf",
+"levels/level15.spe",
+"levels/level16.cpf",
+"levels/level16.spe",
+"levels/level17.cpf",
+"levels/level17.spe",
+"levels/level18.cpf",
+"levels/level18.spe",
+"levels/level19.spe",
+"levels/level20.cpf",
+"levels/level20.spe",
+"levels/level21.cpf",
+"levels/level21.spe",
+"levels/levels.spe",
+"levels/mvscr",
+"levels/netreg1.spe",
+"levels/netshar1.spe",
+"levels/netshar2.spe",
+"levels/pong.lvl",
+"levels/uhh.spe",
+"lisp/ant.lsp",
+"lisp/chat.lsp",
+"lisp/common.lsp",
+"lisp/doors.lsp",
+"lisp/duong.lsp",
+"lisp/english.lsp",
+"lisp/explo.lsp",
+"lisp/flyer.lsp",
+"lisp/french.lsp",
+"lisp/gates.lsp",
+"lisp/general.lsp",
+"lisp/german.lsp",
+"lisp/guns.lsp",
+"lisp/input.lsp",
+"lisp/jugger.lsp",
+"lisp/ladder.lsp",
+"lisp/language.lsp",
+"lisp/light.lsp",
+"lisp/options.lsp",
+"lisp/people.lsp",
+"lisp/platform.lsp",
+"lisp/playwav.lsp",
+"lisp/powerup.lsp",
+"lisp/sfx.lsp",
+"lisp/sfx.lsp.old",
+"lisp/share.lsp",
+"lisp/startup.lsp",
+"lisp/switch.lsp",
+"lisp/teleport.lsp",
+"lisp/upgrade.lsp",
+"lisp/userfuns.lsp",
+"lisp/version.lsp",
+"lisp/weapons.lsp",
+"netlevel/2play1.spe",
+"netlevel/2play2.spe",
+"netlevel/2play3.spe",
+"netlevel/2play4.spe",
+"netlevel/4play1.spe",
+"netlevel/4play2.spe",
+"netlevel/4play3.spe",
+"netlevel/4play4.spe",
+"netlevel/8play1.spe",
+"netlevel/8play2.spe",
+"netlevel/8play3.spe",
+"netlevel/8play4.spe",
+"register/alien.spe",
+"register/alienb.spe",
+"register/ant.lsp",
+"register/boss.spe",
+"register/english.lsp",
+"register/flyer.lsp",
+"register/galien.spe",
+"register/green2.spe",
+"register/micron.vcd",
+"register/people.lsp",
+"register/powerup.lsp",
+"register/tiles.lsp",
+"register/trees.spe",
+"register/trees2.spe",
+"register/weapons.lsp",
+"sfx/adie02.wav",
+"sfx/adie03.wav",
+"sfx/adie05.wav",
+"sfx/ahit01.wav",
+"sfx/aland01.wav",
+"sfx/alien01.wav",
+"sfx/amb07.wav",
+"sfx/amb10.wav",
+"sfx/amb11.wav",
+"sfx/amb13.wav",
+"sfx/amb15.wav",
+"sfx/amb16.wav",
+"sfx/ambcave1.wav",
+"sfx/ambcave2.wav",
+"sfx/ambcave3.wav",
+"sfx/ambcave4.wav",
+"sfx/ambfrst2.wav",
+"sfx/ambtech1.wav",
+"sfx/ambtech2.wav",
+"sfx/ambtech3.wav",
+"sfx/ammo01.wav",
+"sfx/ammo02.wav",
+"sfx/apain01.wav",
+"sfx/aslash01.wav",
+"sfx/ball01.wav",
+"sfx/blkfoot4.wav",
+"sfx/button02.wav",
+"sfx/cleaner.wav",
+"sfx/crmble01.wav",
+"sfx/delobj01.wav",
+"sfx/doorup01.wav",
+"sfx/doorup02.wav",
+"sfx/eleacc01.wav",
+"sfx/elect02.wav",
+"sfx/eledec01.wav",
+"sfx/endlvl02.wav",
+"sfx/explod02.wav",
+"sfx/fadeon01.wav",
+"sfx/firebmb1.wav",
+"sfx/flamloop.wav",
+"sfx/fly03.wav",
+"sfx/force01.wav",
+"sfx/grenad01.wav",
+"sfx/health01.wav",
+"sfx/lasrmis2.wav",
+"sfx/lava01.wav",
+"sfx/link01.wav",
+"sfx/logo09.wav",
+"sfx/metal.wav",
+"sfx/mghit01.wav",
+"sfx/mghit02.wav",
+"sfx/pland01.wav",
+"sfx/plasma02.wav",
+"sfx/plasma03.wav",
+"sfx/pldeth02.wav",
+"sfx/pldeth04.wav",
+"sfx/pldeth05.wav",
+"sfx/pldeth07.wav",
+"sfx/plpain01.wav",
+"sfx/plpain02.wav",
+"sfx/plpain04.wav",
+"sfx/plpain10.wav",
+"sfx/poof05.wav",
+"sfx/poof06.wav",
+"sfx/robot02.wav",
+"sfx/rocket02.wav",
+"sfx/save01.wav",
+"sfx/save05.wav",
+"sfx/scream02.wav",
+"sfx/scream03.wav",
+"sfx/scream08.wav",
+"sfx/shotgn31.wav",
+"sfx/speed02.wav",
+"sfx/spring03.wav",
+"sfx/swish01.wav",
+"sfx/switch01.wav",
+"sfx/telept01.wav",
+"sfx/throw01.wav",
+"sfx/timerfst.wav",
+"sfx/zap2.wav",
+"sfx/zap3.wav",
diff --git a/abuse/fsetup.ini b/abuse/fsetup.ini
new file mode 100644 (file)
index 0000000..4f19cce
--- /dev/null
@@ -0,0 +1,59 @@
+[PROGRAM]\r
+Title       =  Configuration carte son pour Abuse \r
+Copyright   =  (C) Copyright 1995 - Crack dot Com - All Rights Reserved\r
+ConfigFile  =  sndcard.cfg\r
+DigitalTest =  test.raw\r
+MIDITest    =  music\intro.hmi\r
+MIDIMelodic =  test.raw\r
+MIDIDrum    =  test.raw\r
+Stereo      =  No\r
+16Bit       =  No\r
+\r
+[SYSTEM]\r
+ColorSet1   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+ColorSet2   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+ColorSet3   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+ColorSet4   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+Devices     =  1\r
+DigitalPFX  =  DIGITAL\r
+MIDIPFX     =  MIDI\r
+\r
+#  < ID String > = < name >, < ID >, < Port >, < IRQ >, < DMA >, < MIDI Index >\r
+[DIGITAL]\r
+Device000   =  Sound Blaster           , 0xe000, 0x220,  5, 1, 1\r
+Device001   =  Sound Blaster Pro       , 0xe001, 0x220,  5, 1, 1\r
+Device002   =  Sound Blaster 16        , 0xe015, 0x220,  5, 1, 1\r
+Device003   =  Sound Blaster AWE32     , 0xe015, 0x220,  5, 1, 1\r
+Device004   =  Ensoniq SoundScape      , 0xe01d, 0x330, -1, 1, 1\r
+Device005   =  Pas de carte son                   , -1,        -1, -1,-1, 1\r
+\r
+\r
+[DETECTION]\r
+DeviceOrder =  5, 4, 2, 1, 0, 3, 6, 7, 8, 9, 10, 14, 15\r
+\r
+#  < name >, < ID >, < MIDI Type >\r
+[MIDI]\r
+Device000   =  MPU-401                 , 0xa001, 0\r
+Device001   =  Roland Sound Canvas     , 0xa001, 0\r
+Device002   =  Roland RAP-10           , 0xa001, 0\r
+Device003   =  Roland SCC-1 or LAPC-1  , 0xa001, 0\r
+Device004   =  Pas de musique Midi     , -1,    -1\r
+\r
+# < Default >, < Port >, ....\r
+[MIDISETTINGS]\r
+Device000   =  4, 0x300, 0x310, 0x320, 0x330, 0x340, 0x350\r
+Device001   =  4, 0x300, 0x320, 0x330, 0x332, 0x334, 0x336, 0x340\r
+Device002   =  1, 0x220, 0x230, 0x240, 0x250, 0x320, 0x330, 0x340\r
+Device003   =  4, 0x330, 0x332, 0x334, 0x336\r
+Device004   =  1, 0x388\r
+Device005   =  1, 0x388\r
+Device006   =  1, 0x388\r
+Device007   =  4, 0x388\r
+Device008   =  1, 0x388\r
+Device009   =  1, 0x388\r
+Device010   =  1, 0x388\r
+Device011   =  1, 0x388\r
+Device012   =  1, 0x388\r
+Device013   =  4, 0x300, 0x310, 0x320, 0x330, 0x340\r
+\r
+\r
diff --git a/abuse/game.lnk b/abuse/game.lnk
new file mode 100644 (file)
index 0000000..336ca3f
--- /dev/null
@@ -0,0 +1,78 @@
+system dos4gw
+option caseexact
+option map=game.map
+debug all
+name game.exe
+option stack=120k
+file src\net\dos4gw\wat\debug\ipx_dud.obj
+file src\wat\debug\specache.obj
+file ..\imlib\wat\debug\sprite.obj
+file src\wat\debug\netcfg.obj
+file src\wat\debug\text_gui.obj
+file src\wat\debug\innet.obj
+file src\net\unix\wat\debug\gserver.obj
+file src\net\unix\wat\debug\gclient.obj
+file src\net\unix\wat\debug\fileman.obj
+file src\net\wat\debug\sock.obj
+file src\wat\debug\chat.obj
+file src\wat\debug\endgame.obj
+file src\wat\debug\setup.obj
+file src\wat\debug\version.obj
+file src\wat\debug\loadgame.obj
+file src\wat\debug\profile.obj
+file src\wat\debug\cop.obj
+file src\wat\debug\statbar.obj
+file src\wat\debug\compiled.obj
+file src\wat\debug\ant.obj
+file src\wat\debug\sensor.obj
+file src\wat\debug\lisp_opt.obj
+file src\wat\debug\demo.obj
+file src\wat\debug\lcache.obj
+file src\wat\debug\lisp_gc.obj
+file src\wat\debug\nfclient.obj
+file src\wat\debug\username.obj
+file src\wat\debug\clisp.obj
+file src\wat\debug\gui.obj
+file src\wat\debug\transp.obj
+file src\wat\debug\collide.obj
+file src\wat\debug\trig.obj
+file src\wat\debug\property.obj
+file src\wat\debug\lisp.obj
+file src\wat\debug\cache.obj
+file src\wat\debug\particle.obj
+file src\wat\debug\objects.obj
+file src\wat\debug\extend.obj
+file src\wat\debug\console.obj
+file src\wat\debug\ability.obj
+file src\wat\debug\items.obj
+file src\wat\debug\dev.obj
+file src\wat\debug\chars.obj
+file src\wat\debug\level.obj
+file src\wat\debug\smallfnt.obj
+file src\wat\debug\automap.obj
+file src\wat\debug\help.obj
+file src\wat\debug\intsect.obj
+file src\wat\debug\loader2.obj
+file src\wat\debug\seq.obj
+file src\wat\debug\points.obj
+file src\wat\debug\fnt6x13.obj
+file src\wat\debug\morpher.obj
+file src\wat\debug\menu.obj
+file src\wat\debug\director.obj
+file src\wat\debug\view.obj
+file src\wat\debug\config.obj
+file src\wat\debug\game.obj
+file src\wat\debug\light.obj
+file src\wat\debug\devsel.obj
+file src\wat\debug\crc.obj
+file src\wat\debug\gamma.obj
+file src\wat\debug\language.obj
+file ..\imlib\wat\debug\image.lib
+file ..\imlib\wat\debug\winman.lib
+file ..\imlib\wat\debug\gui.lib
+file ..\imlib\wat\debug\dir.lib
+file ..\imlib\wat\debug\time.lib
+file c:\sos\lib\sosw1cr.lib
+file ..\imlib\wat\debug\sound.lib
+file ..\imlib\wat\debug\joy.lib
+file ..\imlib\wat\debug\packet.lib
diff --git a/abuse/gamma.lsp b/abuse/gamma.lsp
new file mode 100644 (file)
index 0000000..45a5aa9
--- /dev/null
@@ -0,0 +1 @@
+(setq darkest_gray 24)
diff --git a/abuse/gsetup.ini b/abuse/gsetup.ini
new file mode 100644 (file)
index 0000000..1a993c4
--- /dev/null
@@ -0,0 +1,59 @@
+[PROGRAM]\r
+Title       =  Abuse Soundkarten-Konfiguration\r
+Copyright   =  (C) Copyright 1995 - Crack dot Com - All Rights Reserved\r
+ConfigFile  =  sndcard.cfg\r
+DigitalTest =  test.raw\r
+MIDITest    =  music\intro.hmi\r
+MIDIMelodic =  test.raw\r
+MIDIDrum    =  test.raw\r
+Stereo      =  No\r
+16Bit       =  No\r
+\r
+[SYSTEM]\r
+ColorSet1   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+ColorSet2   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+ColorSet3   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+ColorSet4   =  0x70, 0x71, 0x72, 0x73, 0x74\r
+Devices     =  1\r
+DigitalPFX  =  DIGITAL\r
+MIDIPFX     =  MIDI\r
+\r
+#  < ID String > = < name >, < ID >, < Port >, < IRQ >, < DMA >, < MIDI Index >\r
+[DIGITAL]\r
+Device000   =  Sound Blaster           , 0xe000, 0x220,  5, 1, 1\r
+Device001   =  Sound Blaster Pro       , 0xe001, 0x220,  5, 1, 1\r
+Device002   =  Sound Blaster 16        , 0xe015, 0x220,  5, 1, 1\r
+Device003   =  Sound Blaster AWE32     , 0xe015, 0x220,  5, 1, 1\r
+Device004   =  Ensoniq SoundScape      , 0xe01d, 0x330, -1, 1, 1\r
+Device005   =  Keine Soundkarte            , -1,        -1, -1,-1, 1\r
+\r
+\r
+[DETECTION]\r
+DeviceOrder =  5, 4, 2, 1, 0, 3, 6, 7, 8, 9, 10, 14, 15\r
+\r
+#  < name >, < ID >, < MIDI Type >\r
+[MIDI]\r
+Device000   =  MPU-401                 , 0xa001, 0\r
+Device001   =  Roland Sound Canvas     , 0xa001, 0\r
+Device002   =  Roland RAP-10           , 0xa001, 0\r
+Device003   =  Roland SCC-1 or LAPC-1  , 0xa001, 0\r
+Device004   =  Keine Midi-Karte                 , -1,    -1\r
+\r
+# < Default >, < Port >, ....\r
+[MIDISETTINGS]\r
+Device000   =  4, 0x300, 0x310, 0x320, 0x330, 0x340, 0x350\r
+Device001   =  4, 0x300, 0x320, 0x330, 0x332, 0x334, 0x336, 0x340\r
+Device002   =  1, 0x220, 0x230, 0x240, 0x250, 0x320, 0x330, 0x340\r
+Device003   =  4, 0x330, 0x332, 0x334, 0x336\r
+Device004   =  1, 0x388\r
+Device005   =  1, 0x388\r
+Device006   =  1, 0x388\r
+Device007   =  4, 0x388\r
+Device008   =  1, 0x388\r
+Device009   =  1, 0x388\r
+Device010   =  1, 0x388\r
+Device011   =  1, 0x388\r
+Device012   =  1, 0x388\r
+Device013   =  4, 0x300, 0x310, 0x320, 0x330, 0x340\r
+\r
+\r
diff --git a/abuse/hardness.lsp b/abuse/hardness.lsp
new file mode 100644 (file)
index 0000000..cb80744
--- /dev/null
@@ -0,0 +1 @@
+(setf difficulty 'hard)
diff --git a/abuse/i4maker.lsp b/abuse/i4maker.lsp
new file mode 100644 (file)
index 0000000..5a74e43
--- /dev/null
@@ -0,0 +1,149 @@
+(perm-space)
+
+(setq outdir "/tmp/")
+
+(defun imlib (filename) (concatenate 'string "../imlib/" filename))
+(defun i4 (filename) (concatenate 'string "../i4/" filename))
+(defun x (y) (cons y "hI"))
+
+(defun list_imlib (list)
+  (if list
+      (cons (imlib (car list)) (list_imlib (cdr list)))))
+
+(setq platform-files 
+      (select platform
+             ('LINUX                       
+               (print (mapcar 'x '("hi" "there")))
+               (list_imlib
+                       '("port/unix/jdir"
+                         "port/unix/joystick"
+                         "port/x11/video"
+                         "port/x11/mouse"
+                         "port/x11/event"
+                         "port/unix/timing"
+                         )))
+
+             ('SGI
+               (list_imlib
+                       '("port/sgi/sound"
+                         "port/unix/joystick"
+                         "port/x11/video"
+                         "port/x11/mouse"
+                         "port/x11/event"
+                         "port/sgi/timing"
+                         "port/unix/jdir"
+                         )))
+              ('WATCOM 
+               (list_imlib
+                       '("port/svga/video"
+                         "port/svga/mouse"
+                         "port/svga/event"
+                         "port/dos4gw/sound"
+                         "port/dos4gw/profile"
+                         "port/dos4gw/jdir"
+                         "port/dos4gw/video"
+                         "port/dos4gw/mouse"
+                         "port/dos4gw/event"
+                         "port/dos4gw/doscall"
+                         "port/dos4gw/joystick"
+                         "port/dos4gw/timing"
+                         )))
+              ))
+              
+
+
+
+(print "Generating makefile for : ")
+(print platform)
+
+(setq executable_name            "game")
+(setq c_files_used    (nconc 
+                            platform-files
+                             (list_imlib 
+                                     '("filter"   "gifread" "globals" "image"  "linked" "input"
+                                       "mdlread"  "palette" "ppmread" "sprite" "include" "xwdread" 
+                                       "fonts"    "decoder" "loader"  "glread" "texture" "specs" 
+                                       "supmorph" "image24" "pcxread" "timage" "jmalloc" 
+                                       "jrand"    "lbmread" "keys"    "dprint" "status"  "visobj"
+                                       "readwav"  "packet"
+                                       "pmenu" "scroller" "filesel" "tools" "guistat"
+                                       "jwindow"
+                                       ))
+                             '("src/netcfg"  
+                               "src/text_gui"
+                               "src/innet"                      
+                               "src/net/unix/gserver"  
+                               "src/net/unix/gclient"           
+                               "src/net/unix/fileman"            
+                               "src/net/sock"
+                               "src/chat"      
+                               "src/endgame"    
+                               "src/setup"       
+                               "src/version"    
+                               "src/loadgame"  
+                               "src/profile"
+                               "src/cop"        
+                               "src/statbar"   
+                               "src/compiled"    
+                               "src/ant"       
+                               "src/sensor" 
+                               "src/lisp_opt"   
+                               "src/demo"      
+                               "src/lcache"      
+                               "src/lisp_gc"
+                               "src/nfclient"   
+                               "src/username"  
+                               "src/clisp"       
+                               "src/gui" 
+                               "src/transp"     
+                               "src/collide"   
+                               "src/trig"        
+                               "src/property" 
+                               "src/lisp"       
+                               "src/cache"     
+                               "src/particle"    
+                               "src/objects"
+                               "src/extend"     
+                               "src/console"   
+                               "src/ability" 
+                               "src/items"      
+                               "src/dev"       
+                               "src/chars"        
+                               "src/level"    
+                               "src/smallfnt"   
+                               "src/automap" 
+                               "src/help"       
+                               "src/intsect"   
+                               "src/loader"       
+                               "src/seq"      
+                               "src/points"     
+                               "src/fnt6x13"   
+                               "src/morpher"      
+                               "src/menu"     
+                               "src/director" 
+                               "src/view" 
+                               "src/config"     
+                               "src/game"      
+                               "src/light"        
+                               "src/devsel" 
+                               "src/crc"        
+                               "src/gamma"     
+                               "src/language")))
+
+
+
+(setq inc_directories (list (imlib "include") "inc" ))
+(setq libraries_used ())
+                          
+
+
+(setq targets     
+       `((,executable_name
+          ,c_files_used
+          ,libraries_used
+          ,inc_directories
+          "")))
+
+(setq cflags         "")
+(trace)
+(compile-file        (i4 "lisp/makemake.lsp"))
\ No newline at end of file
diff --git a/abuse/inc/ability.hpp b/abuse/inc/ability.hpp
new file mode 100644 (file)
index 0000000..6e51d3d
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef ABILITIES_HPP_
+#define ABILITIES_HPP_
+
+enum ability
+{      start_hp,
+       start_accel,
+       stop_accel,
+        jump_xvel,
+       jump_yvel,
+       run_top_speed,
+       jump_top_speed,
+
+       tint_color,
+       push_xrange,
+       walk_top_speed                  // keep as last entry!
+} ;
+
+#define TOTAL_ABILITIES (walk_top_speed+1)
+extern char *ability_names[TOTAL_ABILITIES];
+long get_ability(int who, ability a);
+long get_ability_default(ability a);
+
+#endif
+
+
diff --git a/abuse/inc/ant.hpp b/abuse/inc/ant.hpp
new file mode 100644 (file)
index 0000000..78d9ce4
--- /dev/null
@@ -0,0 +1,21 @@
+#ifndef __ANT_HPP_
+#define __ANT_HPP_
+
+enum { ANT_START,
+       ANT_HANGING=15,
+       ANT_HIDING=16,
+       ANT_FALL_DOWN=1,
+       ANT_LANDING=9,
+       ANT_RUNNING=2,
+       ANT_POUNCE_WAIT=4,
+       ANT_JUMP=6,
+       ANT_FIRE=8,
+       ANT_JUMP_ROOF=12,
+       ANT_ROOF_WALK=13,
+       ANT_CEIL_SHOOT=14};
+
+void *ant_ai();
+void show_stats();
+
+
+#endif
diff --git a/abuse/inc/automap.hpp b/abuse/inc/automap.hpp
new file mode 100644 (file)
index 0000000..0a6415f
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef __AUTOMAP_HPP_
+#define __AUTOMAP_HPP_
+
+#include "jwindow.hpp"
+#include "level.hpp"
+
+class automap
+{ 
+  jwindow *automap_window;
+  level *cur_lev;
+  int tick,w,h;                // used to draw your position as a blinking spot
+  long old_dx,old_dy;
+public :
+  automap(level *l, int width, int height);
+  void toggle_window();
+  void handle_event(event &ev);
+  void draw();
+  ~automap() { if (automap_window) toggle_window(); }
+} ;
+
+extern automap *current_automap;
+
+#endif
+
+
diff --git a/abuse/inc/bus_type.hpp b/abuse/inc/bus_type.hpp
new file mode 100644 (file)
index 0000000..e5e19d8
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef BUS_TYPE_HPP
+#define BUS_TYPE_HPP
+
+#ifdef __sgi
+#define WORD_ALLIGN 1
+#endif
+
+#ifdef sun
+#define WORD_ALLIGN 1
+#endif
+
+#ifdef SUN3
+#define WORD_ALLIGN 1
+#endif
+
+#ifdef SUN4
+#define WORD_ALLIGN 1
+#endif
+
+#ifdef __sgi
+#define WORD_ALLIGN 1
+#endif
+
+#ifdef _AIX
+#define WORD_ALLIGN 1
+#endif
+
+#endif
diff --git a/abuse/inc/cache.hpp b/abuse/inc/cache.hpp
new file mode 100644 (file)
index 0000000..475ccd5
--- /dev/null
@@ -0,0 +1,133 @@
+#ifndef __CASHE_HPP_
+#define __CASHE_HPP_
+
+#include <stdlib.h>
+#include "specs.hpp"
+#include "items.hpp"
+#include "sound.hpp"
+#include "particle.hpp"
+#include "lisp.hpp"
+
+class level;
+/* Cache item types :
+
+      foretile,backtile,character,
+      sound,
+      image,trans_image
+
+*/
+
+
+
+struct cache_item
+{
+  void *data;
+  long last_access;   
+  unsigned char type;
+  short file_number;
+  long offset;
+} ;
+
+
+
+class crced_file
+{
+  public :
+  int crc_calculated;
+  ulong crc;
+  char *filename;
+  crced_file(char *name);
+  ~crced_file();
+} ;
+
+class crc_manager  // stores crc for each file open so redundant calculations are not done
+{
+  int total_files;
+  crced_file **files;
+  public :
+  crc_manager();
+  int get_filenumber(char *filename);
+  ulong get_crc(long filenumber, int &failed);
+  void set_crc(long filenumber, ulong crc);
+  char *get_filename(long filenumber);
+  void clean_up();
+  int total_filenames() { return total_files; }
+  int write_crc_file(char *filename);
+  int load_crc_file(char *filename);
+} ;
+
+
+
+class cache_list
+{
+  cache_item *list;
+  long total,last_registered,last_access,poll_start_access;
+  short last_file;           // for speed leave the last file accessed open
+
+  bFILE *fp,*cache_file,*cache_read_file;
+  spec_directory *last_dir;
+  long last_offset;          // store the last offset so we don't have to seek if
+                             // we don't need to
+  
+
+  short lcache_number;
+  long alloc_id();
+  void locate(cache_item *i, int local_only=0);    // set up file and offset for this item
+  void normalize();
+  void unmalloc(cache_item *i);
+  int used,                                 // flag set when disk is accessed
+      ful;                                  // set when stuff has to be thrown out
+  int *prof_data;                           // holds counts for each id
+  void preload_cache_object(int type);
+  void preload_cache(level *lev);
+public :
+  void create_lcache();
+  cache_list();
+  void free_oldest();
+  int in_use() { if (used) { used=0; return 1; } else return 0; }
+  int full() { if (ful) { ful=0; return 1; } else return 0; }
+  long reg_object(char *filename, void *object, int type, int rm_dups);      // lisp object
+  long reg(char *filename, char *name, int type=-1, int rm_dups=0);          // returns id to item
+  long reg_lisp_block(Cell *block);
+  int loaded(int id);
+  void unreg(int id);
+  void note_need(int id);
+
+  backtile       *backt(int id);
+  foretile       *foret(int id);
+  figure          *fig(int id);
+  image           *img(int id);
+  part_frame     *part(int id);
+  sound_effect    *sfx(int id);
+  Cell         *lblock(int id);
+  char_tint     *ctint(int id);
+
+  void prof_init();
+  void prof_write(bFILE *fp);
+  void prof_uninit();
+  int  prof_size();                   // sizeof of spec entry that will be saved
+  void prof_poll_start();
+  void prof_poll_end();
+  int  prof_is_on() { return prof_data!=NULL; }   // so level knows weither to save prof info or not
+  int compare(int a, int b);          // compares the ussage counts of 2 entries (used by qsort)
+  int offset_compare(int a, int b);
+
+  void load_cache_prof_info(char *filename, level *lev);
+  int search(int *sarray, ushort filenum, long offset);  // sarray is a index table sorted by offset/filenum
+
+  void show_accessed();
+  void empty();
+  ~cache_list();
+} ;
+
+extern cache_list cash;
+extern crc_manager crc_man;
+
+
+#endif
+
+
+
+
+
+
diff --git a/abuse/inc/chars.hpp b/abuse/inc/chars.hpp
new file mode 100644 (file)
index 0000000..e07a84a
--- /dev/null
@@ -0,0 +1,137 @@
+#ifndef __CHARACTERZ_HPP_
+#define __CHARACTERZ_HPP_
+
+
+#include "seq.hpp"
+#include "sound.hpp"
+#include "ability.hpp"
+#include "event.hpp"
+#include "macs.hpp"
+#include <stdarg.h>
+#include <time.h>
+
+
+enum character_state {dead,  
+                     dieing,
+                     stopped,                
+                     start_run_jump,run_jump, run_jump_fall, end_run_jump,
+                     flinch_up,flinch_down,
+                     morph_pose,
+                     running
+                   } ;
+
+
+
+#define MAX_STATE (running+1)
+extern char *state_names[];
+
+class named_field
+{
+  public :
+  char *real_name;
+  char *descript_name;
+  named_field(char *real, char *fake) 
+  { real_name=strcpy((char *)jmalloc(strlen(real)+1,"var_name"),real); 
+    descript_name=strcpy((char *)jmalloc(strlen(fake)+1,"var_name"),fake); 
+  }
+  ~named_field() { jfree(real_name); jfree(descript_name); }
+} ;
+
+
+
+// all cflags default is 0
+#define TOTAL_CFLAGS 11
+enum { CFLAG_HURT_ALL,            // if object hurts all characters, not just player
+       CFLAG_IS_WEAPON,           // if object is a collectable weapon (should have a logo)
+       CFLAG_STOPPABLE,           // if object can be stopped by any other object
+       CFLAG_CAN_BLOCK,           // if object can block other object
+       CFLAG_HURTABLE,
+       CFLAG_PUSHABLE,            // can push other pushable characters
+       CFLAG_UNLISTABLE,          // if object should appear in object list during edit mode
+       CFLAG_ADD_FRONT,
+       CFLAG_CACHED_IN,
+       CFLAG_NEED_CACHE_IN,
+       CFLAG_UNACTIVE_SHIELD      // if object is not active (i.e. link 0 aistate==0) 
+                                  // then objects will not draw a damage when hitting it
+     };
+extern char *cflag_names[TOTAL_CFLAGS];
+
+// all object functions default to NULL
+#define TOTAL_OFUNS 11
+enum { OFUN_AI,                   // objects ai function called by the mover, should call (tick)
+       OFUN_MOVER,                // objects move function, gets x y and but
+       OFUN_DRAW,
+       OFUN_MAP_DRAW,
+       OFUN_DAMAGE,               // called when the object receives damage 
+       OFUN_NEXT_STATE,           // called at the end of an object sequence
+       OFUN_USER_FUN,             // can by called (user_fun x y z)
+       OFUN_CONSTRUCTOR,          // called when object is created, dev & play modes
+       OFUN_RELOAD,               // called when the object is loaded from disk (not save games)
+       OFUN_GET_CACHE_LIST,       // called on level load, should return list (a . b) a is character id, and b is other ids
+       OFUN_CHANGE_TYPE
+     } ;
+extern char *ofun_names[TOTAL_OFUNS];
+
+
+class character_type
+{ 
+public :
+  ushort ts,tiv,tv; // total states, total index vars, total local vars
+  sequence **seq;   // [0..ts-1]
+  void **seq_syms;  // symbol describing what this state is [0..ts-1]
+
+  void **vars;  // symbol describing variable names    [0..tiv-1]
+  short *var_index; // index into local var                [0..tiv-1]
+
+  void add_var(void *symbol, void *name);
+  int add_state(void *symbol);              // returns index into seq to use
+  int abil[TOTAL_ABILITIES];
+  void *fun_table[TOTAL_OFUNS];             // pointers to lisp function for this object
+  int logo,morph_mask,morph_power; 
+  long rangex,rangey,draw_rangex,draw_rangey;             // range off screen before character is skipped
+
+  ushort cflags;
+  void *get_fun(int name) { return fun_table[name]; }
+  int get_cflag(int name) { return cflags&(1<<name); }
+  void set_cflag(int name, int x) { if (x) cflags|=(1<<name);  else cflags&=~(1<<name); }
+  int total_fields;                         // used by game editor to replace field names  
+  named_field **fields;
+  character_type(void *args, void *name);   // lisp object describes object 
+
+  sequence *get_sequence(character_state s);
+  void add_sequence(character_state which, sequence *new_seq); 
+  int has_sequence(character_state s) { return s<ts && (seq[s]!=NULL); }
+  int cache_in();    // returns false if out of cache memory
+  void check_sizes();
+  long isa_var_name(char *name);
+
+  ~character_type();
+} ;
+
+extern character_type **figures;
+int flinch_state(character_state state);
+
+void *def_char(void *args);
+
+extern int total_weapons;
+extern int *weapon_types;    // maps 0..total_weapons into 'real' weapon type
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/abuse/inc/chat.hpp b/abuse/inc/chat.hpp
new file mode 100644 (file)
index 0000000..c1f58cf
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef CHAT_HPP_
+#define CHAT_HPP_
+
+#include "console.hpp"
+
+class chat_console : public console
+{
+
+  public :
+  int chat_event(event &ev) { if (!con_win) return 0; else return con_win==ev.window; }
+  void draw_user(char *st);
+  void put_all(char *st);
+  void clear();
+  chat_console(window_manager *WM, JCFont *font, int width, int height);
+  
+} ;
+
+extern chat_console *chat;
+
+#endif
+
+
diff --git a/abuse/inc/chmorph.hpp b/abuse/inc/chmorph.hpp
new file mode 100644 (file)
index 0000000..829f6d5
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef __chmorph_hpp_
+#define __chmorph_hpp_
+
+#include "morph.hpp"
+#include "filter.hpp"
+
+extern jmorph *normal_to_pacman;
+extern color_filter *color_table;
+
+void load_morphs();
+
+#endif
+
+
diff --git a/abuse/inc/client.hpp b/abuse/inc/client.hpp
new file mode 100644 (file)
index 0000000..be13154
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef __CLIENT_HPP_
+#define __CLIENT_HPP_
+/*
+
+  Client duties :
+
+       - Get local inputs
+       - Send current inputs
+
+       - read server commands until 
+       - process commands
+       - ability to detach from server
+       - ability to "talk" with a local server
+         through global local_server
+          and functions local_server->insert_received_packet(pk);
+                        local_server->get_output_packet(pk);
+
+
+*/
+#include "macs.hpp"
+#include "packet.hpp"
+class view;
+
+class game_client
+{
+  int process_command(uchar cmd, view *player, packet &pk);
+  int need_to_read_views;
+public :
+  int cnum;
+  game_client(int client_number);
+  void request_entry();                   // asks server for entry into the game
+  void wait_entry();                      // wait for signal from server so we can download level
+  void entry_continue();                  // server needs ack before continue from above
+  void get_local_inputs(packet &pk);      // writes inputs to packet as commands
+  void send_local_request(packet &pk);    // sends commands to server
+
+  void read_server_commands(packet &pk);  // reads everybodies commands
+  void process_packet(packet &pk);
+  void quit_server();
+  void read_views();
+} ;
+
+extern game_client *local_client;
+
+#endif
+
+
+
diff --git a/abuse/inc/clisp.hpp b/abuse/inc/clisp.hpp
new file mode 100644 (file)
index 0000000..e6a900f
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef __CLISP_HPP_
+#ifndef SCADALISP
+int get_lprop_number(void *sybol, int def);  // returns def if symbol undefined or not number type
+
+
+void push_onto_list(void *object, void *&list);
+
+
+// variables for the status bar
+extern void *l_statbar_ammo_x,*l_statbar_ammo_y,
+            *l_statbar_ammo_w,*l_statbar_ammo_h,
+           *l_statbar_ammo_bg_color,
+
+            *l_statbar_health_x,*l_statbar_health_y,
+            *l_statbar_health_w,*l_statbar_health_h,
+           *l_statbar_health_bg_color,
+
+           *l_statbar_logo_x,*l_statbar_logo_y,
+           *l_object,*l_tile,*l_fire_object,
+           *l_player_draw,*l_sneaky_draw,
+           *l_draw_fast,*l_player_tints,*l_next_song,
+           *l_level_load_start,
+           *l_level_load_end,
+           *l_cdc_logo,
+           *l_keep_backup,
+           *l_switch_to_powerful,
+           *l_mouse_can_switch,
+           *l_ask_save_slot,
+           *l_get_local_input,
+           *l_post_render,
+           *l_chat_input,
+           *l_player_text_color,
+           *l_level_loaded;        // called when a new level is loaded
+
+
+/******************************** Lisp objects **********************************/
+extern void *l_difficulty,*l_easy,*l_hard,*l_medium,*l_extreme,*l_main_menu,
+     *l_logo,*l_state_art,*l_default_abilities,*l_abilities,
+     *l_default_ai_function,*l_state_sfx,
+     *l_morph,*l_max_power,
+     *l_song_list,*l_filename,*l_sfx_directory,*l_max_hp,*l_default_font,
+     *l_empty_cache,*l_range,*l_joy_file,*l_death_handler,
+     *l_title_screen,*l_console_font,*l_fields,*l_FIRE,*l_fire_object,
+     *l_cop_dead_parts,*l_restart_player,*l_help_screens,*l_save_order;
+
+
+#endif
+#endif
diff --git a/abuse/inc/compiled.hpp b/abuse/inc/compiled.hpp
new file mode 100644 (file)
index 0000000..da35afb
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef __COMPILED_HPP_
+#define __COMPILED_HPP_
+#include "macs.hpp"
+extern long S_fall_start,S_falling,S_landing,S_pounce_wait,
+            S_turn_around,S_fire_wait,S_ceil_fire,S_top_walk,
+            S_blown_back_dead,S_jump_up,S_hiding,S_weapon_fire,
+           S_hanging,S_blocking,S_rotate,S_climbing,S_climb_off,
+           S_fly_stopped,S_fast_stopped,S_fast_running,S_fly_running,
+           S_fly_start_run_jump,S_fly_run_jump,S_fly_run_jump_fall,S_fly_end_run_jump,
+           S_fast_start_run_jump,S_fast_run_jump,S_fast_run_jump_fall,S_fast_end_run_jump,
+           S_bright_tint,S_climb_on,
+
+           S_ALAND_SND,S_ASCREAM_SND,S_ASLASH_SND,
+           S_ROCKET_TOP,S_BFG_TOP,S_GRENADE_TOP,S_DFRIS_TOP,S_FIREBOMB_TOP,S_ANT_ROOF,
+           S_MGUN_TOP,S_CLOUD,S_HIDDEN_ANT,
+           S_health_image,S_fly_image,S_fast_image,
+           S_sneaky_image,S_EXPLODE5,S_EXPLODE3,S_ROCKET,
+           S_TRACK_GUN,S_SPRAY_GUN,S_LPING_SND,S_FLY_SND,S_SPEED_SND,S_SCARE_SND,
+           S_LOW_HEALTH_SND,S_BUTTON_PRESS_SND,
+           S_LINK_SND,S_DELETE_SND;
+
+           
+
+void compiled_init();
+void compiled_uninit();
+
+extern uchar *bad_guy_array;    // list flaging each character saying they are a bad bug or not
+                                // mainly used by the rocket to find targets
+
+#endif
diff --git a/abuse/inc/config.hpp b/abuse/inc/config.hpp
new file mode 100644 (file)
index 0000000..7fcf7a8
--- /dev/null
@@ -0,0 +1,16 @@
+#ifndef __CONFIG_HPP_
+#define __CONFIG_HPP_
+
+enum { HIGH_DETAIL,
+       MEDIUM_DETAIL,
+       LOW_DETAIL,
+       POOR_DETAIL };
+
+
+void key_bindings(int player, int &left, int &right, int &up, int &down, int &b1, int &b2, int &b3,  int &b4);
+void get_key_bindings();
+void get_movement(int player, int &x, int &y, int &b1, int &b2, int &b3, int &b4);
+void config_cleanup();  // free any memory allocated
+int get_keycode(char *str);  // -1 means not a valid key code
+
+#endif
diff --git a/abuse/inc/console.hpp b/abuse/inc/console.hpp
new file mode 100644 (file)
index 0000000..d269330
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef __CONSOLE_HPP_
+#define __CONSOLE_HPP_
+#include "jwindow.hpp"
+
+class console
+{
+  protected :
+  int lastx,lasty,w,h,cx,cy;
+  JCFont *fnt;
+  char *screen;
+  jwindow *con_win;
+  window_manager *wm;
+  char *name;
+  public :
+
+  console(window_manager *WM, JCFont *font, int width, int height, char *Name);
+  int showing() { return con_win!=NULL; }
+  void show();
+  void hide();
+  void redraw();
+  void put_char(char ch);
+  void do_cr();
+  int screen_w() { return w*fnt->width(); }
+  int screen_h() { return h*fnt->height(); }
+  int wx() { return con_win->x1(); }
+  int wy() { return con_win->y1(); }
+  void draw_cursor();
+  void put_string(char *st);
+  void draw_char(int x, int y, char ch);
+  void toggle() { if (con_win) hide(); else show(); }
+  void printf(const char *format, ...);
+  ~console();
+} ;
+
+class shell_term : public console
+{
+  char shcmd[300];
+  public :
+  shell_term(window_manager *WM, JCFont *font, int width, int height, char *Name);
+  int handle_event(event &ev, window_manager *wm);
+  virtual void prompt();
+  virtual void execute(char *st);
+} ;
+
+#endif
diff --git a/abuse/inc/control.hpp b/abuse/inc/control.hpp
new file mode 100644 (file)
index 0000000..04b39f5
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef __CONTROLLED_HPP_
+#define __CONTROLLED_HPP_
+
+#include "objects.hpp"
+#include "chars.hpp"
+
+
+// The controlled character is you!
+
+#define CHAR_HUMAN 0
+#define CHAR_IGUANA 1
+
+#define GAME_CHARACTERS 2
+#define TOTAL_CHARACTERS 10
+
+#define MORPH_TABLE_WIDTH (GAME_CHARACTERS-1)
+
+extern sequence *morph_table[MORPH_TABLE_WIDTH*MORPH_TABLE_WIDTH];
+
+class controlled_character : public game_object
+{
+  game_object *cur_char;
+  signed char morphing_to;  // who you are right now
+  unsigned long abilities;  // if 1<<character bit is set then you have that ability
+  void change_character(int char_type);
+
+public :    
+  controlled_character(long X, long Y);
+  controlled_character(FILE *fp);
+  virtual int size();
+  virtual game_objects type() { return O_starting_position; }
+  virtual void save(FILE *fp);
+  virtual int decide();
+
+  void do_damage(int amount, game_object *who, game_object *from);
+} ;
+
+
+#endif
+
+
+
diff --git a/abuse/inc/cop.hpp b/abuse/inc/cop.hpp
new file mode 100644 (file)
index 0000000..52b3460
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef __COP_HPP_
+#define __COP_HPP_
+
+// functions defined for the main player,  these were translated because they
+// are called every tick and they were getting slow/complicated
+
+void *top_ai();
+void *laser_ufun(void *args);
+void *top_ufun(void *args);
+void *plaser_ufun(void *args);
+void *player_rocket_ufun(void *args);
+void *lsaber_ufun(void *args);
+void *cop_mover(int xm, int ym, int but);
+void *sgun_ai();
+void *ladder_ai();
+void *top_draw();
+void *bottom_draw();
+void *mover_ai();
+void *respawn_ai(); 
+void *score_draw();
+void *show_kills();
+
+#endif
diff --git a/abuse/inc/crc.hpp b/abuse/inc/crc.hpp
new file mode 100644 (file)
index 0000000..d7972f3
--- /dev/null
@@ -0,0 +1,10 @@
+#ifndef _CRC_HPP_
+#define _CRC_HPP_
+#include "specs.hpp"
+#include "macs.hpp"
+
+unsigned short calc_crc(unsigned char *buf, long len);
+ulong crc_file(bFILE *fp);
+
+
+#endif
diff --git a/abuse/inc/demo.hpp b/abuse/inc/demo.hpp
new file mode 100644 (file)
index 0000000..720577c
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef __DEMO_HPP_
+#define __DEMO_HPP_
+
+#include "jwindow.hpp"
+
+class demo_manager
+{
+  void *initial_difficulty;
+  bFILE *record_file;
+  int skip_next;
+
+  public :
+  enum demo_state { NORMAL,
+                   RECORDING,
+                   PLAYING    } state;
+  int set_state(demo_state new_state, char *filename=NULL);
+  demo_state current_state() { return state; }
+  int save_packet(void *packet, int packet_size);   // returns non 0 if actually saved
+  int get_packet(void *packet, int &packet_size);   // returns non 0 if actually loaded
+  
+  int start_playing(char *filename);
+  int start_recording(char *filename);
+  void reset_game();
+  int demo_skip() { if (skip_next) { skip_next--; return 1; } else return 0; }
+  demo_manager() { state=NORMAL; skip_next=0; }
+  void do_inputs();
+} ;
+
+extern demo_manager demo_man;
+
+extern void get_event(event &ev, window_manager *wm);
+extern int event_waiting(window_manager *wm);
+
+
+
+extern int last_demo_mx,last_demo_my,last_demo_mbut;
+//extern ulong demo_tick_on;
+#endif
+
diff --git a/abuse/inc/dev.hpp b/abuse/inc/dev.hpp
new file mode 100644 (file)
index 0000000..a3c7ee7
--- /dev/null
@@ -0,0 +1,148 @@
+#ifndef __DEV_HPP_
+#define __DEV_HPP_
+
+#include "game.hpp"
+#include "light.hpp"
+#include "console.hpp"
+#include "timing.hpp"
+
+
+extern int scale_mult,scale_div;
+extern char level_file[100];
+extern image *small_render;
+
+void dev_init(int argc, char **argv);
+void dev_cleanup();
+void toggle_edit_mode();
+char *symbol_str(char *name);
+
+class pal_win
+{
+  long scale,w,h,x,y,last_selected;
+  unsigned short *pat;
+  void draw();
+
+public : 
+  jwindow *me;
+  void close_window();
+  void open_window();
+  char *name;
+  void handle_event(event &ev);
+  pal_win(void *args);
+  void resize(int xa, int ya);
+  int get_pat(int x, int y) { return pat[y*w+x]; }
+  int width() { return w; }
+  int height() { return h; }
+  void save(FILE *fp);
+  ~pal_win();
+} ;
+
+enum dev_state { DEV_CREATE_OBJECT, 
+                DEV_MOVE_OBJECT, 
+                DEV_SELECT, 
+                DEV_MOUSE_RELEASE, 
+                DEV_MOVE_LIGHT, 
+                DEV_CREATE_LIGHT,
+                DEV_DRAG_AREA_TOP,
+                DEV_DRAG_AREA_BOTTOM };
+
+extern char backw_on,forew_on,show_menu_on,ledit_on,pmenu_on,omenu_on,commandw_on,tbw_on,searchw_on,
+            small_render_on,interpolate_draw,disable_autolight,fps_on,profile_on,show_names,fg_reversed,
+           raise_all;
+
+
+class dev_controll
+{
+  game_object *edit_object,*selected_object,*ai_object,*search_object,
+              *link_object;
+  light_source *edit_light,*selected_light;
+  pal_win **pal_wins;
+  char **pwin_list;
+  int total_pals;
+  dev_state state;
+  int area_x1,area_y1,area_x2,area_y2;
+  area_controller *current_area;
+  time_marker last_area_click;
+public :
+  jwindow *backw,*forew,*commandw,*modew,*omenu,*oedit,*ledit,
+          *music_window,*pmenu,*show_menu,*lightw,*aiw,*ambw,*tbw,*area_win,
+          *search_window,*memprof;
+
+  int fg_w,bg_w,fg_scale,bg_scale,yellow;
+  void save();
+  void fg_fill(int color, int x, int y, pal_win *p);
+  void add_palette(void *args);
+  void toggle_memprof();
+  void search_forward();
+  void search_backward();
+  void toggle_toolbar();
+  void toggle_fgw();
+  void toggle_bgw();
+  void toggle_omenu();
+  void toggle_music_window();
+  void toggle_pmenu();
+  void toggle_show_menu();
+  void toggle_light_window();
+  void toggle_search_window();
+  void show_char_mem(char *name);
+  void close_oedit_window();
+  void show_mem();
+  dev_controll();
+  void handle_event(event &ev);
+  void do_command(char *st, event &ev);
+  int is_pal_win(jwindow *win);
+  void dev_draw(view *v);
+  void load_stuff();
+  int repeat_key_mode();
+  int need_plus_minus();
+  int need_arrows();
+  void make_ai_window(game_object *o);
+  void close_ai_window();
+  void make_ambient();
+  int ok_to_scroll();
+  long snap_x(long x);
+  long snap_y(long y);
+  void area_handle_input(event &ev);
+  void pick_handle_input(event &ev);
+  void close_area_win(int read_values);
+  void notify_deleted_object(game_object *o);
+  void notify_deleted_light(light_source *l);
+  void set_state(int new_state);
+  void update_memprof();   
+  ~dev_controll();
+} ;
+
+class dev_term : public shell_term
+{
+  dev_controll *dv;
+  public :
+  dev_term(int width, int height, dev_controll *dev) : shell_term(eh,console_font,width,height,"dev")
+  {
+    dv=dev;
+  }
+  virtual void execute(char *st);
+} ;
+
+extern dev_term *dev_console;
+
+extern dev_controll *dev_cont;
+
+
+#endif
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/abuse/inc/devsel.hpp b/abuse/inc/devsel.hpp
new file mode 100644 (file)
index 0000000..33acd0b
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef __DEVSCROLL_HPP_
+#define __DEVSCROLL_HPP_
+#include "scroller.hpp"
+
+class tile_picker : public scroller
+{
+  int th,last_sel,type,scale,wid,rev;
+  public :
+  tile_picker(int X, int Y, int ID, int spec_type, window_manager *wm, 
+                int scale, int scroll_h, int Wid, ifield *Next);
+  virtual void handle_inside_event(event &ev, image *screen, window_manager *wm, input_manager *inm);
+  virtual void scroll_event(int newx, image *screen, window_manager *wm);
+  virtual char *read() { return (char *)this; }
+  int picw();
+  int pich();
+  int total();
+  int get_current();
+  void set_current(int x);
+  void recenter(image *screen, window_manager *wm);
+  void reverse() { rev=!rev; }
+} ;
+
+extern int cur_bg,cur_fg,cur_char;
+
+#endif
+
diff --git a/abuse/inc/director.hpp b/abuse/inc/director.hpp
new file mode 100644 (file)
index 0000000..e435a79
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef __DIRECTOR_HPP_
+#define __DIRECTOR_HPP_
+
+#include "timing.hpp"
+
+class director        // the director controlls the scene
+{
+  int tleft,ttop,tright,tbottom,text_y,text_step,
+      pan_xv,pan_yv,pan_steps,
+      frame_speed,scroll_speed,pan_speed,scene_abort;  
+  char *text;
+  time_marker *pan_time,*frame_time,*text_time;
+public :
+  void set_text_region(int left, int top, int right, int bottom) 
+  { tleft=left; ttop=top; tright=right; tbottom=bottom; }
+  void set_frame_speed(int speed) { frame_speed=speed; }
+  void set_scroll_speed(int speed) { scroll_speed=speed; }
+  void set_pan_speed(int speed) { pan_speed=speed; }
+  void set_pan(int xv, int yv, int steps) { pan_xv=xv; pan_yv=yv; pan_steps=steps; }
+  void scroll_text(char *Text);
+  void wait(void *arg);
+  director();
+  void set_abort(int x) { scene_abort=x; }
+} ;
+
+extern director scene_director;
+
+
+#endif
diff --git a/abuse/inc/extend.hpp b/abuse/inc/extend.hpp
new file mode 100644 (file)
index 0000000..36ff7d4
--- /dev/null
@@ -0,0 +1,157 @@
+#ifndef EXTEND_HPP_
+#define EXTEND_HPP_
+
+#define NNET_HISTSIZE 10
+#define FLAG_JUST_HIT     1
+#define FLAG_JUST_BLOCKED 2
+#define FLOATING_FLAG     4
+#define KNOWN_FLAG        8
+
+
+#include "jmalloc.hpp"
+#include "macs.hpp"
+#include "morpher.hpp"
+#include "chars.hpp"
+#include "lisp.hpp"
+
+
+class view;
+class game_object;
+class light_source;
+
+class simple_object
+{
+  public :
+  schar Fade_dir;
+  uchar Fade_count,Fade_max;
+  uchar Flags,grav_on,targetable_on;
+  long Xvel,Yvel,Xacel,Yacel;
+  uchar Fx,Fy,Fxvel,Fyvel,Fxacel,Fyacel;
+  uchar Aitype;
+  ushort Aistate,Aistate_time;
+  unsigned short Hp,Mp,Fmp;
+  schar Frame_dir;        
+
+
+  uchar tobjs,tlights;
+  game_object **objs,*link;
+  light_source **lights;
+
+  view *Controller;
+  morph_char *mc;
+  int total_vars();
+  char *var_name(int x);
+  int   var_type(int x);
+  void set_var(int x, ulong v);
+  long get_var(int x);
+
+  // leave these public, so I don't have monster code changes.
+  simple_object();
+  long x,y,
+       last_x,last_y;              // used for frame interpolation on fast machines
+  schar direction,active;
+  ushort otype;
+  character_state state;
+  short current_frame;
+
+  int targetable()           { return targetable_on; }
+  int gravity()              { return grav_on; }
+  int floating()             { return flags()&FLOATING_FLAG; }
+
+  int keep_ai_info()         { return 1; }
+  uchar flags()              { return Flags; }
+  long xvel()                { return Xvel; }
+  long yvel()                { return Yvel; }
+  long xacel()               { return Xacel; }
+  long yacel()               { return Yacel; }
+
+  uchar fx()                 { return Fx; }
+  uchar fy()                 { return Fy; }
+  uchar fxvel()              { return Fxvel; }
+  uchar fyvel()              { return Fyvel; }
+  uchar fxacel()             { return Fxacel; }
+  uchar fyacel()             { return Fyacel; }
+
+  uchar sfx()                { return Fx; }  // x & y should always be positive
+  uchar sfy()                { return Fy; }
+  uchar sfxvel()             { if (Xvel>=0) return Fxvel; else return -Fxvel; }
+  uchar sfyvel()             { if (Yvel>=0) return Fyvel; else return -Fyvel; }
+  uchar sfxacel()            { if (Xacel>=0) return Fxacel; else return -Fxacel; }
+  uchar sfyacel()            { if (Yacel>=0) return Fyacel; else return -Fyacel; }
+
+  uchar aitype()             { return Aitype; }
+  ushort aistate()           { return Aistate; }
+  ushort aistate_time()      { return Aistate_time; }
+  ushort hp()                { return Hp;         }
+  ushort mp()                { return Mp;         }
+  ushort fmp()               { return Fmp;        }
+  schar fade_dir()           { return Fade_dir;   }
+  schar frame_dir()          { return Frame_dir;  }
+  uchar fade_count()         { return Fade_count; }
+  uchar fade_max()           { return Fade_max;   }
+  uchar total_objects()      { return tobjs;      }
+  uchar total_lights()       { return tlights;    }
+
+  morph_char *morph_status()     { return mc; }
+  light_source *get_light(int x)     
+  { if (x>=tlights) { lbreak("bad x for light\n"); exit(0); } return lights[x]; }
+  game_object *get_object(int x)    
+  { if (x>=tobjs) { lbreak("bad x for object\n"); exit(0); } return objs[x]; }
+  view *controller()             { return Controller; }
+
+  void set_targetable(uchar x)    { targetable_on=x; }
+  void set_flags(uchar f)         { Flags=f; }
+  void set_xvel(long xv)          { Xvel=xv; }
+  void set_yvel(long yv)          { Yvel=yv; }
+  void set_xacel(long xa)         { Xacel=xa; }
+  void set_yacel(long ya)         { Yacel=ya; }
+  void set_fx(uchar x)            { Fx=x; }
+  void set_fy(uchar y)            { Fy=y; }
+  void set_fxvel(uchar xv)        { Fxvel=abs(xv); }
+  void set_fyvel(uchar yv)        { Fyvel=abs(yv); }
+  void set_fxacel(uchar xa)       { Fxacel=abs(xa); }
+  void set_fyacel(uchar ya)       { Fyacel=abs(ya); }
+  void set_aitype(uchar t)        { Aitype=t; }
+  void set_aistate(ushort s)      { Aistate=s; }
+  void set_aistate_time(ushort t) { Aistate_time=t; }
+  void set_hp(ushort h)           { Hp=h; }
+  void set_mp(ushort m)           { Mp=m; }
+  void set_fmp(ushort m)          { Fmp=m; }
+
+
+
+  void set_fade_count(uchar f)          { Fade_count=f; }
+  void set_fade_max(uchar m)            { Fade_max=m;  }
+  void set_fade_dir(schar d)            { Fade_dir=d; }
+
+  void set_frame_dir(schar d)           { Frame_dir=d; }
+  void add_light(light_source *ls);
+  void add_object(game_object *o);
+
+  void remove_object(game_object *o);
+  void remove_light(light_source *ls);
+  void set_morph_status(morph_char *mc);
+  void set_controller(view *v)          { Controller=v; }
+
+  void set_gravity(int x)               { grav_on=x; }
+  void set_floating(int x)
+  { if (x) 
+      set_flags(flags()|FLOATING_FLAG); 
+    else 
+      set_flags(flags()&(0xff-FLOATING_FLAG)); 
+  }
+
+  void clean_up();
+} ;
+
+
+extern simple_object default_simple;
+
+#endif
+
+
+
+
+
+
+
diff --git a/abuse/inc/fakelib.hpp b/abuse/inc/fakelib.hpp
new file mode 100644 (file)
index 0000000..e8f2c68
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef __FAKELIB_HPP_
+#define __FAKELIB_HPP_
+
+#define jmalloc(x,y) malloc(x)
+#define jrealloc(x,y,z) realloc(x,y)
+#define jfree(x) free(x)
+#define uchar  unsigned char
+#define schar  signed char
+#define sshort signed short
+
+#ifdef __sgi
+#include <sys/bsd_types.h>
+#else
+#define ulong  unsigned long
+#define ushort unsigned short
+#endif
+
+class bFILE
+{
+  public :
+  FILE *fp;
+  bFILE(FILE *FP) { fp=FP; }
+  bFILE(char *fn, char *mode) { fp=fopen(fn,mode); }
+  long file_size() { long cur=ftell(fp),ret; fseek(fp,0,2); ret=ftell(fp); 
+                    fseek(fp,cur,0); return ret; }
+  int read(void *buf, int count) { return fread(buf,count,1,fp); }
+  int write(void *buf, int count) { return fwrite(buf,count,1,fp); }
+  int write_byte(uchar x) { return fputc(x,fp); }
+  int open_failure() { return fp==NULL; }
+  ~bFILE() { if (fp) fclose(fp); }
+} ;
+
+#define jFILE bFILE
+
+bFILE *open_file(char *name, char *perm) { return new bFILE(fopen(name,perm)); }
+#define dprintf printf
+void dgets(char *s, int x)
+{ fgets(s,x,stdin);
+  if (strlen(s)>0) s[strlen(s)-1]=0;
+}
+
+#endif
diff --git a/abuse/inc/game.hpp b/abuse/inc/game.hpp
new file mode 100644 (file)
index 0000000..14a4e15
--- /dev/null
@@ -0,0 +1,150 @@
+#ifndef __GAME_HPP_
+#define __GAME_HPP_
+
+#include "loader2.hpp"
+
+#include "macs.hpp"
+#include "image.hpp"
+#include "video.hpp"
+#include "mdlread.hpp"
+#include "event.hpp"
+#include "fonts.hpp"
+#include "loader.hpp"
+#include "monoprnt.hpp"
+#include "items.hpp"
+#include "jwindow.hpp"
+#include "filter.hpp"
+#include "level.hpp"
+#include "cache.hpp"
+#include "director.hpp"
+#include "view.hpp"
+#include "id.hpp"
+
+#define MAPFW                          100
+#define MAPFH                          100
+#define MAPBW                          100
+#define MAPBH                          100
+
+#define RUN_STATE 0
+#define PAUSE_STATE 1
+#define HELP_STATE 2
+#define INTRO_START_STATE 3
+#define INTRO_MORPH_STATE 4
+#define JOY_CALB_STATE    5
+#define MENU_STATE        6
+#define SCENE_STATE       7
+#define START_STATE       8
+#define BLACK 0
+
+#define tile_type unsigned short
+class game;
+extern game *the_game;
+extern window_manager *eh;
+extern int dev;
+extern int morph_sel_frame_color;
+
+extern char **start_argv;
+extern int start_argc;
+extern long current_vxadd,current_vyadd;
+extern int frame_panic,massive_frame_panic;
+extern int demo_start,idle_ticks;
+
+class game
+{
+  JCFont *fnt;
+  int finished;
+  int bg_top,fg_top;                         // in the fg/bg window which tile is at the top?
+  int bright_color,med_color,dark_color,     // for boundaries and windows, etc
+      morph_bright_color,morph_med_color,morph_dark_color;
+
+  long last_time,fps;
+  char mapname[100],command[200],help_text[200];
+  int refresh,mousex,mousey,help_text_frames;
+  int has_joystick,no_delay;
+
+
+  jwindow *top_menu,*joy_win,*last_input;
+  JCFont *game_font;
+  uchar keymap[512/8];
+
+public : 
+  int key_down(int key) { return keymap[key/8]&(1<<(key%8)); }
+  void set_key_down(int key, int x) { if (x) keymap[key/8]|=(1<<(key%8)); else keymap[key/8]&=~(1<<(key%8)); }
+  void reset_keymap() { memset(keymap,0,sizeof(keymap)); }
+
+  int nplayers;
+  view *first_view,*old_view;
+  int state,zoom;
+
+
+  game(int argc, char **argv);
+  void step();
+  void show_help(char *st);
+  void draw_value(image *screen, int x, int y, int w, int h, int val, int max);
+  unsigned char get_color(int x) { return x; }
+  int done();
+  void draw(int scene_mode=0);
+
+  backtile *get_bg(int x) { if (x<0 || x>=nbacktiles || backtiles[x]<0) 
+                           return cash.backt(backtiles[BLACK]); 
+                           else return cash.backt(backtiles[x]); }
+  foretile *get_fg(int x) { if (x<0 || x>=nforetiles || foretiles[x]<0) 
+                           return cash.foret(foretiles[BLACK]); else 
+                          return cash.foret(foretiles[x]); }
+
+  void ftile_on(int screenx, int screeny, long &x, long &y);
+  void btile_on(int screenx, int screeny, long &x, long &y);
+  void toggle_delay();
+  void set_delay(int on) { no_delay=!on; }
+  void pan(int xv, int yv);
+
+  void mouse_to_game(long x, long y, long &gamex, long &gamey, view *v=NULL);
+  void game_to_mouse(long gamex, long gamey, view *which, long &x, long &y);
+  view *view_in(int mousex, int mousey);
+
+  int calc_speed();
+  int ftile_width()  { return f_wid; }
+  int ftile_height() { return f_hi; }
+
+  int btile_width()  { return b_wid; }
+  int btile_height() { return b_hi; }
+
+
+  void put_fg(int x, int y, int type);
+  void put_bg(int x, int y, int type);
+  void draw_map(view *v, int interpolate=0);
+  void dev_scroll();
+  void put_block_fg(int x, int y, trans_image *im);
+  void put_block_bg(int x, int y, image *im);
+
+
+  int in_area(event &ev, int x1, int y1, int x2, int y2);
+  void load_level(char *name);
+  void set_level(level *nl);
+  void show_time();
+  tile_type get_map_bg(int x, int y) { return current_level->get_bg(x,y); }
+  tile_type get_map_fg(int x, int y) { return current_level->get_fg(x,y); }
+  void end_session();
+  void need_refresh() { refresh=1; }       // for development mode only
+  palette *current_palette() { return pal; }
+
+  void update_screen();
+  void get_input();
+  void do_intro();
+  void joy_calb(event &ev);
+  void menu_select(event &ev2);
+  int can_morph_into(int type);
+  void morph_into(int type);
+  void set_state(int new_state);
+  int game_over();
+  void grow_views(int amount);
+  void play_sound(int id, int vol, long x, long y);
+  void request_level_load(char *name);
+  void request_end();
+  ~game();
+} ;
+
+extern int playing_state(int state);
+#endif
+
+
diff --git a/abuse/inc/gamma.hpp b/abuse/inc/gamma.hpp
new file mode 100644 (file)
index 0000000..aa41571
--- /dev/null
@@ -0,0 +1,7 @@
+#ifndef __GAMMA_HPP_
+#define __GAMMA_HPP_
+
+#include "palette.hpp"
+void gamma_correct(palette *&pal, int force_menu=0);
+
+#endif
diff --git a/abuse/inc/go.hpp b/abuse/inc/go.hpp
new file mode 100644 (file)
index 0000000..d591ec7
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef __GO_HPP_
+#define __GO_HPP_
+#include "objects.hpp"
+
+class elcontrol : public game_object
+{
+public:  
+  short allow_dir;  
+  elcontrol(long X, long Y);  
+  elcontrol(FILE *fp, unsigned char *state_remap);
+  virtual int size() { return game_object::size()+2; }
+  virtual game_objects type() { return O_elcontrol; }  
+  virtual ifield *make_fields(int ystart, ifield *Next);
+  virtual void gather_input(input_manager *inm);
+  virtual void save(FILE *fp) { game_object::save(fp); write_short(fp,allow_dir); }
+  virtual int decide() { return 1; }  // not dead
+  virtual int move(int cx, int cy, int button)  { return 0; }  // not blocked          
+  virtual void draw();  // only show when DEV mode is on    
+} ;
+
+
+class elevator : public game_object
+{
+  short dir,speed;
+public :  
+  elcontrol *find_stop();
+  elevator(long X, long Y);    
+  elevator(FILE *fp, unsigned char *state_remap);
+  virtual int size();
+  virtual void recieve_signal(long signal) { ; }
+  virtual game_objects type() { return O_elevator; }
+  virtual ifield *make_fields(int ystart, ifield *Next);  
+  virtual void gather_input(input_manager *inm);  
+  virtual void save(FILE *fp);
+  virtual int can_block(game_object *who);
+  virtual int decide();
+  virtual void draw();  // draw cables above the elevator
+} ;
+
+class sensor : public game_object
+{
+  short xrange,yrange,signal,activate;  
+public :
+  sensor(long X, long Y) { defaults(); xrange=yrange=signal=0; activate=-1; }
+  sensor(FILE *fp, unsigned char *state_remap);
+  virtual int size();
+  virtual game_objects type() { return O_sensor; }
+  virtual ifield *make_fields(int ystart, ifield *Next);
+  virtual void gather_input(input_manager *inm);  
+  virtual void save(FILE *fp);
+
+  virtual void draw();  // only show when DEV mode is on    
+  virtual int decide();
+  virtual int move(int cx, int cy, int button)  { return 0; }  // not blocked          
+
+  char *aname();
+  void get_activate(char *name);
+  
+} ;
+
+
+#endif
+
diff --git a/abuse/inc/gui.hpp b/abuse/inc/gui.hpp
new file mode 100644 (file)
index 0000000..19d5c63
--- /dev/null
@@ -0,0 +1,44 @@
+#ifndef __GUI_HPP_
+#define __GUI_HPP_
+#include "jwindow.hpp"
+
+
+class ico_button : public ifield
+{
+  int up,act,u,d,ua,da;  // up, down, up active, down active
+  int activate_id;         // sent when if not -1 when object receives a draw actove
+  char key[16];
+public : 
+  ico_button(int X, int Y, int ID, int Up, int down, int upa, int downa, ifield *Next, int act_id=-1, char *help_key=NULL);
+
+  virtual void area(int &x1, int &y1, int &x2, int &y2, window_manager *wm);
+  virtual void draw_first(image *screen, window_manager *wm) { draw(0,screen,wm); }
+  virtual void draw(int active, image *screen, window_manager *wm); 
+  virtual void handle_event(event &ev, image *screen, window_manager *wm, input_manager *im);
+
+  virtual char *read() { return (char *)&up; }
+  void set_xy(int X, int Y) { x=X; y=Y; }
+  int X() { return x; }
+  int Y() { return y; }
+  int status() { return up; }
+  void set_act_id(int id);
+} ;
+
+class ico_switch_button : public ifield
+{
+  ifield *blist,*cur_but;
+  int act;
+  public :
+  ico_switch_button(int X, int Y, int ID, int start_on, ifield *butts, ifield *Next);
+  virtual void area(int &x1, int &y1, int &x2, int &y2, window_manager *wm);
+  virtual void draw_first(image *screen, window_manager *wm) { cur_but->draw_first(screen,wm); }
+  virtual void draw(int active, image *screen, window_manager *wm) { cur_but->draw(active,screen,wm); act=active; }
+  virtual void handle_event(event &ev, image *screen, window_manager *wm, input_manager *im);
+  virtual ifield *unlink(int id);