OpenPTC 1.0 Win32 Distribution TODO
-----------------------------------


SHORT TERM:

- Clear the entire console before closing to make sure that the
  mode exit is clean. this may or may not help?
- Add control over the icon resource string so users can load
  their own icons for the ptc window easily.
- Implement proper Console::information string generation
- Make sure that all WndProc handlers catch any errors that
  occur and behave appropriately.
- Replace all of the code in DirectXPrimary that performs console
  clearing in software with DX hardware clearing (windowed output
  clearing is mostly still software...)

MID TERM:

- Extend window position saving and restoring to all top level
  windows (and maybe icons as well) to make sure that fullscreen
  output can never possibly mess up the position of the users
  windows and icons (this is required for the correct operation
  of user managed HWND in fullscreen!). "Win32Desktop" class?
- Convert all static array structures in OpenPTC Win32 over
  to use the STL. I'm sick of managing complex data structures
  from scratch using limited fixed size buffers. blergh.
- Implement area updates for cases where there is a secondary
  surface being copied to the primary on each update.
- Add some more window styles for windowed output.
- Add support for configuring PTC options globally from inside
  the registry? PTC control panel applet? heheh :)
- Properly handle resizable windows when writing directly to the
  primary surface by changing the width/height of the console?
- Implement saving and restoring of the contents of the
  primary and secondary surfaces.
- Add options to the system menu of ptc windows for 1x, 2x, 4x
  window output, fullscreen or windowed, etc.

LONG TERM:

- Run BoundsChecker and Purify over OpenPTC for Win32 to track
  down and fix any memory leaks, uninitialized memory accesses
  and other little minor (or major...) bugs that pop up :)
- Add a lot more extension example programs to show how to
  interface PTC with DirectX, Direct3D, OpenGL, GDI, Win32 MCI
  video playing routines etc. How to set a hook on the console
  WndProc to get mouse events etc.
- Make ALT-ENTER to switch between windowed and fullscreen output.
  This would be very hard to implement but extremely cool!
- Implement a workaround the windows ALT and F10 system
  keys to stop the program pausing when they are pressed.
- Add GDI support once the DirectX support is completed. This will
  be most useful for providing easy access to WGL/OpenGL!
- Add Java support (RNI/JNI) to ptc.dll.
- Add assembler support to HERMES under Win32/Visual C++ so that
  the assembly routines can be used in OpenPTC Win32.
- Seperate the Hermes routines to "hermes.dll" and link dynamically
  to hermes.dll from ptc.dll. Once this is done, an installer
  will be required.
- Add installer for ptc.dll/ptcdebug.dll/hermes.dll and seperate the
  runtime and SDK components of OpenPTC Win32.
