home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -websites- / amidoom / doomattack.readme < prev    next >
Text File  |  1998-02-11  |  15KB  |  353 lines

  1.  
  2.                   -====> DoomAttack 0.6 by Georg Steger <====-
  3.  
  4.  
  5. DoomAttack is another port of Doom for the Amiga. Creating an Amiga version
  6. was very easy, because ID Software have released the original source code
  7. as public domain and therefore it's also 100% legal.
  8.  
  9.  
  10. What's so special about *this* version:
  11. =======================================
  12.  
  13. o Several routines have been rewritten in assembler
  14.  
  15. o The game is running fast even on my AGA 68030/50 68882/50 and will probably
  16.   fly on 68040/68060 + GFX-Board (if it works :-?)
  17.  
  18. o The low detail mode routines (2 x 1) were fixed and the game is *very*
  19.   playable in full screen on a 68030/50 machine
  20.  
  21. o You can use Keyboard, Mouse and Joystick
  22.  
  23. o You can make a IFF screenshot from inside the game.
  24.  
  25. o Three versions: one for 68030, one for 68040 (not tested) and one for
  26.   68060 (not tested!)
  27.  
  28. o Network playing does *NOT* work!!!!!!!!!!!!
  29.  
  30.  
  31. System Requirements:
  32. ====================
  33.  
  34.   o Amiga OS 3.0
  35.  
  36.   o 68030 (it's very probably also working on 68020) - FPU is *not* required
  37.   
  38.   o some memory (8 MB FAST is probably the minimum)
  39.   
  40.   o AGA or GfxBoard (not tested)
  41.  
  42.   o There are three versions of the executable. One compiled for computers
  43.     with 68030m, one for 68040 machines and one for computers with 68060,
  44.     which I hope should not contain any of the commands that on this CPU
  45.     have to be emulated (I had to do this by hand, as GCC (or at least the
  46.     version I'm using) does not have a 'm68060' switch.
  47.  
  48. In order to use DoomAttack you first of all need a WAD file. I have only
  49. tested DoomAttack with a Shareware WAD (you can get one from the ID Soft-
  50. ware Web site: http://www.idsoftware.com), that's one with the suffix
  51. ".wad". Anyway it will probably work with registered and commercial WAD
  52. files, too.
  53.  
  54. Tip for italian users (and others, too!?):
  55. ==========================================
  56.  
  57. There's a PC Doom Demo archive in many of the CDs of Enigma Amiga Run. Just
  58. have a look at the "ONLYPC" directory. There you should find a file called
  59. "doom1_2.zip". There's a unzip utility for the Amiga on Aminet: "util/arc/
  60. Unzip512x.lha". Simply type: "unzip doom1_2.zip" and the archive will be ex-
  61. tracted to the current directory. After unzipping you will find several
  62. files in the current directory, "DOOM1_2S.1" and "DOOM1_2_S.2" are the ones
  63. containing the WAD file. The format of the two files seems to be ICE, but
  64. inside there is a normal LHA file, therefore you can extract it diretly
  65. with the Amiga. As the ICE file is split you first have to join the two
  66. parts together: "join DOOM1_2S.1 DOOM1_2S.2 to DOOM.LHA". After that you
  67. can use lha: "lha x DOOM.LHA". The warning "skipping extraneous/corrupt
  68. data" can be ignored.
  69.  
  70.  
  71. Installation:
  72. =============
  73.  
  74. Either use the installation script (recommended!!) or do it by hand:
  75.  
  76. 1) Copy the right executable to the directory containing the WAD file. 
  77.  
  78. 2) Create a directory called "c2p" in the same directory and copy the
  79.    chunky2planar routine (which is called "c2p", too) there.
  80.  
  81. 3) DoomAttack needs to have the environment variable DOOMHOME (not HOME!
  82.    I have changed) set to the directory containing the WAD file.
  83.  
  84. 4) In order to speed up disk loading use "AddBuffers <disk:> <buffers>".
  85.    One buffer is about 500 bytes. I suggest you to use a value between
  86.    100 and 500, for example: "AddBuffers WORK: 200"
  87.  
  88. 5) Before starting DoomAttack you should set the stack size to 150000,
  89.    which I guess should be enough.
  90.  
  91. 6) VERY IMPORTANT: If you want DoomAttack to run on GFX Board screen you
  92.    must start it with the option "-rtg" (see below), because I actually
  93.    don't know how to find out, whether a Screen mode is native or not!!!!
  94.    DoomAttack has not been tested on GFX-Boards, so it might not work. In
  95.    this case try a native Amiga mode.
  96.  
  97.  
  98. It's also possible to start DoomAttack from Workbench by double-clicking
  99. the DoomAttack_ClickMe icon, first, which sets DOOMHOME and increases the
  100. buffers. (Don't double-click it more than once per boot!!)
  101.  
  102. Anyway Doom eats a lot of memory and therefore it might be better booting
  103. "with no Startup Sequence". To simplify the starting in this case you can
  104. copy the "DoomAttack_Start" file to S: so that after having booted without
  105. Startup Sequence it will be enough typing "S:DoomAttack_Start" to get the
  106. game running. "DoomAttack_Start" sets the DOOMHOME environment variable,
  107. adds some buffers to "Work:" (change this if the volume containing the Doom
  108. files has another name on your computer!!!!), sets the stack to 100000 and
  109. starts DoomAttack.
  110.  
  111. You can do this from Workbench, too, by simply double-clicking the Doom-
  112. Attack_BootStart icon and resetting the computer when the requester telling
  113. you to do so, appears. If you are interested in how this work: When you
  114. double-click DoomAttack_BootStart the script with the same name will be
  115. executed. The scripts mounts a small RAD disk (called DoomRAD:) and creates
  116. a startup-sequence for it. The RAD disk has the highest boot priority and
  117. therefore autobooting will happen from there, when you reset the computer.
  118. The startup-sequence created by the script (BTW: to set DoomAttack options
  119. edit the "setenv DOOMOPTIONS" line in this script) sets up some assigns,
  120. starts the monitor drivers, sets the environment variable DOOMHOME, in-
  121. creases the stack size, kills the small RAD disk and then starts DoomAttack.
  122.  
  123.  
  124. Options:
  125. ========
  126.  
  127. You can set them with shell arguments (if you use DoomAttack_Start script
  128. you must edit this file) or with tooltypes (only if you start DoomAttack
  129. from Workbench). The '-' char is part of the option and tooltypes must
  130. contain it, too!
  131.  
  132. -rtg               IF you want to use a GFX-Board screenmode you have
  133.                        to specify this option. If you do so DoomAttack will
  134.                        render the framebuffer with either WritePixelArray8
  135.                        or WriteChunkyPixels depending on whether you are
  136.                        running OS3.1 or not.
  137.  
  138.  
  139. -fps                   Displays the frames per seconds in the upper left
  140.                        corner of the screen. Doesn't work very well in
  141.                        "-rtg" (or single buffered) mode - the display
  142.                        flashes ...
  143.  
  144.           
  145. -rendercontrol         Can be used together with "-fps" to see how fast the
  146.                rendering would be, if there was no need to chunky2-
  147.                planar (or copy) from the framebuffer to the screen
  148.                bitmap. You can switch the FrameBuffer-to-Screen
  149.                routine on and off with CAPS LOCK. If CAPS LOCK is
  150.                on, there will no screen update, but you will still
  151.                see the fps.
  152.  
  153.  
  154. -nodoublebuffer        Switches double-buffering off. Double-buffering does
  155.                        actually only work with native screens (i.e. if you
  156.                        don't use the "-rtg" option), because I don't know
  157.                        how to do double-buffering on GFX-Boards.
  158.  
  159.  
  160. -zonesize              By default DoomAttack tries to alloc one block of 6
  161.                        MByte, which will be freed only when you quit Doom.
  162.                        If allocation fails, it decreases the size by 50
  163.                        KByte, again and again, until allocation succeds.
  164.                        With -zonesize you can tell DoomAttack how many
  165.                        KBytes (!!!!! not MBytes) it shall try to alloc
  166.                        first. You should not go under 3000 KByte, although
  167.                        I'm not quite sure as this probably depends on the
  168.                        WAD file (I've only tried one).
  169.  
  170. -displayid           Supply the (numeric) id of the screenmode you want to
  171.                        use. You can specify it in hexadecimal format. For
  172.                        example "0x21000" would be PAL:Lowres. You usually
  173.                        don't have to use this option because you can force
  174.                        a Screenmode requester to pop up by holding down
  175.                        one of the SHIFT keys when starting DoomAttack (the
  176.                        requester will not appear immediately). The screen-
  177.                        mode will then saved to the config file ".doomrc"
  178.                        when quitting Doom. BTW: You can edit ".doomrc" with
  179.                        a normal Editor.
  180.  
  181.  
  182. -c2proutine           Specify an alternative chunky2planar routine. By
  183.                        default DoomAttack tries to load "PROGDIR:c2p/c2p",
  184.                        and that's actually the only one available, so this
  185.                        option can't actually be used.
  186.  
  187.                        BTW: If DoomAttack couldn't load the c2proutine it
  188.                             will automatically switch to "-rtg" more.
  189.                             
  190.                             At the end of all Init-Routines DoomAttack will
  191.                             display in the output window, whether it is
  192.                             running in "-rtg" or in "chunky2planar" mode.
  193.  
  194.  
  195. -forcedemo             Forces to run the demo even if it "is from another
  196.                        game"
  197.  
  198.  
  199. -norangecheck          There are some bugs in the rendering engine (= in the
  200.                        original source code) which sometimes can make it
  201.                        try to  render outside the framebuffer (=> can cause
  202.                        crash). Therefore by default there are range checks
  203.                        in the routines to avoid this. This might slow down
  204.                        overall speed a little bit. With this option you can
  205.                        replace the render routines with faster ones not
  206.                        containing the mentioned range checks, at your own
  207.                        risk!! There will probably be only a very small speed
  208.                        increase, therefore I think it's better not using
  209.                        this option!
  210.  
  211.  
  212. -nosound               Disable sound. Actually only sound effects (no music)
  213.                        are working and this anyway slows down the game a 
  214.                        little bit.
  215.  
  216.  
  217. -coolmap               You will get a rotating map, which makes orientation
  218.                        a lot easier. 
  219.  
  220.  
  221. -joypad                Allows you to use a CD32 Joypad. The routines are
  222.                        based completely on ADoom from Peter McGavin and
  223.                        have not been tested!
  224.  
  225.  
  226. Controls
  227. ========
  228.  
  229. CURSOR LEFT            rotate left
  230. MOUSE LEFT
  231. JOYSTICK LEFT     
  232.  
  233. CURSOR RIGHT           rotate right
  234. MOUSE RIGHT
  235. JOYSTICK RIGHT
  236.  
  237. CURSOR UP              walk
  238. MOUSE UP
  239. JOYSTICK UP
  240. RIGHT MOUSE BUTTON
  241.  
  242. CURSOR DOWN            go back
  243. MOUSE DOWN
  244. JOYSTICK DOWN
  245.  
  246. CONTROL                shoot
  247. JOYSTICK FIRE
  248. LEFT MOUSE BUTTON
  249.  
  250. SHIFT                  run
  251.  
  252. ALT
  253. MIDDLE MOUSE BUTTON    strafe
  254.  
  255. RETURN                 show last message in game/ "enter" in menus
  256.  
  257. SPACE
  258. MMB DOUBLE CLICK       use / open door
  259.  
  260. NUMERICPAD *           gamma correction
  261.  
  262. HELP                   pause game
  263.  
  264. ` (above TAB)          save IFF screenshot - standard name DOOMxx.IFF
  265.  
  266. SHIFT + ` (above TAB)  save IFF screenshot - ask for name with ASL requester
  267.  
  268. F5                     switch low detail (2 x 1 Pixels) on/off
  269.  
  270. +                      increase window size / map zoom
  271.  
  272. -                      decrease window size / map zoom
  273.  
  274.  
  275.  
  276. FINAL NOTES:
  277. ============
  278.  
  279. o The game from time to time crashes at exit. There seem to be a lot of
  280.   bugs in the original source code. I have fixed some but there are
  281.   still crashes. Reboot your computer after quitting DoomAttack. I don't
  282.   take any responsibility for any damage that occures. You have been
  283.   warned!!!
  284.   
  285. o The actual c2p routine is optimized for 020/030 (no blitter) and is based
  286.   on a routine I found in the "rtgmaster" archive. If someone wants to send
  287.   me faster ones, or routines optimized for 68040/60 ...
  288.  
  289.   The c2p routine could be optimized a lot as it actually chunky2planars
  290.   always the whole screen and always in 1 x 1, even if you have shrunk the
  291.   display window to it's minimum size.
  292.   
  293.   BTW: The c2proutine may be destructive
  294.  
  295. o If Joystick control or Mouse control does not work, load ".doomrc" into
  296.   an editor and set "usemouse"/"usejoystick" to 1. You can also disable
  297.   them by setting "usemouse" and/or "usejoystick" to 0, which can speed
  298.   up the game a little bit.
  299.  
  300. o The FPS display ("-fps" option) slows down the game a little bit.
  301.  
  302. o Native Amiga screenmodes with 30 kHz slow down the game considerably. If
  303.   possible use a normal 15 kHz mode.
  304.  
  305. o Expect new and faster versions with even more routines converted to
  306.   assembler, soon!!!
  307.  
  308. o Don't expect networking to be supported in future versions. I don't know
  309.   anything about it.
  310.   
  311. o I could implement MOD playing routines, if someone sends me a cool and
  312.   fast (!) routine and one that, if possible, uses the audio.device (well,
  313.   unless this is too slow).
  314.   
  315. o Can someone tell me how to check whether a certain screenmode is native
  316.   (i.e. planar planes which have to be in chip memory) or from a GFX-
  317.   Board. I've heard that checking the Flag DIPF_IS_FOREIGN is not working
  318.   with all GFX boards.
  319.  
  320. o And how do I do fast double buffering on GFX-Boards? I've heard something
  321.   about ScrollViewPort(). Remember: I don't have a GFX-Board and there does
  322.   not seem to be anyone here in South Tyrol, having one :( Therefore you
  323.   have to explain me *everything*.
  324.  
  325. o I have removed the checks for divison by zero in many places, where I
  326.   think they are not necessary. Anyway I was not always 100% sure, so if
  327.   you get a 80000005 GURU let me know! I have been reported by several
  328.   users that V0.5 indeed produced divide by zero expections. Therefore
  329.   I have re-written the division by zero checks in some places. If you
  330.   still get GURUS with this version let me know and don't forget to
  331.   specify in which occasion the GURU happened. I have also attached a
  332.   small utility called Div0Killer, which prevents software failures to
  333.   appear if a division by zero occures. You can start it somewhere in
  334.   the startup-sequence with "run <>NIL: Div0Killer".
  335.   
  336.   You can find "Div0Killer" in the "Tools" directory. It has no icon so
  337.   select "View all icons" from the Workbench menu.
  338.   
  339.   WARNING: The usage of Div0Killer might result in unexpected behaviour,
  340.            not only of DoomAttack, but of other programs too, if they make
  341.            a division by zero and continue their work, just like if nothing
  342.            had happened. Avoid it's usage if possible!
  343.  
  344.  
  345. ===========================================================================
  346. Send comments, suggestions, bug reports (in German (preferred), Italian or
  347. English) to (Sorry if I don't reply every single EMail, but I'm getting
  348. far too many of them, so that I probably will only answer the ones asking
  349. questions with a possible delay of some days!):
  350.  
  351. Georg Steger, Hochlercher 30, I-39030 St. Johann/Ahrntal
  352. EMail: steger@pass.dnet.it
  353.