Hello,

porting madness continues...

This time I brought you legendary (and imho much better than Doom) 3D 
shooter by 3D Reamls -- Duke Nukem 3D. Thanks to them for releasing the 
source code!

The game is based on Amiga port by Daniel Trompetter (aka dante/oxyron) 
and I'd like to thank him very much in this way ;-) Funny thing is I 
didn't use his 68060 stuff since it was very inefficient (a lot of muls.l, 
divs.l and similar 060-unfriendly stuff) and the C version seems to be 
damn fast on my ct60@85 MHz.

========
Features
========

- 320x200, 256 colours

- VGA or RGB

- 24 kHz 16bit stereo sound

- full mouse support (see bellow)

- TOS/MagiC/FreeMiNT friendly (see bellow again ;)


=============
Anti-Features
=============

1. This game will run with and only with Duke Nukem Atomic Edition 1.5. 
   That means no shareware, too! It's true I hacked some version for 
   myself when I haven't got AE but this isn't this case! So beware and 
   look for right version.

2. There's no way how to generate configuration file on Atari. You have 
   couple of options:

   - use some .cfg from "cfg" directory (rename to duke3d.cfg + copy to 
     game dir)
   
   - run setup.exe and pray it will run on your WinXP/whatever machine and 
     copy duke3d.cfg to your Atari harddisk
   
   - run DOSBox at your Linux/BSD/Mac, run setup.exe and copy duke3d.cfg 
     to your Atari harddisk

   Select Sound Blaster for sounds, no music, keys as you want and the 
   rest leave untouched.

   Btw SDL port (at icculus.org) has the possibility of setting keys 
   directly in game menu. And yes, I'm lazy to find it in source & use it 
   ;)

3. The source code is ONE BIG MESS. Guys at 3D Realms were maybe masters 
   in originality, playability etc but they've had no coding rules, 
   conventions... portability? Forget it. And every port (SDL and Amiga) 
   just increased this mess... The result is total-spaghetti code where 
   nobody knows what's called first. Practical result is at some places 
   (i.e. file not found error) hangs the system since some init/uninit 
   stuff isn't called somewhere from game core. I don't say it's unfixable 
   but ... it's really boring to search in that mess, believe me.

4. Since 3D Realms really liked MSDOS and its case insensitive filenames, 
   you have to be really carefull on case sensitive systems (i.e. 
   FreeMiNT). The game looks for these files:

   DEFS.CON
   DUKE.RTS
   GAME.CON
   USER.CON
   duke3d.cfg
   duke3d.grp 

5. Might Foot Anti-feature: I _REALLY_ have no idea how this happens but 
   it's here :) If you decide to play duke with mouse you sooner or later 
   discover auto-activation of something which is called "Mighty Foot". It 
   seems it has something to do with reading keyboard codes but I use the 
   same routine as in Quake and there's everything OK. Maybe some hard-
   duke-player could write me how is this "weapon" activated in original 
   version? (I've heard it's via '~' key but since my eiffel is unusable 
   in these days I can't test it...)


============
Future Plans
============

To be honest, my biggest wish is to trash this shit and never compile 
again ;) Quake was nightmare but due to my lameness... this is nightmare 
but the reason is THAT BIG MESS ;-) Really depressive and frustrating to 
find bugs there... ok ok some bugfix releases you can expect but I wont do 
it as happy as with Quake which I really love for its cleaness ;)


=======
Credits
=======

PC game and sources: 3D Realms
The rest:            Miro Kropacek (me :)


===========
Final words
===========

Enjoy! ;)


Miro Kropacek aka MiKRO / Mystic Bytes
miro.kropacek@gmail.com (my old address mikro@hysteria.sk is working, too 
                         but please use this one instead)

2006/10/22,21:18
Bratislava, Slovakia
