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


- 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?
- Clear the entire console before closing to make sure that the
  mode exit is clean.
- Implement proper Console::information string generation
- Add control over the icon resource string so users can load
  their own icons for the ptc window easily.
- 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.
- Disable key press buffering when the HWND is user managed,
  however, provide option strings to turn it back on, if
  desired. Maybe the other way around? Leave it on, provide
  options to turn it off?
- 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.
- 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.
- Make sure that all WndProc handlers catch any errors that
  occur and behave appropriately.
- 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?
- Replace all of the code in DirectXPrimary that performs console
  clearing in software with DX hardware clearing (windowed output
  clearing is mostly still software...)
- Add assembler support to HERMES under Win32/Visual C++ so that
  the assembly routines can be used in OpenPTC Win32.
- 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.
- Make ALT-ENTER to switch between windowed and fullscreen output!
  This would be very hard to implement but cool to have.
- 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.
- Add Java support (RNI/JNI)
- Add installer for ptc.dll/ptcdebug.dll and seperate the runtime
  and SDK components of OpenPTC Win32.
