Doom Environment Simulator v1.92alpha ------------------------------------- This is an early preview containing correctly textured floors & ceilings. The walls still don't use the correct textures due to lack of a suitable software graphics cache. This will be corrected in the near future. Please ignore the fact that it also attempts to (badly) depth-cue the sky in places. It's a stupid bug. I would normally be quite pleased with this thing, but I just saw Doom running on the SNES yesterday, and it upset me immensely. What posessed ID to write something like Doom for a 65816 (6502) based 8-bit calculator like the SNES? Speeeeeeeedy kit!!! :) Mind you, I think it probably had an extra CPU & RAM on the game cartridge, as the SNES is well known for that kind of thing. Anyway, back to the plot... Operational details: -------------------- Commandline options: > doom192a.ttp Doom I example: Load episode 2, mission 3 from doom.wad > doom19a.ttp doom.wad e2m3 Doom II example: Load mission 13 from doom2.wad > doom19a.ttp doom2.wad map13 Movement keys: Arrow keys left / right & forward / back ALT hold down for strafe / sidestep Option keys: ESC quit TAB toggle map on / off RETURN toggle texture browser on / off '1' rise '2' drop '3' toggle horizontal detail '4' toggle vertical detail (not ready on VGA yet) 'V' select VGA aspect ratio (320x240 = fullscreen -> default) 'R' select RGB (PAL) aspect ratio (320x200 = fullscreen) 'F' toggle normal/full display height (320x200 <-> 320x240) '-' decrease window size '+' increase window size When using the texture browser, you may use the arrow keys to move forward and back through all of the available wall textures in the IWAD. The textures displayed are full 'composite' TEXTURES from the TEXTURE1 & TEXTURE2 directories in the IWAD - not simply patches from the PNAMES directory. This is the beginnings of the graphics cache which is needed for management of large numbers of textures in memory at once. The detail options are not yet complete, as the special hardware video modes required to achieve 160x200, 320x100 & 160x100 are not yet implemented on VGA. I have been sent the appropriate routines but have not yet had time to make the necessary modifications to the engine in order to make them useful. There is however software emulation for all of these modes which is almost complete. The currently supported modes are:- RGB : 320x200 / 320x240 RGB : 320x100 / 320x120 (hardware emulation) RGB : 160x200 / 160x240 (software emulation) RGB : 160x100 / 160x120 (part software, part hardware emulation) VGA : 320x200 / 320x240 (software emulation) VGA : 160x200 / 160x240 (software emulation) The other detail modes do work, but they will currently look squashed. The currently unfinished modes are:- VGA : 320x100 / 320x120 VGA : 160x100 / 160x120 To use this demo, you will need a Doom IWAD level file of some kind. PWAD (patch WAD) files will not work as they do not to contain the correct number of textures. A 4MB Demo WAD is freely available for the PC (shareware Doom). There are also 10MB (commercial Doom) & 12MB (Ultimate Doom) versions if you have access to those - and even a 14Mb Doom-II WAD which might also work. WAD files from Heretic (Shareware & commercial) will work with this program, but due to the default wall texture, may look a mess until the graphics cache has been written. This will probably be implemented in version 2.0 or upwards. I will be using the 4MB & 12MB WADs for testing, just in case problems arise and you need to know. Any WAD smaller than the ones stated is likely to be a PWAD and will not be much use in future, except later on when patches are supported on top of IWADs, for overlaying customised levels. Important modifications: ------------------------ * 1.32alpha -> 1.7alpha > The NodeInCone function is now on the DSP. > A new DSP function has been employed to defrag the floor runs. > Rotational, perspected mapping function for floors & ceilings. > Distance shading for floors & ceilings. > Perspected mapping function for walls. * 1.7alpha -> 1.8alpha > Removed unwanted FPU instructions: * 1.8alpha -> 1.9alpha > Replaced 'additive' shading scheme with better 'scaled' shading. > Added lighting to walls. > Added depth-cueing to walls. > Optimised texture mapping code for CPU bus pipeline. > Optimised texture-index calculations > Optimised texture-run storage & lookup > Modified WAD parser for easy acess to individual resources. > Different textures just for the hell of it. * 1.9alpha -> 1.92alpha > Floor & ceiling textures loaded from IWAD & used correctly. > Fixed vertical aspect ratio for VGA. > Changed the distance shading curve YET AGAIN! (I want ID's original source!) > More accurate floor / ceiling rendering routines. > Low detail modes now work fully on RGB & partially on VGA. > Fixed the sky texture and then discovered it wasn't quite so fixed after all. > DSP / CPU communications optimised for walls. > New full-height (320x240) capability! > New texture-browsing mode. As always, have fun.... Doug @ BSS Preferred e-mail: <101573,1275@compuserve.com> Alternate e-mail: