physfs/docs/TODO.txt

103 lines
3.8 KiB
Plaintext

Stuff that needs to be done and wishlist:
These are in no particular order.
Some might be dupes, some might be done already, some might be bad ideas.
From http://icculus.org/pipermail/physfs/2009-March/000698.html ...
- Add an API to find the "pref path" ... this is the directory where an
app's configuration data is supposed to go...which is usually somewhere
under the user directory, but not always. As it is platform-dependent,
platform-version dependent and sometimes even user-dependent, this should be
handled by the library and not the app.
- Archives formats provided by the implementation.
- Write support for various archives. I haven't decided how to do this yet,
but I'd like to.
- Replace the existing error strings with something more flexible...right now,
you have to pick a translation at compile time, which isn't too useful. It
might be nice to have real error codes for apps instead of just error
messages for humans, too.
- UTF-16 support. 2.0.0 only handles UCS-2, which is most of the work, but
leaves out the "surrogate" codepoints. UTF-16 is a superset of UCS-2.
Older Windows using Unicode used UCS-2, newer Windows platforms use UTF-16.
- Add an API to expose a file's extended attributes to the application?
- Deprecate PHYSFS_setSaneConfig(). It really should have been in the extras
directory.
- Clean up the sources to match my ever-changing coding style. :)
- Remove realpath() for The Hurd, etc.
- Get current CD list from windows without blocking? Is it possible?
From http://icculus.org/pipermail/physfs/2010-January/000821.html ...
- Using error codes instead of error messages
- Plugin system for the archive handlers
From http://icculus.org/pipermail/physfs/2010-January/000826.html ...
- Lua bindings
From http://icculus.org/pipermail/physfs/2010-January/000833.html ...
- SWIG bindings
From old TODO.txt...
- Other archivers: perhaps tar(.gz|.bz2), RPM, ARJ, 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.
- Reduce malloc() pressure all over the place. We fragment memory like mad.
- profile string list interpolation.
- We have two different ways to find dir entries in zip.c.
- Do symlinks in zip archiver work when they point to dirs?
- Enable more warnings?
- Use __cdecl in physfs.h?
- Look for FIXMEs (many marked with "!!!" in comments).
- Find some way to relax or remove the security model for external tools.
- OSX shouldn't use ~/.app for userdir.
- fscanf and fprintf support in extras dir.
- Why do we call it openArchive and dirClose?
- Sanity check byte order at runtime.
- Memory locking?
- Find a better name than dvoid and fvoid.
- General code audit.
- Multiple write dirs with mount points?
- Replace code from SDL...
- Should file enumeration return an error or set error state?
- Need "getmountpoint" command in test_physfs.c ...
- Write up a simple HOWTO on embedding physicsfs in another project.
Other stuff I thought of...
- moar asserts!
- constify!
- Does iPhone work?
- Fix CMake vs Doxygen.
- Doxygen replacement? (manpages suck.)
- Fix coding standards to match.
- See if we can ditch some #include lines...
- We lost Vista symlink support when removing isSymLink(). Pull it back from
revision control.
- PHYSFS_exists() fails if you mountIo with a NULL filename. We need to decide
how this API should work.
- ZIP64 support?
- LZMA support in zip archiver?
- bzip2 support in zip archiver?
- rewrite 7zip archiver.
- ryanify iso9660 code.
- Examine Chris Nelles's errorcode stuff.
- Move archiver_qpak.c code to archiver_unpacked.c?
- Increase smallAlloc threshold?
- Cache basedir/userdir results (do we do this already?)
Probably other stuff. Requests and recommendations are welcome.
// end of TODO.txt ...