TODO 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Stuff that needs to be done and wishlist:
  2. These are in no particular order. A 1.0 release is reliant on doing most of
  3. this stuff. Some might be dupes, some might be done already.
  4. - autoconf support?
  5. - update the Makefile so that Cygwin can generate a DLL. The entire codebase
  6. compiles under Cygwin otherwise.
  7. - Hmm...we can determine the actual CD-ROM drives under Win32, but how do you
  8. decide that there's no disc in the drive?
  9. - Platform-specific functions/macros to handle byte ordering.
  10. - A PHYSFS_readUint32(), _readSint32(), etc API.
  11. - Patch the zlib used on win32 to 1.1.4.
  12. - Switch the CHANGELOG to list newest changes first.
  13. - Write manpages, preferrably generated from some javadoc-style solution
  14. so we can make HTML versions etc from the same data.
  15. - Byte order API; just something simple like:
  16. __EXPORT__ PHYSFS_uint16 PHYSFS_swapBE16(PHYSFS_uint16 val);
  17. __EXPORT__ PHYSFS_uint16 PHYSFS_swapLE16(PHYSFS_uint16 val);
  18. (these can be macros. The hard part is determining the architecture at
  19. compile time, and whether a given platform offers accelerated
  20. conversion macros already. We can probably jack this from SDL, too.)
  21. - Make win32.c respect the more strict filesystem layout enforced by
  22. Win2000 and later.
  23. - Improve ZIP_seek() (archivers/zip.c)
  24. - Make the zipfile parse symlinks with relative paths. See the function
  25. expand_symlink_path() in archivers/zip.c ...
  26. - Make archivers/unzip.c use the new byte order API for a little more
  27. efficiency (it gets 32-bit ints as four 1-byte reads; yuck.)
  28. - Actually, the zipfile driver could use a lot of tweaking. Please look
  29. through it.
  30. - Other archivers: perhaps tar(.gz|.bz2), RPM, etc. These are less
  31. important, since streaming archives aren't of much value to games (which
  32. is why zipfiles are king: random access), but it could have uses for, say,
  33. an installer/updater. I thought it might be neat to have MBOX and Maildir
  34. support so that both "archives" look identical to an application; might be
  35. nice for an email program. That's blue sky, unless someone wants to tackle
  36. it.
  37. - Look for FIXMEs (many marked with "!!!" in comments).
  38. - Port to BeOS (might work already? Will work for sure with autoconf support)
  39. - Port to MacOS Classic (needs a platform driver, byte order fixes mentioned)
  40. - Port to MacOS X (specifically, make Project Builder files; unix.c should
  41. work with it as-is. Might compile as-is with the current Makefile, byte
  42. ordering fixes mentioned).
  43. - Probably other stuff. Requests and recommendations are welcome.
  44. // end of TODO ...