changeset 136 e70c4231a8b7
parent 109 25e14cb7cab9
child 142 e3eb45e37874
--- a/TODO	Mon Mar 25 04:06:06 2002 +0000
+++ b/TODO	Mon Mar 25 05:01:29 2002 +0000
@@ -1,17 +1,54 @@
 Stuff that needs to be done and wishlist:
-- autoconf?
+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?
 - MacOS (Classic and X) support.
-- Move the integer types to something abstract. uint32, etc.
 - Platform-specific functions/macros to handle byte ordering.
 - A PHYSFS_readUint32(), _readSint32(), etc API.
-- Ditch the "standard" i/o routines (fopen() and friends) and move this into
-  the platform drivers.
+- 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.
+- Make internal code respect the new typedefs (PHYSFS_?int??).
+- 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)
+- entry_is_symlink() and version_does_symlinks() in zip.c have byte-order bugs.
+- Actually, the zipfile driver could use a lot of tweaking. Please look
+  through it.
+- Abstract out the use of stdio. It's not as "std" as I would like, in my
+  experience. Add code to the platform drivers to open, read, write, seek,
+  tell, etc on an abstract data type that is opaque outside the individual
+  platform drivers, so that dir.c has a unified codebase that talks to this
+  internal abstraction layer. This opaque data type can be a FILE * on unix,
+  and a HANDLE on win32, etc...
+- 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
+  it.
+- 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 ...