About Xwolf3D
Xwolf3d Is not just another port of the classic FPS, but a complete ground up redesign. Xwolf3d has a new map and texture file format, a redesigned core, and core abstraction for greater portability to new systems.
Why?
The project was started when I was give a Palm Treo 680 from a friend. I quickly found ports of Duke3D, Doom, and Quake, but NO Wolf3d! I could not understand why this game would not be ported, it was simple, has soft rendering and only requires 6 buttons to play. Then I looked at the source code, and it all made sense. The code is written exclusively for the 286, has assembly routines, and hard 16-bit function pointers. So I started to work on my port when I decided the whole system could be rewritten in such a way that it would work on almost any computing device with a 30MHz CPU and 1 Meg of ram. Thus Xwolf3D began.
How?
The Job of porting the assembly has already been completed by other porters of the game. My main contribution is the redesign of game to allow for additional portability. This is done by separating the system independent code ( rendering ) from system dependant code ( File IO, User IO ). For each new system the UI will have to be re-written but not the underling core logic.
