
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 <wadfile> <level>

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 <dlittle@nest.demon.co.uk>





