Doom Environment Simulator v1.9alpha ------------------------------------ This is the fully light-shaded version of the project. Both walls & floors make use of light levels and accurate truecolour depth-cueing. The shading itself uses 64 visible light levels, unlike the PC version which has to make the best of a coarse 256-colour general palette. Unfortunately, the extra work involved takes it's toll on the processor, and I spent many hours optimising the texture mapping code to take full advantage of the 68030 instruction & data caches, CPU pipelining & cache concurrency & of course FastRAM where possible - in order to get the speed back up in line with v1.8alpha. Although not quite as fast as v1.8 (there's not more than a few percent difference in most cases), the visual impact generated by the shading & lighting effects make it look even better than PC Doom, and I think it was well worth the small overhead. There is some mathematical DSP stuff which could be speeded up, and certain other areas which could use some trimming, so the framerate might still go back up a little in the near future. 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. Instructions ------------ Commandline options: > doom19a.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: TAB toggle map on / off '1' rise '2' drop '3' toggle horizontal detail (not ready yet) '4' toggle vertical detail (not ready on VGA yet) '-' decrease window size '+' increase window size The detail modes are not yet complete, as the special video modes required to achieve 160x200, 320x100 & 160x100 are not yet implemented. The only mode which looks correct is 320x100 on RGB, as it's the easiest mode to generate. The other detail modes do work, but they will look squashed without the special video modes. I suggest that anyone following this project who does NOT have an IWAD file (as opposed to PWADs or patch-WADs) should get one soon, as it is very likely that v2.0 upwards will need to load textures from the WAD file. PWAD's tend not to contain 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. 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 patch-WAD and will not be much use in future, except later on when patches are supported on top of IWADs, for overlaying customised levels. Anyway, have fun.... Doug @ BSS