@DATABASE @$VER: DoomAttack.Guide 0.7 (07.02.98) İGeorg Steger @NODE "MAIN" "DoomAttack 0.7" @TOC "MAIN" @{B}************************************************ * * * @{UB}@{FG SHINE}This is the guide for DoomAttack 0.7!!!! The @{FG TEXT}@{B}* * @{UB}@{FG SHINE}one for DoomAttack 0.8 is not yet ready!!! @{FG TEXT}@{B}* * * ************************************************ @{UB} -====> @{B}DoomAttack 0.7 by Georg Steger@{UB} <====- @{" Introduction " LINK "Introduction"} @{" System Requirements " LINK "Requirements"} @{" Installation " LINK "Installation"} @{" Configuration " LINK "Configuration"} @{" Plugins " LINK "Plugins"} @{" Start Options " LINK "Options"} @{" Controls " LINK "Controls"} @{" History " LINK "History"} @{" Future " LINK "Future"} @{" Author " LINK "Author"} @{" Thanks - Credits " LINK "Thanks"} @{" FINAL NOTES " LINK "FINAL"} @ENDNODE @NODE "Introduction" "Introduction" @TOC "MAIN" DoomAttack is another port of Doom for the Amiga. Creating an Amiga version was very easy, because ID Software have released the original source code as public domain and therefore it's also 100% legal. @{B}@{U}What's so special about *this* version:@{UB}@{UU} o Several routines have been rewritten in assembler o The game is running fast even on my AGA 68030/50 68882/50 and will fly on 68040 + GFX-Board. I'm not so sure about the 68060 version because if was created "by hand". Programs such as "CyberPatcher" or "OxyPatcher" might increase the speed of this version. o The low detail mode routines (2 x 1) were fixed and the game is @{B}very@{UB} playable in full screen on a 68030/50 machine o You can use Keyboard, Mouse and Joystick o You can make a IFF screenshot from inside the game. o Three versions: one for 68030, one for 68040 and one for 68060. o Multiplayer game is now supported through a plugin. Actually there is a Net_TCP plugin (for playing on the Internet) and a so called Net_Local plugin for doing a two player game on one computer (not really playable, it was only created to test my network plugin interface). o Music is now supported through a plugin. Actually there is Music_P61A plugin which plays P61A mods (ProTracker mods can be converted to this format). o There's a cool prefs program. No more need to edit ".doomrc" with an editor. o There are some improvements to the game itself, such as the advanced map features. @ENDNODE @NODE "Requirements" "System Requirements" @TOC "MAIN" o Amiga OS 3.0 o 68020 - FPU is @{B}not@{UB} required o Some fast memory. DoomAttack has been reported to work on a machine with only 2 MB fast memory, but it's better if you have 4 or 8 MB. o AGA or GfxBoard o There are three versions of the executable. One compiled for computers with 68030, one for 68040 machines and one for computers with 68060, which I hope should not contain any of the commands that on this CPU have to be emulated (I had to do this by hand, as GCC (or at least the version I'm using) does not have a 'm68060' switch. In order to use DoomAttack you first of all need a WAD file. I have only tested DoomAttack with a Shareware WAD (you can get one from the ID Software Web site: @{B}http://www.idsoftware.com@{UB}), that's one with the suffix ".wad". Anyway it will probably work with registered and commercial WAD files, too. For being able to use custom WAD you need a registered/commercial WAD, too! @{B}@{U}Tip for italian users (and others, too!?):@{UB}@{UU} There's a PC Doom Demo archive in many of the CDs of Enigma Amiga Run. Just have a look at the "ONLYPC" directory. There you should find a file called "doom1_2.zip". There's a unzip utility for the Amiga on Aminet: "util/arc/ Unzip512x.lha". Simply type: "unzip doom1_2.zip" and the archive will be extracted to the current directory. After unzipping you will find several files in the current directory, "DOOM1_2S.1" and "DOOM1_2_S.2" are the ones containing the WAD file. The format of the two files seems to be ICE, but inside there is a normal LHA file, therefore you can extract it diretly with the Amiga. As the ICE file is split you first have to join the two parts together: "join DOOM1_2S.1 DOOM1_2S.2 to DOOM.LHA". After that you can use lha: "lha x DOOM.LHA". The warning "skipping extraneous/corrupt data" can be ignored. @ENDNODE @NODE "Installation" "Installation" @TOC "MAIN" Use the installation script!!!! If you do not, there are some things you have to know: @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o Copy the right executable to the directory containing the WAD file. o The old chunky2planar routine cannot be used anymore. Delete it. Delete also the "c2p" directory (unless it's used by another Doom port, of course). o Create a directory called "DoomAttackSupport" in the Doom directory. Copy the new "c2p" and "plugin" directories (!) there. o DoomAttack needs to have the environment variable DOOMHOME (not HOME! I have changed this) set to the directory of Doom. o Delete the ".doomrc" (settings) file in the Doom directory and configure DoomAttack with DoomAttackPrefs. If you are using other ports of Doom you can force DoomAttack to use another config file with the "-config" Shell option. In this case you don't need to delete the ".doomrc" file, but watch out: DoomAttackPrefs is usually saving/loading "PROGDIR:.doomrc" or ".doomrc" in the DOOMHOME directory (if the DOOMHOME env variable was found). Set the tooltype "CONFIGFILE" in the DoomAttackPrefs icon to avoid problems with other Doom ports (DoomAttack saves some additional stuff to the settings file ...) o If you are going to use the P61A music plugin copy the file ".musicrc" to the Doom directory. o The scripts have been changed a little bit and need two small utilites to be in C: "getbuffers" and "setbuffers". Read on! o In order to speed up disk loading use "AddBuffers ". One buffer is about 500 bytes. I suggest you to use a value between 100 and 500, for example: "AddBuffers WORK: 200" will add 200 additional buffers to the drive WORK: In the "c" directory of the archive there are two small programs (SetBuffers/GetBuffers) which can be used instead of AddBuffers: - @{FG SHINE}SetBuffers @{FG TEXT} will set the number of buffers of the to . (AddBuffers would add the specified buffers) - @{FG SHINE}GetBuffers @{FG TEXT} displays the number of buffers of the specified in the shell. The output will only contain the value, no "has ?? buffers" string will be used. Therefore it's easier to use with the back ticking feature of the shell: set ActualBuffers `GetBuffers DH0:` o Note for GFX board users. It might be necessary to specify "-rtg" when starting DoomAttack if you want the game to run on a GFX Board screen. V0.7 tries to detect a GFX board, but this will only work if your RTG system is compatible with CyberGraphX (I'm using IsCyberModeID() to do the check). Some users told me that the game ran faster on native Amiga screens than on GFX Board screens. Someone also said that he had to use a Screen promoter utility to get the "real" speed. It's also possible to start DoomAttack from Workbench by double-clicking the DoomAttack_ClickMe icon, first, which sets DOOMHOME and increases the buffers. Anyway Doom eats a lot of memory and therefore it might be better booting "with no Startup Sequence". To simplify the starting in this case you can copy the "DoomAttack_Start" file to S: so that after having booted without Startup Sequence it will be enough typing "S:DoomAttack_Start" to get the game running. "DoomAttack_Start" sets the DOOMHOME environment variable, adds some buffers to "Work:" (change this if the volume containing the Doom files has another name on your computer!!!!), sets the stack to 50000 and starts DoomAttack. You can do this from Workbench, too, by simply double-clicking the Doom- Attack_BootStart icon and resetting the computer when the requester telling you to do so, appears. If you are interested in how this work: When you double-click DoomAttack_BootStart the script with the same name will be executed. The scripts mounts a small RAD disk (called DoomRAD:) and creates a startup-sequence for it. The RAD disk has the highest boot priority and therefore autobooting will happen from there, when you reset the computer. The startup-sequence created by the script (BTW: to set DoomAttack options edit the "setenv DOOMOPTIONS" line in this script) sets up some assigns, starts the monitor drivers, sets the environment variable DOOMHOME, increases the stack size, kills the small RAD disk and then starts DoomAttack. @ENDNODE @NODE "Configuration" "Configuration" @TOC "MAIN" Use DoomAttackPrefs to configure DoomAttack (it's still possible to edit the settings files ".doomrc" with an editor). If you are using other Doom ports, too, you can change the default settings file by using the CONFIGFILE tooltype/argument. If you do so, you must be sure to start DoomAttack with "-config ". @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ K E Y S @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ Not much to explain here: o With "Speed A" and "Speed B" you can define two different keys for the (single) action "SPEED". o With "Strafe A" and "Strafe B" you can define two different keys for the (single) action "STRAFE". o If you want to use some of the keys that are usually used by the system for mouse emulation (LAMIGA, RAMIGA) you have to set the option "Full keyboard control" in the "Program" page (this can be dangerous - see the note near the "Full keyboard control" explainings) o If you are using a french keyboard where you have to hold down shift to bring up the keys 0-9 you can use the "French keymap patch" in the "Pro- gram" page which swaps the shift for these keys. If you do not then changing weapons will only be possible with the numeric key pad o The keys <~> (left from the "1" and above "TAB"), (numeric pad) and <*> (numeric pad) are reserved. Don't use them here! @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ M O U S E @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o Using the mouse can slow down the game a little. Switch the "Use Mouse" option off, if you are not going to use it. o Mouse sensitivity increases from left to right o Be sure not to set different buttons for each action o If you are using a commodity that maps one or more keys to a special action such as screen cycling you can use the "Full mouse control" option in the "Program" page (read the warning there!) to disable this for the DoomAttack screen. @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ J O S T I C K @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o If you want to use a CD32 Joypad change the "Controller Type". If you do so you should not change the buttons for the several actions: Fire: Button 1 Strafe: Button 2 Use: Button 4 Speed: Button 3 @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ V I D E O @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o There's a special entry in the screen mode requester which, if selected, forces DoomAttack to pop up a screen mode requester each time you start it (An alternative is to hold down one of the SHIFT keys when starting DoomAttack, which will have the same effect). o C2P Routines: If you don't have a GFX board or want to run DoomAttack on a standard Amiga screen mode you have to use a C2P Routine. Try out your- self, which is the fastest on your configuration. The Akiko C2P routines are for Amigas having this special chip, actually the CD32 and some of the upcoming new Amigas. There are two Akiko C2P routines. The only diffrence between the two is, that "c2p_akiko" uses OwnBlitter/DisownBlitter to gain exclusive use of the chip while "c2p_akiko2" does not do this (c2p stuff will be faster, but you might get problems (= graphic errors) if another task is using the akiko chip, too. PS: The installation script copies the C2P routines to a subdirectory ("DoomAttackSupport/c2p") in the Doom drawer. Go there to select the routine. The prefs program doesn't check if you select a valid c2p routine. This will only be done by DoomAttack when you start it. Watch the output in the Shell window. If you see "Working in RTG mode" then there was something wrong with the routine (Initialization failed or the routine could not be found) -> the program will fall back to RTG mode resulting in a very poor performance. @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ A U D I O @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o Music Plugin --> see @{" Music Plugins " LINK "MusicPlugins"} o Cache Sound FX: Usually DoomAttack loads all sound samples into Chip RAM. If you are running DoomAttack from Workbench there might not be enough free Chip RAM for all the samples (--> DoomAttack will abort). With this option you can force DoomAttack to keep only a few samples in Chip RAM while all the others are loaded and kept in Fast RAM (but not in the zone memory, BTW). @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ M U L T I P L A Y E R @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o Net Plugin --> see @{" Net Plugins " LINK "NetPlugins"} @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ C H A T M A C R O S @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o When using one of the Net Plugins it is possible to send messages to the other players during game. This is usally done by pressing 'T' and entering the text. During heavy enemy attacks this might take too much time so you can define 10 chat macros which can be activated in the game by pressing 'T' and then ALT + 0-9. @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ P R O G R A M @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ o @{B}Full keyboard control:@{UB} Activates a special InputHandler that disables the keyboard mouse emu- lation on the DoomAttack screen. This makes it possible to use (nearly) every key in the "Keys" page. For example you could use LALT to strafe left and LAMIGA to strafe right. @{B}Warning:@{UB} With this option it will be impossible to cycle through the screens with LAMIGA + N or LAMIGA + M, unless the game is paused or you are in a menu. You might get into a situation where a requester wants to pop up (maybe because of disk error or something like that) and you cannot switch to the Workbench screen because of the game actually not being "paus- able" or "menuable". In this case you'll probably have to reboot. o @{B}Full mouse control:@{UB} Activates a special InputHandler that allows you to use all mouse buttons even if one (or more) of them is usually used by a commodity to do some special action such as screen cycling. @{B}Warning:@{UB} This option can lead to the same problems as "Full keyboard control" o @{B}French keymap patch:@{UB} On french keyboards the keys 0-9 need SHIFT to be hold down. Therefore changing weapon with these keys will not work in DoomAttack, unless you use the numeric keypad. With this option you can tell DoomAttack to re- verse (swap) the shift of the keys 0-9, which solves the problem. o @{B}No range check:@{UB} Disables the range checkings in the SpanDraw routines. Keep this enabled as the speed increase is very probably not noticeable at all. o @{B}Cool (rotating) map:@{UB} The standard map option of Doom makes orientation sometimes a little bit difficult, because of the map being static - it's the player sprite who is rotating, but not the map itself. With this option you will get a rotating map, while the player sprite (arrow) will always look in the same diretion. o @{B}HUD map transparency:@{UB} While the map is active you can change the map type by pressing

. This will switch the map between being full screen on a separate screen, full screen over the 3D game graphics and a small rectangle in different positions again over the 3D game graphics. If the map type is in "small rectangle" mode the game graphics inside this rectangle can either be left untouched ("Full"), cleared to black ("Off (Black)") or darkened with a very cool transparency effect ("Level 1" - "Level 6"). In my opinion "Level 2" or "Level 3" looks best. Having the map displayed over the game graphics of course slows the game down, especially if you are using one of the map cheats to make it com- pletely visible. o @{B}Zone memory:@{UB} Size of the so called "Zone area" in KBytes. The default is 6144 (6 MBytes). You should not go under 2000 KBytes. When starting DoomAttack the program tries to make sure that KBytes will keep being free by reducing the size accordingly. o @{B}Free FAST memory:@{UB} See Zone memory! @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ G A M E @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ Some cheats. @ENDNODE @NODE "Plugins" "Plugins" @TOC "Main" DoomAttack starting with 0.7 supports Music and Network play through exter- nal plugins. The source code of all plugins is included so it should not be a problem for other coders to create new plugins, maybe a real null modem option or a Music plugin that sends the midi data directly to some MIDI equipment through the serial port. @{" Music Plugins " LINK "MusicPlugins"} @{" Net Plugins " LINK "NetPlugins"} PS: The installation script copies the plugins to a subdirectory ("Doom- AttackSupport/Plugin" in the Doom drawer. When using DoomAttackPrefs go there to select the plugin (BTW: The prefs program does not check if you select a valid plugin. This will only done when you start Doom- Attack. Watch the output in the Shell window or use SnoopDos if you don't get a certain plugin to work). @ENDNODE @NODE "MusicPlugins" "Music Plugins" @TOC "Plugins" Actually there's a P61A MOD player plugin and a special Debug Plugin avail- able: @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ @{FG SHINE}P61A:@{FG TEXT} This plays P61A modules. Protracker MODS can be converted to this format with the converter included in the Player61 archive (Aminet: mus/play/P6101.lha). You can tell the plugin which MODS to play in which situations by editing the ".musicrc" file. Simply add the filename of the MOD you want to have played in a certain situation to the line containing the relative "MusicID". There are a lot of Music IDs and I still did not have the time to find out, when each of them is used. There- fore you can set a default MOD in the first line which will be used if the line of the MusicID DoomAttack intended to play is empty. Some of the MusicIDs I know: mus_e1m1 First episode - First Mission mus_e1m2 First episode - Second Mission ... mus_inter Intermission screen mus_intro Intro @{B}Notes:@{UB} - Don't add/delete/insert lines in ".musicrc", otherwise the IDs don't match anymore with the correct MODs. - You don't need to delete the comments(";mus_e1m1", ...) when adding the path of a MOD: work:music/mods/P61.powermod ;mus_e1m1 - If the filename of a MOD contains one or more spaces you can use quotation marks: "work:music/mods/P61.power mod" ;mus_e1m1 - To find out other MusicIDs you can use the Debug plugin. @{FG SHINE}Debug:@{FG TEXT} Important: If you are using this plugin you must be sure not to use the "Full keyboard control" and "Full mouse control" options by disabling them in DoomAttackPrefs or by starting DoomAttack with the option "-noinputhack". Every time DoomAttack wants to start a new song, a requester will pop up telling you the relative MusicID. @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ You can tell DoomAttack not to load/use the Music plugin configured in the prefs program by starting it with the option "-nomusic". @ENDNODE @NODE "NetPlugins" "Net Plugins" @TOC "Plugins" Actually there's a TCP and a Local plugin available: @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ @{FG SHINE}TCP:@{FG TEXT} This is for playing over the Internet. The plugin is based on the source code of ADoom. I was not able to test it myself so I cannot guarantee that it is working correctly or working at all. When starting DoomAttack you must use the following option: -net <..> @{B}Example:@{UB} Two player game between computer "Bob" and computer "Fred" Fred: "DoomAttack -net 1 Bob" Bob : "DoomAttack -net 2 Fred" Three player game between computer "Bob", "Fred", "Sue": Fred: "DoomAttack -net 1 Bob Sue" Bob : "DoomAttack -net 2 Fred Sue" Sue : "DoomAttack -net 3 Fred Bob" @{FG SHINE}Local:@{FG TEXT} This is the plugin I used to test the plugin interface stuff. It allows you to do a two player game on one computer. On my computer this is not really playable and that's probably true for all machines out there. Don't try it unless you really want to use it or you just can't believe that it works. The main problem is that you have to start DoomAttack twice so you will need a lot of free fast memory. But it should work with 8 MB. Another problem is, that the keyboard will be available only for one of the two players, the other one will have to use the Joystick or Joypad. To have a quick try do follow these steps: 1) Go into DoomAttackPrefs and select a 640 x 400 screenmode (there will be two screens, you will have to drag down one of the two to make the other visible, later) 2) Activate the Joystick option 3) Activate the plugin (page "Multiplayer") 4) Save the settings. 5) Open a shell and start the first DoomAttack with: DoomAttack -zonesize 2000 -nosound -nomusic -nosleep -noinputhack -net 1 Bill 6) Wait until the message "sending network start info" appears 7) Open another shell and start the second DoomAttack with: DoomAttack -zonesize 2000 -nosound -nomusic -nosleep -noinputhack -net 2 John 8) Wait until the first screen pops up. There will be a black/grey screen for some time, before. 9) Drag the screen down (with LAMIGA + LMB) to make the screen of the second player visible 10) You now must find out which player is controlled with the Joy- stick. The keyboard can be used only in an active window, so if you use CURSOR LEFT/CURSOR RIGHT and then Joystick LEFT, Joystick RIGHT and see, that both times the same player was turning around, than the wrong window is active. If this is the case drive to the other screen with the (invisible) mouse and activate it with a mouse click. @{B}Very important:@{UB} My computer crashed several times when I was using this plugin. I'm not sure if there's a bug in this plugin or maybe somewhere else, maybe in the music plugin, as I tried it out with the music plugin activated, too. This really isn't much more than a gag!! @ENDNODE @NODE "Options" "Start Options" @TOC "MAIN" You can set them with shell arguments (if you use DoomAttack_Start script you must edit this file) or with tooltypes (only if you start DoomAttack from Workbench). The '-' char is part of the option and tooltypes must con- tain it, too. @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ @{FG SHINE}-rtg@{FG TEXT} IF you want to use a GFX-Board screenmode you have to specify this option. If you do so DoomAttack will render the framebuffer with either WritePixelArray8 or WriteChunkyPixels depending on whether you are running OS3.1 or not. Starting with V0.7 of DoomAttack this option should not be necessary anymore, at least if you are running a CyberGraphX compatible RTG system. @{FG SHINE}-c2p@{FG TEXT} Can be used if for some reason the new RTG autodetection rou- tine doesn't work correctly and therefore thinks a selected native Amiga screenmode is a RTG screen. @{FG SHINE}-fps@{FG TEXT} Displays the frames per seconds in the upper left corner of the screen. @{FG SHINE}-rendercontrol@{FG TEXT} Can be used together with "-fps" to see how fast the rendering would be, if there was no need to chunky2planar (or copy) from the framebuffer to the screen bitmap. You can switch the FrameBuffer-to-Screen routine on and off with CAPS LOCK. If CAPS LOCK is on, the screen won't be updated, but you will still see the fps (all 3D and game calculations will @{B}not@{UB} be disabled!!) . @{FG SHINE}-nodoublebuffer@{FG TEXT} Switches double-buffering off. Double-buffering does actually only work with native screens (i.e. if you don't use the "-rtg" option). @{FG SHINE}-zonesize@{FG TEXT} By default DoomAttack tries to alloc one block of 6 MByte, which will be freed only when you quit Doom. If allocation fails, it decreases the size by 50 KByte, again and again, until allocation succeds. With -zonesize you can tell DoomAttack how many KBytes (!!!!! not MBytes) it shall try to alloc first. You should not go under 2000 KByte, although I'm not quite sure as this probably depends on the WAD file. This option ovverides the relative setting in ".doomrc" @{FG SHINE}-freefast@{FG TEXT} DoomAttack tries to leave KBytes FAST memory free when allocating the "Zone area". This option overrides the relative setting in ".doomrc" @{FG SHINE}-displayid@{FG TEXT} Supply the (numeric) id of the screenmode you want to use. You can specify it in hexadecimal format. For example "0x21000" would be PAL:Lowres. This option ovverides the relative setting in ".doomrc" @{FG SHINE}-c2proutine@{FG TEXT} Specify an alternative chunky2planar routine. By default DoomAttack tries to load "PROGDIR:DoomAttackSupport/c2p/c2p" and if this file doesn't exist it falls back to RTG mode. This option ovverides the relative setting in ".doomrc" @{FG SHINE}-forcedemo@{FG TEXT} Forces to run the demo even if it "is from another game" @{FG SHINE}-norangecheck@{FG TEXT} There are some bugs in the rendering engine (= in the original source code) which sometimes can make it try to render outside the framebuffer (=> can cause crash). Therefore by default there are range checks in the routines to avoid this. This might slow down overall speed a little bit. With this option you can replace the render routines with faster ones not containing the mentioned range checks, at your own risk!! There will probably be only a very small speed increase, therefore I think it's better not using this option! @{FG SHINE}-cachesound@{FG TEXT} Cache sound effects = keep only a few of them in chip memory. This option overrides the relative setting in ".doomrc" @{FG SHINE}-nosound@{FG TEXT} Disable sound effects. @{FG SHINE}-nomusic@{FG TEXT} Tells DoomAttack not to use the music plugin. @{FG SHINE}-coolmap@{FG TEXT} You will get a rotating map, which makes orientation a lot easier. This option ovverides the relative setting in ".doomrc" @{FG SHINE}-joypad@{FG TEXT} Allows you to use a CD32 Joypad. The routines are based completely on ADoom from Peter McGavin and have not been tested! This option ovverides the relative setting in ".doomrc" @{FG SHINE}-joyport@{FG TEXT} The port to be used for the Joystick/Joypad. Specify 0 for the mouse port and 1 for the joystick port. This option ovverides the relative setting in ".doomrc" @{FG SHINE}-config@{FG TEXT} Use a custom configuration file instead of ".doomrc" in the DOOMHOME directory. For example: -config ram:myconfig @{FG SHINE}-file@{FG TEXT} Must be used if you want to play a custom WAD (which re- quires a registered/commerical WAD to be present, too). For example: -file SUPER.WAD @{FG SHINE}-nosleep@{FG TEXT} Usually DoomAttack automatically goes sleeping if you activate another window (it's CPU usage will go to 0). This will not work if you are trying to start DoomAttack twice (to use it with the DANet_Local plugin = two player on one computer game). At least one of the two has to be started with "-nosleep" @{FG SHINE}-noinputhack@{FG TEXT} Disables the InputHandler used for the "Full keyboard control" and "Full mouse control" options in ".doomrc". The relative option will therefore not be available. @ENDNODE @NODE "Controls" "Controls" @TOC "MAIN" These are the default controls. Many of them can be changed with Doom- AttackPrefs: @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ @{FG SHINE}Rotate Left@{FG TEXT} CURSOR LEFT MOUSE LEFT JOYSTICK LEFT @{FG SHINE}Rotate Right@{FG TEXT} CURSOR RIGHT MOUSE RIGHT JOYSTICK RIGHT @{FG SHINE}Walk@{FG TEXT} CURSOR UP MOUSE UP JOYSTICK UP RIGHT MOUSE BUTTON @{FG SHINE}Go Back@{FG TEXT} CURSOR DOWN MOUSE DOWN JOYSTICK DOWN @{FG SHINE}Shoot@{FG TEXT} CONTROL JOYSTICK FIRE LEFT MOUSE BUTTON @{FG SHINE}Run@{FG TEXT} SHIFT @{FG SHINE}Strafe@{FG TEXT} ALT MIDDLE MOUSE BUTTON @{FG SHINE}Show last message@{FG TEXT} RETURN (in game) ENTER (in menus) @{FG SHINE}Use / Open door@{FG TEXT} SPACE MMB DOUBLE CLICK @{FG SHINE}Gamma correction@{FG TEXT} * (Numeric keypad) @{FG SHINE}Pause game@{FG TEXT} / (Numeric keypad) @{FG SHINE}Save IFF screenshot@{FG TEXT} ` (Above TAB) (Standard name DOOMxx.IFF) @{FG SHINE}Save IFF screenshot@{FG TEXT} SHIFT+` (Above TAB) (Ask for name with ASL requester) @{FG SHINE}Low detail on/off@{FG TEXT} F5 @{FG SHINE}Increase window size@{FG TEXT} + @{FG SHINE}Decrease window size@{FG TEXT} - @{FG SHINE}Zoom map@{FG TEXT} + @{FG SHINE}Zoom map@{FG TEXT} - @{FG SHINE}Map type@{FG TEXT} P (works only if map is active) @{FG SHINE}Map grid@{FG TEXT} G @{FG SHINE}Map follow mode@{FG TEXT} F @{FG SHINE}Minout/maxout map@{FG TEXT} 0 @{FG SHINE}Chat@{FG TEXT} T @ENDNODE @NODE "Author" "Author" @TOC "MAIN" Send comments, suggestions, @{" Bug Reports " LINK "BugReports"} (in German (preferred), Italian or English) to: Georg Steger Hochlercher 30 I-39030 St. Johann/Ahrntal EMail: @{B}steger@pass.dnet.it@{UB} Sorry if I don't reply every single EMail, but I'm getting far too many of them. I probably will only answer the ones asking questions. Expect delays of several days! @ENDNODE @NODE "BugReports" "Bug Reports" @TOC "Author" o If you are using the 68060 version have a look at @{" FINAL NOTES " LINK "FINAL"}! o When you send bug reports you should describe the problem as exactly as possible, in which situations it happens, if you can reproduce it, if it only happens with certain WADs, levels, if it happens only when starting DoomAttack from WB, etc. Something like "The game crashes. Fix it!" does not say anything to me! o You still get division by zeros (80000005 GURU)? See @{" FINAL NOTES " LINK "FINAL"} and let me know! @{FG SHINE}____________________________________________________________________________@{FG TEXT} ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ @{B}Known bugs:@{UB} o When making a screenshot with SHIFT + ` (which pops up a File Requester) you must press SHIFT once more, when the game screen reappears. This is because the program got the SHIFT DOWN event, but no SHIFT UP event, be- cause of the DoomAttack window not being active (the ASL requester window will be the active one) anymore when you release the keys. If you do not press SHIFT again, then the program thinks that the key has never been re- leased which usually (if you don't have changed the key settings with DoomAttackPrefs) makes it think you want to run (SPEED on). o The program might still crash at exit. I'm not 100 % certain but I think that it only happens with the DAMusic_P61A and/or DANet_Local plugin activated. The original P61 player routines had some bugs in causing En- forcer Hits and writes to "foreign" memory. Maybe there are still some bugs in. o If the program dead locks, then you very probably have activated the "Full keyboard control" and/or "Full mouse control" options. Read the warning about this stuff in @{" Configuration " LINK "Configuration"} @ENDNODE @NODE "Thanks" "Thanks - Credits" @TOC "MAIN" Thanks fly to: o Lorens Johansson for writing the AmigaGuide documentation. I had to change it a little bit, as it contained some V40 commands. o Peter Mc Gavin for including the source code in ADoom. Several parts of DoomAttack are based on ADoom. For example the Network plugin and the joy- pad routines (from Gabriele Greco) o Aki M Laukkanen for the permission to use his ultra fast draw routines which are used in ADoom, too, BTW. o Gregers Jacobsen for the DOpus Doom Filetype. o Petri Savolainen for sending me C2P and P61A routines. o Piotr Pawlow for sending me C2P routines o Jarno Paananen for creating the Player61A - a very fast MOD player. o Jyrki O Saarinen for his information about the 68060. o Craig Howard for doing a DoomAttack startup picture for me. o All the others, which sent me C2P routines, info about GFX Board coding, bug reports, etc. @ENDNODE @NODE "History" "History" @TOC "Main" V 0.7: - Had to redo all the 68060 stuff, because I had replaced the wrong CPU instructions. Arrrrgh!! - Added network support through a plugin. Actually there is a TCP (Internet) plugin and a Local plugin (two player game on one com- puter - not really playable). - Added music support through a plugin. Actually there is a P61A mod player plugin. ProTracker mods can be converted to this format with the converter program contained in the Player61A archive (Aminet: mus/play/P6101.lha) - Added "full keyboard control" and "full mouse control" options - Prefs program. It's even animated! - Created several other C2P modules for differenct machines - Improved map feature again. It can now be displayed on the HUD (over the game graphics), with different positions/sizes and a very cool transparency effect. - Many bug fixes - RTG screen modes should now be detected automatically - Added some cheat options (max. ammo, max. armor, max. health, ...) - Added french keyboard patch - Only very few new routines have been converted to assembly. I did not have the time for that. The speed increase in this version is mainly caused by the new C2P routines and the draw rouines from Aki M Laukkanen. V 0.6: - Fixed several bugs. Might not crash anymore at exit, but don't count on it!! - Added "-joypad" option. The routines are completely based on the ones from ADoom (Thanks to Peter McGavin for having included the source code :) The routines have not been tested. - Added "-coolmap" option. You will get a rotating map!! I think orientation is much easier, then. Has still some problems when the grid is activated, but who is this using, anyway. - I thought "divul.l" and "divsl.l" did not exist in both the 68040 and 68060. But unfortunately (or not) only the 68060 does not have them, so the version of GCC I'm using generates a lot of them with the "-m68040" option making DoomAttack very slow on 68060 systems. Since my GCC does not have a "-m68060" option (is there any out having it?) I decided to do a 68060 version by hand by adding hundreds of #ifdef, #endifs. I'm not sure if the 68060 version is now really "divul.l" and "divsl.l" free, so let me know if it's working faster now. BTW: Is there a program with which this can be tested (on a 68060 machine of course)? - Improved the FPS display. V 0.5: - First public release @ENDNODE @NODE "Future" "Future" @TOC "MAIN" - Speed increase - Put more stuff into external plugins, maybe Sound FX, Input routines, ... - Maybe a 640 x 400 version. - ??? @ENDNODE @NODE "FINAL" "FINAL NOTES" @TOC "MAIN" o Special note for 68060 users: If you think you have found a bug, then try first with the 68020 or 68040 version, to see, if the bug is present in this versions, too. The 68060 version is a little bit special as I had to do it by hand (conditional compiling: lots of #ifdef mc68060 ... #endif) and so it might well be that I have made some errors (doing the 68060 stuff was very annoying ...) o The game from time to time crashes at exit. There seem to be a lot of bugs in the original source code. I have fixed some but there are still crashes. Reboot your computer after quitting DoomAttack. I don't take any responsibility for any damage that occures. You have been warned!!! o The FPS display ("-fps" option) slows down the game a little bit. o Native Amiga screenmodes with 30 kHz slow down the game a little bit. If possible use a normal 15 kHz mode. o I have removed the checks for divison by zero in many places, where I think they are not necessary. Anyway I was not always 100% sure, so if you get a 80000005 GURU let me know! I have been reported by several users that V0.5 indeed produced divide by zero expections. Therefore I have re-written the division by zero checks in some places. If you still get GURUS with this version let me know and don't forget to specify in which occasion the GURU happened. I have also attached a small utility called Div0Killer, which prevents software failures to appear if a division by zero occures. You can start it somewhere in the startup-sequence with "run <>NIL: Div0Killer". You can find "Div0Killer" in the "Tools" directory. It has no icon so select "View all icons" from the Workbench menu. @{B}WARNING:@{UB} The usage of Div0Killer might result in unexpected behaviour, not only of DoomAttack, but of other programs too, if they make a division by zero and continue their work, just like if nothing had happened. Avoid it's usage if possible! @ENDNODE