TODO
changeset 136 e70c4231a8b7
parent 109 25e14cb7cab9
child 142 e3eb45e37874
equal deleted inserted replaced
135:57ba3130b1e7 136:e70c4231a8b7
     1 Stuff that needs to be done and wishlist:
     1 Stuff that needs to be done and wishlist:
     2 
     2 
     3 - autoconf?
     3 These are in no particular order. A 1.0 release is reliant on doing most of
       
     4  this stuff. Some might be dupes, some might be done already.
       
     5 
       
     6 - autoconf support?
     4 - update the Makefile so that Cygwin can generate a DLL. The entire codebase
     7 - update the Makefile so that Cygwin can generate a DLL. The entire codebase
     5   compiles under Cygwin otherwise.
     8   compiles under Cygwin otherwise.
     6 - Hmm...we can determine the actual CD-ROM drives under Win32, but how do you
     9 - Hmm...we can determine the actual CD-ROM drives under Win32, but how do you
     7   decide that there's no disc in the drive?
    10   decide that there's no disc in the drive?
     8 - MacOS (Classic and X) support.
    11 - MacOS (Classic and X) support.
     9 - Move the integer types to something abstract. uint32, etc.
       
    10 - Platform-specific functions/macros to handle byte ordering.
    12 - Platform-specific functions/macros to handle byte ordering.
    11 - A PHYSFS_readUint32(), _readSint32(), etc API.
    13 - A PHYSFS_readUint32(), _readSint32(), etc API.
    12 - Ditch the "standard" i/o routines (fopen() and friends) and move this into
    14 - Patch the zlib used on win32 to 1.1.4.
    13   the platform drivers.
    15 - Switch the CHANGELOG to list newest changes first.
       
    16 - Write manpages, preferrably generated from some javadoc-style solution
       
    17   so we can make HTML versions etc from the same data.
       
    18 - Make internal code respect the new typedefs (PHYSFS_?int??).
       
    19 - Byte order API; just something simple like:
       
    20     __EXPORT__ PHYSFS_uint16 PHYSFS_swapBE16(PHYSFS_uint16 val);
       
    21     __EXPORT__ PHYSFS_uint16 PHYSFS_swapLE16(PHYSFS_uint16 val);
       
    22 
       
    23    (these can be macros. The hard part is determining the architecture at
       
    24     compile time, and whether a given platform offers accelerated
       
    25     conversion macros already. We can probably jack this from SDL, too.)
       
    26 - Make win32.c respect the more strict filesystem layout enforced by
       
    27   Win2000 and later.
       
    28 - Improve ZIP_seek() (archivers/zip.c)
       
    29 - entry_is_symlink() and version_does_symlinks() in zip.c have byte-order bugs.
       
    30 - Actually, the zipfile driver could use a lot of tweaking. Please look
       
    31   through it.
       
    32 - Abstract out the use of stdio. It's not as "std" as I would like, in my
       
    33   experience. Add code to the platform drivers to open, read, write, seek,
       
    34   tell, etc on an abstract data type that is opaque outside the individual
       
    35   platform drivers, so that dir.c has a unified codebase that talks to this
       
    36   internal abstraction layer. This opaque data type can be a FILE * on unix,
       
    37   and a HANDLE on win32, etc...
       
    38 - Other archivers: perhaps tar(.gz|.bz2), RPM, etc. These are less
       
    39   important, since streaming archives aren't of much value to games (which
       
    40   is why zipfiles are king: random access), but it could have uses for, say,
       
    41   an installer/updater. I thought it might be neat to have MBOX and Maildir
       
    42   support so that both "archives" look identical to an application; might be
       
    43   nice for an email program. That's blue sky, unless someone wants to tackle
       
    44   it.
       
    45 - Look for FIXMEs (many marked with "!!!" in comments).
       
    46 - Port to BeOS (might work already? Will work for sure with autoconf support)
       
    47 - Port to MacOS Classic (needs a platform driver, byte order fixes mentioned)
       
    48 - Port to MacOS X (specifically, make Project Builder files; unix.c should
       
    49   work with it as-is. Might compile as-is with the current Makefile, byte
       
    50   ordering fixes mentioned).
       
    51 - Probably other stuff. Requests and recommendations are welcome.
    14 
    52 
    15 // end of TODO ...
    53 // end of TODO ...
    16 
    54 
    17