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