--- /dev/null
+We are releasing this code for the entertainment of the \r
+user community. We don't guarentee that anything even \r
+builds in here. Projects just seem to rot when you leave \r
+them alone for long periods of time.\r
+\r
+This is all the source we have relating to the original \r
+PC wolfenstein 3D project. We haven't looked at this \r
+stuff in years, and I would probably be horribly embarassed \r
+to dig through my old code, so please don't ask any questions \r
+about it. The original project was built in borland c++ 3.0. \r
+I think some minor changes were required for later versions.\r
+\r
+You will need the data from a released version of wolf or spear \r
+to use the exe built from this code. You can just use a \r
+shareware version if you are really cheap.\r
+\r
+\r
+Some coding comments in retrospect:\r
+\r
+The ray casting refresh architecture is still reasonably \r
+appropriate for the game. A BSP based texture mapper could \r
+go faster, but ray casting was a lot simpler to do at the time.\r
+\r
+The dynamically compiled scaling routines are now a Bad Thing. \r
+On uncached machines (the original target) they are the fastest \r
+possible way to scale walls, but on modern processors you just \r
+wind up thrashing the code cash and wrecking performance. \r
+A simple looping texture mapper would be faster on 486+ machines.\r
+\r
+The whole page manager caching scheme is unecessarily complex.\r
+\r
+Way too many #ifdefs in the code!\r
+\r
+\r
+Some project ideas with this code:\r
+\r
+Add new monsters or weapons.\r
+\r
+Add taller walls and vertical motion. This should only be \r
+done if the texture mapper is rewritten.\r
+\r
+Convert to a 32 bit compiler. This would be a fair amount \r
+of work, but I would hate to even mess with crusty old 16 \r
+bit code. The code would get a LOT smaller.\r
+\r
+Make a multi-player game that runs on DOOM sersetup / ipxsetup drivers.\r
+\r
+\r
+Have fun...\r
+\r
+John Carmack\r
+Technical Director\r
+Id Software\r