This commit is contained in:
Ryan C. Gordon 2002-03-29 08:19:39 +00:00
parent 72d3077167
commit 2ad8cfa98f
2 changed files with 68 additions and 70 deletions

125
CHANGELOG
View File

@ -2,32 +2,44 @@
* CHANGELOG. * CHANGELOG.
*/ */
07282001 - Initial release. 03292002 - Fixed a potential problem in ZIP_realpath() and some byte order
08012001 - Added a safety memset in error setting, fixed URLs and email addr. issues in zip.c. Converted unzip.c to use physfs file i/o
08062001 - Added CD-ROM detection code to the unix platform driver. abstractions. Converted CHANGELOG to list latest entries first.
08072001 - Changed version to 0.1.1. 03242002 - Added __PHYSFS_platformInit() and __PHYSFS_platformDeinit(). Win32
08232001 - Fixed a potential free()ing of a NULL pointer in improvements by Gregory S. Read. Added PHYSFS_[us]int(8|16|32)
__PHYSFS_platformEnumerateFiles() in platform/unix.c. Added types...this breaks binary compatibility with previous PhysicsFS
platform/win32.c. Other cleanups to get this compiling with releases! Added platform specific i/o functions, so we don't have
Visual C and CygWin. Added BAIL_MACRO for times when we were doing to rely on stdio anymore. Updated TODO with my comments on the
BAIL_IF_MACRO(1, ...). Abstracted mkdir() in the platform drivers. physfs mailing list. 1.0, here we come! Removed race condition from
Added GRP setting output to showcfg in the Makefile. Updated INSTALL grp.c and converted to file i/o abstraction layer calls from stdio.
with license info and Win32 build instructions. Dependency on the Tons of other fixes and enhancements.
readline library in test_physfs.c is now optional. 03202002 - Patched platform/win32.c to compile.
Changed version to 0.1.2. 03152002 - PHYSFS_setSaneConfig() now handles failure to set the write dir
08282001 - win32.c now checks HOMEDRIVE, HOMEPATH, and HOME when calculating better. Patched makefile to link the test program. Changed all the
the userdir. Added include files that make it a little closer to "write" functions to get data from a "const" buffer. Added an
compiling under Cygwin. Added a TODO file. Fixed unix.c's "extras" dir, which currently contains PhysFS->SDL_RWops glue code.
__PHYSFS_platformCalcBaseDir() so that it actually works. Fixed 03052002 - Made unix.c's timeslice implementation more portable, and added a
Makefile so that it links the test program properly. Darwin-specific means to detect CDs (thanks to Patrick Stein).
Changed version to 0.1.3. Minor cleanup in win32.c (changed "for (; condition ;)" into
08292001 - win32.c calculates the base dir with GetModuleFileName() first, now, "while (condition)" ...)
and falls back to SearchPath() if there were problems. Changed an 11142001 - Removed a redundant error check in platform/win32.c
occurence of _MAX_PATH to MAX_PATH, so both CygWin and Visual C can 10092001 - Syntax fixes in dir.c, a FIXME in grp.c, and a "cat" command in
handle it. the test program. Apparently I had accidentally removed a rather
08312001 - Built PhysicsFS on Mandrake 8.0 for the PowerPC. Compiles clean, crucial line from dir.c a few revisions ago, and no one noticed. :(
but there's at least one byte-ordering issue in zip.c that needs Fixed. The win32 userdir will default to the base dir, now.
to be fixed. 09252001 - Changed API: PHYSFS_setSaneConfig() takes an organization name, and
sets up less directories. Be warned. Fixes from David Hedbor:
make setSaneConfig() set write directory correctly if it had to
create the directory, and make sure that the writing functions
get used in dir.c when a file is opened for writing/appending.
Updated CREDITS.
09142001 - David Hedbor submitted a patch to handle a case where the
current working directory has been deleted out from under the
process (both in platform/unix.c and physfs.c itself). Thanks,
David! Added a CREDITS file. Changed the format of the author field
in PHYSFS_ArchiveInfo to put the email address between "<>" instead
of "()" chars. Updated TODO. make install now deletes previous
revisions of the library. Changed version to 0.1.4.
09012001 - Happy September. Moved the Visual C project files and the zlib 09012001 - Happy September. Moved the Visual C project files and the zlib
source to a separate download. Look for it at source to a separate download. Look for it at
http://icculus.org/physfs/downloads/physfs-win32-support.zip ... http://icculus.org/physfs/downloads/physfs-win32-support.zip ...
@ -43,41 +55,32 @@
code somewhat). Haven't tried to compile the zipfile support, and code somewhat). Haven't tried to compile the zipfile support, and
I still can't link the library. Dunno what the hell I'm supposed I still can't link the library. Dunno what the hell I'm supposed
to do there. Isn't Unix supposed to be hard compared to this? to do there. Isn't Unix supposed to be hard compared to this?
09142001 - David Hedbor submitted a patch to handle a case where the 08312001 - Built PhysicsFS on Mandrake 8.0 for the PowerPC. Compiles clean,
current working directory has been deleted out from under the but there's at least one byte-ordering issue in zip.c that needs
process (both in platform/unix.c and physfs.c itself). Thanks, to be fixed.
David! Added a CREDITS file. Changed the format of the author field 08292001 - win32.c calculates the base dir with GetModuleFileName() first, now,
in PHYSFS_ArchiveInfo to put the email address between "<>" instead and falls back to SearchPath() if there were problems. Changed an
of "()" chars. Updated TODO. make install now deletes previous occurence of _MAX_PATH to MAX_PATH, so both CygWin and Visual C can
revisions of the library. Changed version to 0.1.4. handle it.
09252001 - Changed API: PHYSFS_setSaneConfig() takes an organization name, and 08282001 - win32.c now checks HOMEDRIVE, HOMEPATH, and HOME when calculating
sets up less directories. Be warned. Fixes from David Hedbor: the userdir. Added include files that make it a little closer to
make setSaneConfig() set write directory correctly if it had to compiling under Cygwin. Added a TODO file. Fixed unix.c's
create the directory, and make sure that the writing functions __PHYSFS_platformCalcBaseDir() so that it actually works. Fixed
get used in dir.c when a file is opened for writing/appending. Makefile so that it links the test program properly.
Updated CREDITS. Changed version to 0.1.3.
10092001 - Syntax fixes in dir.c, a FIXME in grp.c, and a "cat" command in 08232001 - Fixed a potential free()ing of a NULL pointer in
the test program. Apparently I had accidentally removed a rather __PHYSFS_platformEnumerateFiles() in platform/unix.c. Added
crucial line from dir.c a few revisions ago, and no one noticed. :( platform/win32.c. Other cleanups to get this compiling with
Fixed. The win32 userdir will default to the base dir, now. Visual C and CygWin. Added BAIL_MACRO for times when we were doing
11142001 - Removed a redundant error check in platform/win32.c BAIL_IF_MACRO(1, ...). Abstracted mkdir() in the platform drivers.
03052002 - Made unix.c's timeslice implementation more portable, and added a Added GRP setting output to showcfg in the Makefile. Updated INSTALL
Darwin-specific means to detect CDs (thanks to Patrick Stein). with license info and Win32 build instructions. Dependency on the
Minor cleanup in win32.c (changed "for (; condition ;)" into readline library in test_physfs.c is now optional.
"while (condition)" ...) Changed version to 0.1.2.
03152002 - PHYSFS_setSaneConfig() now handles failure to set the write dir 08072001 - Changed version to 0.1.1.
better. Patched makefile to link the test program. Changed all the 08062001 - Added CD-ROM detection code to the unix platform driver.
"write" functions to get data from a "const" buffer. Added an 08012001 - Added a safety memset in error setting, fixed URLs and email addr.
"extras" dir, which currently contains PhysFS->SDL_RWops glue code. 07282001 - Initial release.
03202002 - Patched platform/win32.c to compile.
03242002 - Added __PHYSFS_platformInit() and __PHYSFS_platformDeinit(). Win32
improvements by Gregory S. Read. Added PHYSFS_[us]int(8|16|32)
types...this breaks binary compatibility with previous PhysicsFS
releases! Added platform specific i/o functions, so we don't have
to rely on stdio anymore. Updated TODO with my comments on the
physfs mailing list. 1.0, here we come! Removed race condition from
grp.c and converted to file i/o abstraction layer calls from stdio.
Tons of other fixes and enhancements.
--ryan. (icculus@clutteredmind.org) --ryan. (icculus@clutteredmind.org)

13
TODO
View File

@ -8,14 +8,12 @@ These are in no particular order. A 1.0 release is reliant on doing most of
compiles under Cygwin otherwise. compiles under Cygwin otherwise.
- Hmm...we can determine the actual CD-ROM drives under Win32, but how do you - Hmm...we can determine the actual CD-ROM drives under Win32, but how do you
decide that there's no disc in the drive? decide that there's no disc in the drive?
- MacOS (Classic and X) support.
- Platform-specific functions/macros to handle byte ordering. - Platform-specific functions/macros to handle byte ordering.
- A PHYSFS_readUint32(), _readSint32(), etc API. - A PHYSFS_readUint32(), _readSint32(), etc API.
- Patch the zlib used on win32 to 1.1.4. - Patch the zlib used on win32 to 1.1.4.
- Switch the CHANGELOG to list newest changes first. - Switch the CHANGELOG to list newest changes first.
- Write manpages, preferrably generated from some javadoc-style solution - Write manpages, preferrably generated from some javadoc-style solution
so we can make HTML versions etc from the same data. 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: - Byte order API; just something simple like:
__EXPORT__ PHYSFS_uint16 PHYSFS_swapBE16(PHYSFS_uint16 val); __EXPORT__ PHYSFS_uint16 PHYSFS_swapBE16(PHYSFS_uint16 val);
__EXPORT__ PHYSFS_uint16 PHYSFS_swapLE16(PHYSFS_uint16 val); __EXPORT__ PHYSFS_uint16 PHYSFS_swapLE16(PHYSFS_uint16 val);
@ -26,15 +24,12 @@ These are in no particular order. A 1.0 release is reliant on doing most of
- Make win32.c respect the more strict filesystem layout enforced by - Make win32.c respect the more strict filesystem layout enforced by
Win2000 and later. Win2000 and later.
- Improve ZIP_seek() (archivers/zip.c) - Improve ZIP_seek() (archivers/zip.c)
- entry_is_symlink() and version_does_symlinks() in zip.c have byte-order bugs. - 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 - Actually, the zipfile driver could use a lot of tweaking. Please look
through it. 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 - Other archivers: perhaps tar(.gz|.bz2), RPM, etc. These are less
important, since streaming archives aren't of much value to games (which 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, is why zipfiles are king: random access), but it could have uses for, say,