author Ryan C. Gordon <>
Fri, 05 Apr 2002 18:07:18 +0000
changeset 176 4a996749e39d
parent 142 e3eb45e37874
child 179 4c958de93bf7
permissions -rw-r--r--
Cleaned up byteorder-safe reading functions. Use internal Physfs stricmp.

Stuff that needs to be done and wishlist:

These are in no particular order. A 1.0 release is reliant on doing most of
 this stuff. Some might be dupes, some might be done already.

- autoconf support?
- update the Makefile so that Cygwin can generate a DLL. The entire codebase
  compiles under Cygwin otherwise.
- Hmm...we can determine the actual CD-ROM drives under Win32, but how do you
  decide that there's no disc in the drive?
- Platform-specific functions/macros to handle byte ordering.
- A PHYSFS_readUint32(), _readSint32(), etc API.
- Patch the zlib used on win32 to 1.1.4.
- Switch the CHANGELOG to list newest changes first.
- Write manpages, preferrably generated from some javadoc-style solution
  so we can make HTML versions etc from the same data.
- Byte order API; just something simple like:
    __EXPORT__ PHYSFS_uint16 PHYSFS_swapBE16(PHYSFS_uint16 val);
    __EXPORT__ PHYSFS_uint16 PHYSFS_swapLE16(PHYSFS_uint16 val);

   (these can be macros. The hard part is determining the architecture at
    compile time, and whether a given platform offers accelerated
    conversion macros already. We can probably jack this from SDL, too.)
- Make win32.c respect the more strict filesystem layout enforced by
  Win2000 and later.
- Improve ZIP_seek() (archivers/zip.c)
- Make the zipfile parse symlinks with relative paths. See the function
  expand_symlink_path() in archivers/zip.c ...
- Make archivers/unzip.c use the new byte order API for a little more
  efficiency (it gets 32-bit ints as four 1-byte reads; yuck.)
- Actually, the zipfile driver could use a lot of tweaking. Please look
  through it.
- Other archivers: perhaps tar(.gz|.bz2), RPM, etc. These are less
  important, since streaming archives aren't of much value to games (which
  is why zipfiles are king: random access), but it could have uses for, say,
  an installer/updater. I thought it might be neat to have MBOX and Maildir
  support so that both "archives" look identical to an application; might be
  nice for an email program. That's blue sky, unless someone wants to tackle
- Look for FIXMEs (many marked with "!!!" in comments).
- Port to BeOS (might work already? Will work for sure with autoconf support)
- Port to MacOS Classic (needs a platform driver, byte order fixes mentioned)
- Port to MacOS X (specifically, make Project Builder files; unix.c should
  work with it as-is. Might compile as-is with the current Makefile, byte
  ordering fixes mentioned).
- Probably other stuff. Requests and recommendations are welcome.

// end of TODO ...