Baltimore
Release 1.01
------------------------


* Changes from Release 0.1. Better keyboard control, and improved per-
  formance, which is achieved mostly by fixed-point arithmetics. I don't
  have access to Unix workstation anymore so I didn't test this release
  in Unix systems. However, it's unlikely to have new problems.


* Palwork. PALWORK.EXE translates a group of .GIF files to .BIF files and
  one Baltimore.PAL file. We need this mainly because a global 256-color
  palette is needed for all textures. A complex palette optimization
  algorithm, a.k.a. palette quantization, is used in Palwork, which is
  very slow. Please be patient. Also, I did not design Palwork to be
  fancy-looking 'cause it's an internal tool after all. So please excuse
  me for its stupid user interface.


* Assembly code optimized for Pentium. In Rengine.CPP assembly code is
  inserted in order to improve the performance. It's optimized for 
  Pentium's superscalar architecture. Don't touch it unless you really
  know what you're doing. C++ code that does the same job is there, too.
  Define _INTEL to use the assembly code. You don't have to use it,
  especially when you're using a non-Intel system or you have a very
  good compiler (MSVC5 does my C++ code as good as the assembly code).


* Non-Microsoft Compilers. The project settings you've got here are only
  for Visual C++ 5.0. For other development system, create two projects
  as following:

  Baltimore: BalLib.CPP  Baltimore.CPP  Buffer.CPP  Camera.CPP
             File.CPP  Lift.CPP  Line.CPP  Map.CPP  Player.CPP
             Rengine.CPP  Sector.CPP  Texture.CPP  Timer.CPP
             Variable.CPP  Walker.CPP
             WinPainter.CPP (or XPainter.CPP for Unix)
  
  PalWork:   BalLib.CPP File.CPP GIFImage.CPP PalMan.CPP 
             PalWork.CPP  Texture.CPP

  Define _UNIX if you're using Unix, and _INTEL is you're using my new
  assembly code. With standard compiler options for 32-bit programs.



* Known Bugs:

  PalWork's GIF reader does not work while compiled using Visual C++ 2.0
  with optimization switches on. Try DEBUG version on that file.

  The new PaintSector() function misses one pixel. The visual effect of
  this bug is not so obvious and I've been lazy on this project so I
  didn't bother to do anything.


* Contact. I live in San Francisco bay area so give me a call if you
  live nearby. I can be reached by 415-507-5881 (O) or 510-215-7250 (H).
  Or try my e-mail sli2@cs.umbc.edu, or song.li@autodesk.com. 




Song Li,
2/2/98
