r758 - in tags: . release-1.0.1 release-1.0.1/extras/PhysFS.NET release-1.0.1/extras/PhysFS.NET/TestApp release-1.0.1/extras/physfs_rb
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Sat Jul 23 21:05:52 EDT 2005
Author: icculus
Date: 2005-07-23 21:05:49 -0400 (Sat, 23 Jul 2005)
New Revision: 758
Added:
tags/release-1.0.1/
tags/release-1.0.1/CHANGELOG
tags/release-1.0.1/CWProjects.sit
tags/release-1.0.1/physfs_internal.h
tags/release-1.0.1/zlib123/
Removed:
tags/release-1.0.1/CHANGELOG
tags/release-1.0.1/CWProjects.sit
tags/release-1.0.1/physfs_internal.h
tags/release-1.0.1/zlib123/
Modified:
tags/release-1.0.1/extras/PhysFS.NET/AssemblyInfo.cs
tags/release-1.0.1/extras/PhysFS.NET/PhysFS.NET.csproj
tags/release-1.0.1/extras/PhysFS.NET/PhysFS.NET.sln
tags/release-1.0.1/extras/PhysFS.NET/PhysFS.cs
tags/release-1.0.1/extras/PhysFS.NET/PhysFSFileStream.cs
tags/release-1.0.1/extras/PhysFS.NET/PhysFS_DLL.cs
tags/release-1.0.1/extras/PhysFS.NET/README.txt
tags/release-1.0.1/extras/PhysFS.NET/TestApp/AssemblyInfo.cs
tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestApp.csproj
tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestApp.sln
tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestAppForm.cs
tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestAppForm.resx
tags/release-1.0.1/extras/physfs_rb/installer.rb
tags/release-1.0.1/zlib_license_change.txt
Log:
Tagging stable branch release 1.0.1
Copied: tags/release-1.0.1 (from rev 753, branches/stable-1.0)
Deleted: tags/release-1.0.1/CHANGELOG
===================================================================
--- branches/stable-1.0/CHANGELOG 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/CHANGELOG 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,435 +0,0 @@
-/*
- * CHANGELOG.
- */
-
--- stuff in the stable-1.0 branch, backported from 2.0.0 dev branch, etc ---
-
-07232005 - Fixed bug in zip archiver (thanks, Jörg Walter!). Updated zlib to
- 1.2.3, which properly includes the security fix. Fixed "make dist"
- to handle .svn dirs and other file changes. Removed "debian"
- directory. Fixed warning in physfs.c. Upped version to 1.0.1.
-07132005 - Moved to zlib122, and security fix discussed here:
- http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2096
-06122005 - Added support for mingw to Unix build process (thanks, Matze!).
-03162005 - Readded Spanish translation. Added Brazillian Portguese translation
- and fixed unlocalized string in wad.c (thanks Danny!). Some MacOS
- Classic fixes and MPW support (thanks, Chris!). Changed CWProjects
- from SITX to SIT format, so MacOS Classic users can unpack it.
-02152005 - Minor comment fix in platform/pocketpc.c
-01052004 - Fixed HOG archiver sorting/file lookup (thanks, Chris!)
-12162004 - Fixed some documentation/header comment typos (thanks, Gaetan!)
-10302004 - Fixed a strcpy that should have been a strcat. (thanks, Tolga!)
- Removed .cvsignore files (we're in a Subversion repository, now).
- Build system respects external CFLAGS now. (thanks, Adam!)
-09212003 - Happy September. Fixes to bootstrap on MacOS X. Seeking now tries
- to respect pre-buffered data.
-
-
---- changelog up to 1.0.0 ---
-
-12292003 - Updated CodeWarrior projects from CW6 to CW7, and made a bunch of
- patches to get the Mac Classic target building again. Removed
- zlib114 from CVS repository. Updated OS/2 build batch file.
- Added Z_PREFIX define to Unix builds that use internal zlib.
- Patched up some (outdated?) Visual C project files for zlib121.
- Patched Doxyfile and physfs.h for newer Doxygen. Fixed OS/2
- build script. Tweaked Project Builder files to at least compile.
- Added some last minute BeOS and Cygwin build fixes. Updated
- Visual Studio projects and tweaked some Makefile.am crap. Made
- changes so Visual Studio files would pack with DOS endlines and...
- Upped version to 1.0.0 (woohoo!).
-12222003 - Fixed a search-and-replace mistake in win32.c that preventing
- compiling on Windows. (thanks, Brian!) Converted VC6 .dsp to use
- zlib121; made Z_PREFIX=1 enabled by default to avoid link clashes;
- put zlib files in separate logical folder in .dsp project; updated
- zlib121/zconf.h to address remaining symbols that were still
- causing link warnings.
-12182003 - WAD archiver now puts maps into subdirectories, making them
- accessible to the application. (Thanks, Travis!) RPM spec and
- Makefile.am* now package zlib_license_change.txt (Thanks, Edward!)
-12142003 - Added Doom WAD support (Thanks, Travis!)
-12082003 - Fixed some win32.c deficiencies that Robby Dermody pointed
- out (thanks!)
-12072003 - Upgraded internal zlib to 1.2.1 (thanks, Adam!) Other
- Unix build fixes.
-11112003 - Patches to make OS/2 support compile again.
-11092003 - Added __PHYSFS_platformStrnicmp(), and made qpak.c case-insensitive.
-09122003 - Happy September. Actually released current tree as 0.1.9.
-08262003 - Added MiNT support to build process and fixed cross-compiling
- (thanks Patrice Mandin!)
-08092003 - Some Windows build fixes (thanks, Brian Hook!)
-07232003 - Upped version to 0.1.9.
-07202003 - Switched to zlib license (see new LICENSE text in root of source
- tree, and zlib_license_switch.txt for details). Had to remove
- archivers/qpak.c, the Ruby bindings from the extras directory, and
- the Russian and Spanish translations, since those contributors
- couldn't be contacted. If they show up, we'll readd them to the
- project, otherwise we'll eventually replace their work...everyone
- else signed on for the change. Committed a patch to convert all
- tabs to spaces (Thanks, James!). Added patch to zip.c to fix
- crash (thanks, dillo!). Reimplmented qpak.c, by welding together
- bits of grp.c and zip.c. Ed contacted me, so I could readd his
- contributions post-license change...I'm going to keep the new
- qpak.c, but I've readded his Ruby bindings and Russian translations.
-06112003 - Patches to globbing.c to handle corner cases (thanks, Bradley!).
-06102003 - Added globbing.c to "extras" directory.
-05232003 - Rewrote MacOSX/Darwin CD-ROM detection code to use IOKit, which is
- much much more accurate than the previous code. Updated
- configure.in and Makefile.am.newautomake for some MacOSX stuff.
-05222003 - Fixed win32 crash if PHYSFS_init() is called with a NULL.
-05182003 - PocketPC fixes (thanks, David Hedbor!)
-05162003 - Compiler warning cleanup in HOG and MVL archivers (Thanks, Bradley!)
-04082003 - Minor changes to extras/abs-file.h (Thanks, Adam!)
-03302003 - Fixed seeking in uncompressed ZIP entries, and handle a
- misbehaviour in Java's JAR creation tools. Thanks to "Tree" for
- pointing these bugs out. Added HOG and MVL archive support for
- Descent I and II (Thanks, Bradley Bell!). Added example code to
- do case-insensitive file searches ("extras/ignorecase.*").
-03192003 - Fixed problem in PHYSFS_mkdir() when dirs to be created already
- exist. Fixed problem where PHYSFS_mkdir() incorrectly tripped an
- alarm in __PHYSFS_verifySecurity().
-03122003 - Attempt at cleaning up some type correctness for VC++6. Made QPAK
- archiver case-insensitive (since Quake2 has problems without it).
-01302003 - Added buffering API to OS/2 build's exported symbol list. Updated
- CWProjects.sit and made several fixes to get physfs building on
- MacOS Classic again.
-01282003 - Fixed seeking in buffered files opened for read.
-01072003 - .NET assembly and C# wrapper by Gregory S. Read in the extras dir.
-01042003 - Added a hack for dealing with OSX bundles and newer PBProjects
- (thanks, Eric Wing!). Added some missing files to "make dist".
- Fixed minor Doxygen typo in PHYSFS_flush() docs. Upped version to
- 0.1.8.
-12172002 - Added Apple Project Builder support files (thanks, Eric Wing!).
-12112002 - Added Ruby bindings to extras directory (thanks, Ed Sinjiashvili!).
- Patched win32.c to compile with Mingw32 (thanks, Niels Wagenaar!).
-12032002 - Adam updated his extras/abs-file.h for the new buffering API.
-12022002 - German translation added, compliments of Michael Renner.
-12012002 - Minor fix to configure.in: reported --enable-debug's default
- setting incorrectly. Added buffering to the API: you can now
- buffer a file with PHYSFS_setBuffer(), and flush the buffer to
- disk with PHYSFS_flush(). PhysicsFS file handles are unbuffered
- by default (as they were before this API addition), so this does
- not break the API. Other fixes for bugs I stumbled upon during
- this work are in CVS, too.
-11292002 - Minor fix for strange PATH strings in unix.c (thanks, Alexander!)
-11222002 - Initial PocketPC port by Corona688.
-10222002 - Fixed segfault in test_physfs.c when user hits CTRL-D (and
- readline() thus returns NULL)...now gracefully exits, as it should.
-10142002 - Added check for AMD's x86-64 ("Hammer") architecture when
- determining platform byte order.
-10112002 - Fixed "setsaneconfig" command in test_physfs.c ...
-09232002 - Happy September. Updated VC++6 project files, fixed some
- VC++ compile nags (more work to be done in zip.c).
-08302002 - Cleaned tab stops out of zip.c, and fixed a possible infinite loop
- in zip_find_entry().
-08292002 - Fixed a mistake in makeos2.cmd, and updated the INSTALL docs.
- Added physfs.spec.in to EXTRA_DIST in Makefile.am*
-08292002 - Added a physfs/stdio wrapper header to the "extras" dir,
- compliments of Adam D. Moss (file is "abs-file.h").
-08282002 - Cleanups in grp.c so that Visual C++ doesn't complain anymore.
- zip.c now works correctly when PhysicsFS is disallowing symlinks.
- A few minor optimizations in zip.c, with a few more to come later.
- Added VS.NET project files to CVS.
-08222002 - Fixed ZIP_exists() to work with directories. Now breaks out of
- __PHYSFS_verifySecurity() early if a path element is missing
- (since all the others will be, too)...this check is only done
- if symlinks are disabled, but we might as well save easy cycles
- where we can.
-08212002 - Did a couple tedious-for-small-rewards cleanups, optimizations,
- corrections and streamlinings I've been meaning to do. Touched a
- lot of code. One of the side results is that ZIP_isDirectory()
- got fixed.
-08192002 - Generalized sorting routines, moved them into physfs.c and removed
- the multiple copies from the various archivers. Adding profiling
- code (currently only for sort routines)...enable it with
- --enable-profiling in the configure script. Fixed incorrect
- behaviours in configure.in.
-08172002 - Patched configure.in to work around buggy autoconfs.
-08162002 - Fixed QPAK archiver, since I broke it (sorry!). Also fixed a
- qpak memory leak.
-08092002 - Added Quake PAK archiver (qpak.c) by Ed Sinjiashvili. Thanks!
- Made (successful?) attempt to fix pthread-to-ui64 cast problem.
- Check for OS/2 in configure.in, in case anyone gets autoconf and
- such to work right on their OS/2 box.
-08012002 - Patched win32.c to compile.
-07302002 - Minor error handling fix (thanks, Alexander!)
-07292002 - Found some memory leaks, thanks to Valgrind (which rules, btw).
- Added Russian translations (koi8-r, cp1251, cp866, and iso-8859-5)
- by Ed Sinjiashvili. Added Spanish translation by Pedro J. Pérez.
- Debian package support in CVS, thanks to Colin Bayer. French
- translation by Stéphane Peter.
-07282002 - macclassic.c now returns human readable error messages instead of
- ERR_OS_ERROR. Closing files on MacOS no longer fails if the volume
- info can't be flushed. Minor error message tweak in os2.c. All
- possible human-readable literal strings (including all those OS/2
- and MacOS error messages) have moved to constants in
- physfs_internal.h...this allows the library to be translated to
- other spoken languages fairly easily.
-07272002 - Patched the OS/2 code to be useful...works pretty well, now. Added
- makeos2.cmd for building (not an ideal solution, but oh well).
- Initialized some variables in zip.c to prevent compiler whining.
-07262002 - Fixed a typo in documentation. Archivers with matching file
- extensions are now given first shot at opening an archive, but if
- they fail, the other archivers are tried. More fixes to zip.c's
- ZIP_enumerateFiles(). Wrote an OS/2 platform driver based on API
- specs and a heavy pounding of Google Groups...as I don't have an
- OS/2 compiler at the moment, it probably doesn't even compile. :)
-07252002 - configure.in and unix.c now deal with platforms that lack a
- functional pthread library. Edward Rudd sent in a patch to the RPM
- specfile to have the build system set the correct version.
- Clean ups in grp.c, beos.cpp and macclassic.c.
-07242002 - Rewrote ZIP_enumerate(). Hopefully it sucks less this time.
- unix.c and configure.in now have the infrastructure to disable
- the CD-ROM detection code, and use a stub that successfully (and
- unconditionally) reports no detected discs. Currently this is
- used on AtheOS (which doesn't have CD-ROM support at the moment
- anyhow), but it will be useful to get the library up on odd,
- Unix-like systems that don't use either getmntinfo() or getmntent().
-07232002 - Cleaned up the cut-and-pastes in the various file enumeration
- routines and moved it into __PHYSFS_addToLinkedStringList().
- Tons more ZIP file enhancing. I'm fairly certain it's robust and
- fast in every reasonable respect, now. GRP archiver now caches
- the file table...it was generally overhauled like the ZIP driver.
- Added "ls" as an alias of "enumerate" in test_physfs.
- I lied about zip.c's robustness; disabled the enumeration code.
-07212002 - More FreeBSD build system patches. Added some new autoconf spew to
- .cvsignore. bootstrap now copies the appropriate Makefile.am
- instead of rename()ing it.
-07192002 - Cleaned up configure.in and unix.c so that we check by available
- header to determine the appropriate CD-ROM detection code...this
- should make this more future-proof (and probably get it building
- out of the box on other BSD platforms.)
-07172002 - Fixed seeking backwards in ZIP_seek(). Changed the error message
- ERR_TOO_MANY_SYMLINKS to ERR_SYMLINK_LOOP. Patches to build system
- and unix.c for FreeBSD compatibility. Added physfs.spec to
- "make dist" archives (thanks, Edward Rudd!).
-07152002 - Symlinks in ZIP archives are detected correctly now, I think.
-07142002 - Use GetVolumeInformation() instead of GetDiskFreeSpace() in
- win32.c's mediaInDrive() function. This allows Windows NT 3.x to
- correctly detect CD-ROM drives. Library now appears to be fully
- functional on WinNT 3.51...need to try NT 3.1 still. :)
- Patches to new ZIP code; cleaned up bugs in symlink reading code,
- but we incorrectly identify some entries as symlinks, which doesn't
- fly...for now, symlink code is commented out, so symlinks look
- like regular files (and reading from a symlink entry gives you
- the link as file data).
-07122002 - Rewrote the ZIP archiver to no longer use Gilles Vollant's unzip.c
- code. Losing that abstraction should make the ZIP archiver
- significantly more efficient, and halved the amount of code used.
- Plus, being a control freak, I like my coding style more than
- Gilles's. :) There are still bugs to shake out, but this is good
- progress.
-07112002 - configure.in updated to make it happier on newer autoconfs
- (thanks again, Alexander!). FIXME cleanups.
-07102002 - Added a byteorder-friendly convenience API, so you can read/write
- data and convert to the native byteorder without too much effort.
- Upped version to 0.1.7.
- Build system corrections for BeOS and Cygwin (thanks, Alexander!).
- Added RPM specfile for PhysicsFS (thanks, Edward Rudd!).
-06292002 - Fixed incorrect error message when opening a file for read without
- defining a search path. LOTS of win32 updates and fixes; lots of
- things that were broken work now, and we are slowly becoming
- more compatible with legacy win32 systems. Builds on Cygwin again.
- All platform drivers (except beos.cpp) had a buffer overflow when
- detecting mounted CD-ROM drives...it only occurs when a drive is
- detected, and it probably won't result in your box getting rooted,
- but upgrade soon anyhow. Readded the .cvsignore files from the old
- build system.
-06282002 - Reworked build system _AGAIN_.
-06222002 - Alexander Pipelka spotted a bug in the file open routines in
- posix.c; patched.
-06152002 - Autoconf build system will now generate shared libraries on BeOS,
- and (supposedly) Cygwin.
-06142002 - Rewrote autoconf build system. It now works around the MacOS X bug
- that prevented shared libraries from building.
-06112002 - Updated CodeWarrior projects and added them to CVS. _Finally_
- officially released 0.1.6.
-06102002 - Major overhauls to platform/win32.c ... should work on all Windows
- platforms, including 95/98/ME and NT/2K/XP flavors. Someone should
- see if this builds on WinCE! :) You no longer need the latest
- platform SDK to build it, either; the questionable DLL is accessed
- with LoadLibrary() at runtime now, and handled if not present. This
- now builds correctly on a freshly installed Visual Studio 6.0, and
- the DLL it builds works everywhere. Plus, a bunch of other bugs
- and incorrect behaviours were squashed. Visual Studio 6.0 project
- file added to CVS.
-06082002 - Fixes to __PHYSFS_platformEnumerateFiles() in win32.c: cleaned up
- memory leak, handles paths more robustly, and prevents possible
- skipped file entries. Removed AC_C_CONST and AC_TYPE_SIZE_T checks
- from configure.in (not needed, and they broke BeOS build). Clean
- out the docs/ directory when doing a "make dist". Fixed crashbug
- when calling PHYSFS_deinit() more than once in a row. Tried to get
- MacOS X to build a shared library, gave up; I'm doing something
- wrong in my Makefile.am, I think. On MacOS X, running ./configure
- --enable-static --disable-shared works, though. Hopefully someone
- will fix this soon. In unix.c, the Darwin version of
- __PHYSFS_platformDetectAvailableCDs() was free()ing a static
- buffer; fixed.
-06072002 - Manpages! Finally installed Doxygen and scratched together a
- Doxyfile. After some revision to physfs.h, we've got a rather
- nice API reference.
-06062002 - Fixed __PHYSFS_platformSeek() in archivers/posix.c. Implemented the
- getLastModTime method in archivers/zip.c (returns legitimate info)
- and archivers/grp.c (returns lastmodtime of GRPfile itself in the
- physical filesystem). Put a 64-bit _llseek() version of the seek()
- and tell() methods in platform/posix.c, but you need to hack (or
- rather, fix) configure.in to enable it. From Greg on win32.c: Fixed
- file enumerator function (needed a wildcard '*' specification), CD
- enumeration only reports CDs that have media, getLastModTime() has
- been implemented.
-06012002 - Added -Wall to debug builds. Removed ANSI stdio calls from
- platform/posix.c, and replaced them with actual POSIX calls (that
- is, fopen() became open(), fseek() became lseek(), etc...)
-05272002 - Added some explicit casts when calling malloc() in platform/posix.c
-05252002 - Added John Hall's file modification time patch, and added a
- getlastmodtime command to test_physfs. Corrected error reporting
- for missing files a little bit. Changed build system to only try
- building beos.cpp if on a BeOS system (since we need a C++ compiler
- available to do so). Implemented getLastModTime in macclassic.c.
-05242002 - Upped version to 0.1.6 (not officially released yet).
-05232002 - Fixed the build system to always package the complete source, not
- just what we built for a given system, when doing a "make dist".
- Updated INSTALL. Wrote BeOS platform code (platform/beos.cpp).
- Split unix.c into unix.c and posix.c. Linux and BeOS both share
- posix.c, although I don't think it's completely POSIX compliant at
- this point (not that it matters much).
-05212002 - Cleaned up some FIXMEs.
-05202002 - Added .cvsignore files.
-05162002 - Edward Rudd also caught an embarrassing screwup by me in
- unix.c: the open-for-append call was using "wb+" instead of
- "ab" when calling fopen(). Doh!
-05152002 - configure script now deals with systems that have a readline
- lib, but require it to be linked with curses. Thanks to Edward
- Rudd for the patch.
-05102002 - A trimmed-down zlib 1.1.4 is now included in the source distro, for
- use by win32, MacOS, and Unix systems that don't have it installed
- on the system. Autoconf support! Initial attempt at this. Lots of
- stuff may be very broken.
-05082002 - From Greg: More win32 work. Library is now 95% functional on win32.
- Only known win32 problem is that the CD drives are reported whether
- they contain a disc or not).
-05062002 - From Greg: Win32 boxes without the latest Platform SDK can now
- #define DISABLE_NT_SUPPORT. Other fixes.
-04242002 - Updated win32 info in INSTALL to discuss Platform SDK issues.
-04202002 - Added a (very) quick and (very) dirty http server to the
- extras directory (public domain), as another example of using
- the library.
-04192002 - Corrected some win32 info in INSTALL. Changed Makefile to
- package releases as .tar.gz instead of .tar.bz2.
-04122002 - Some win32 cleanups and fixes across several files. Upped
- version to 0.1.5.
-04082002 - Fixed problem when calling __PHYSFS_setError before PHYSFS_init.
-04062002 - Added MacOS info, etc to INSTALL. Patched unix.c and
- test_physfs.c to compile on Darwin again.
-04052002 - Added byte ordering API. Byte ordering fixes in grp.c, and some
- cleanups in unzip.c. Mac work is more or less complete.
-04042002 - Mac work continues. Almost complete, now. test_physfs now has
- tests for write, append, and filelength, and most of the
- commands can tolerate a quoted argument (although this is
- hacky, it's good enough for these purposes). Upped test_physfs
- version to 0.1.1. Added a malloc-failure check in the Unix
- CD-ROM detection code.
-04032002 - PHYSFS_init always makes sure the calling thread initializes its
- error state. Win32 codebase is updated with mutex implementation
- (thanks, Greg!).
-04022002 - Mac work continues. Found a bug where we put a double dir
- separator in if we had to resort to the fallback userdir (if
- __PHYSFS_platformGetUserDir() returned NULL to calculateUserDir().
- Made note of potential infinite recursion in platform driver docs.
-04012002 - (_NOT_ an April Fool's Joke:) Started working on MacOS Classic
- port. Added skeleton.c to platform directory. Minor patches to
- get things compiling on Mac (notably, DirInfo conflicts with
- a type exposed by MacOS's namespace-polluting API, and some
- typecasting issues). Found a call to ferror() I had missed in
- unzip.c.
-03302002 - Mutexes! PhysicsFS should be thread safe now, so long as you
- don't try to do something like close a file at the same time as
- you are reading from it in another thread. All reasonable race
- conditions should now be gone, but the new code will need some
- eyeballing before we install it on life support systems or anything.
- The mutex abstraction is implemented in unix.c, win32.c will be
- updated shortly.
-03292002 - Fixed a potential problem in ZIP_realpath() and some byte order
- issues in zip.c. Converted unzip.c to use physfs file i/o
- abstractions. Converted CHANGELOG to list latest entries first.
-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.
-03202002 - Patched platform/win32.c to compile.
-03152002 - PHYSFS_setSaneConfig() now handles failure to set the write dir
- better. Patched makefile to link the test program. Changed all the
- "write" functions to get data from a "const" buffer. Added an
- "extras" dir, which currently contains PhysFS->SDL_RWops glue code.
-03052002 - Made unix.c's timeslice implementation more portable, and added a
- Darwin-specific means to detect CDs (thanks to Patrick Stein).
- Minor cleanup in win32.c (changed "for (; condition ;)" into
- "while (condition)" ...)
-11142001 - Removed a redundant error check in platform/win32.c
-10092001 - Syntax fixes in dir.c, a FIXME in grp.c, and a "cat" command in
- the test program. Apparently I had accidentally removed a rather
- crucial line from dir.c a few revisions ago, and no one noticed. :(
- Fixed. The win32 userdir will default to the base dir, now.
-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
- source to a separate download. Look for it at
- http://icculus.org/physfs/downloads/physfs-win32-support.zip ...
- Updated the INSTALL doc for Win32 building. Rewrote win32.c's
- __PHYSFS_platformRealPath() to not rely on Visual C's runtime lib,
- which was the last Cygwin incompatibility (although the Makefile
- needs to be updated to build a DLL under Cygwin). Tinkered with the
- Makefile a little, but it needs more work. Started working on a
- MacOS version. All I have is CodeWarrior 4, which is way out of
- date, and (for what is supposed to be an ultra-user-friendly
- environment) is completely uninituitive to me. Still, managed to
- get most everything compiling, which improved the quality of the
- 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
- to do there. Isn't Unix supposed to be hard compared to this?
-08312001 - Built PhysicsFS on Mandrake 8.0 for the PowerPC. Compiles clean,
- but there's at least one byte-ordering issue in zip.c that needs
- to be fixed.
-08292001 - win32.c calculates the base dir with GetModuleFileName() first, now,
- and falls back to SearchPath() if there were problems. Changed an
- occurence of _MAX_PATH to MAX_PATH, so both CygWin and Visual C can
- handle it.
-08282001 - win32.c now checks HOMEDRIVE, HOMEPATH, and HOME when calculating
- the userdir. Added include files that make it a little closer to
- compiling under Cygwin. Added a TODO file. Fixed unix.c's
- __PHYSFS_platformCalcBaseDir() so that it actually works. Fixed
- Makefile so that it links the test program properly.
- Changed version to 0.1.3.
-08232001 - Fixed a potential free()ing of a NULL pointer in
- __PHYSFS_platformEnumerateFiles() in platform/unix.c. Added
- platform/win32.c. Other cleanups to get this compiling with
- Visual C and CygWin. Added BAIL_MACRO for times when we were doing
- BAIL_IF_MACRO(1, ...). Abstracted mkdir() in the platform drivers.
- Added GRP setting output to showcfg in the Makefile. Updated INSTALL
- with license info and Win32 build instructions. Dependency on the
- readline library in test_physfs.c is now optional.
- Changed version to 0.1.2.
-08072001 - Changed version to 0.1.1.
-08062001 - Added CD-ROM detection code to the unix platform driver.
-08012001 - Added a safety memset in error setting, fixed URLs and email addr.
-07282001 - Initial release.
-
---ryan. (icculus at clutteredmind.org)
-
-/* end of CHANGELOG ... */
-
Copied: tags/release-1.0.1/CHANGELOG (from rev 757, branches/stable-1.0/CHANGELOG)
Deleted: tags/release-1.0.1/CWProjects.sit
===================================================================
(Binary files differ)
Copied: tags/release-1.0.1/CWProjects.sit (from rev 755, branches/stable-1.0/CWProjects.sit)
Modified: tags/release-1.0.1/extras/PhysFS.NET/AssemblyInfo.cs
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/AssemblyInfo.cs 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/AssemblyInfo.cs 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,58 +1,58 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("PhysFS.NET")]
-[assembly: AssemblyDescription("PhysFS Bindings for .NET")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("PhysFS.NET")]
-[assembly: AssemblyCopyright("(c)2003 Gregory S. Read")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing.
-//
-// Notes:
-// (*) If no key is specified, the assembly is not signed.
-// (*) KeyName refers to a key that has been installed in the Crypto Service
-// Provider (CSP) on your machine. KeyFile refers to a file which contains
-// a key.
-// (*) If the KeyFile and the KeyName values are both specified, the
-// following processing occurs:
-// (1) If the KeyName can be found in the CSP, that key is used.
-// (2) If the KeyName does not exist and the KeyFile does exist, the key
-// in the KeyFile is installed into the CSP and used.
-// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-// When specifying the KeyFile, the location of the KeyFile should be
-// relative to the project output directory which is
-// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-// located in the project directory, you would specify the AssemblyKeyFile
-// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-// documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly: AssemblyTitle("PhysFS.NET")]
+[assembly: AssemblyDescription("PhysFS Bindings for .NET")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("PhysFS.NET")]
+[assembly: AssemblyCopyright("(c)2003 Gregory S. Read")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified, the assembly is not signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine. KeyFile refers to a file which contains
+// a key.
+// (*) If the KeyFile and the KeyName values are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP, that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist, the key
+// in the KeyFile is installed into the CSP and used.
+// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+// When specifying the KeyFile, the location of the KeyFile should be
+// relative to the project output directory which is
+// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
+// located in the project directory, you would specify the AssemblyKeyFile
+// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
Modified: tags/release-1.0.1/extras/PhysFS.NET/PhysFS.NET.csproj
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/PhysFS.NET.csproj 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/PhysFS.NET.csproj 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,113 +1,113 @@
-<VisualStudioProject>
- <CSHARP
- ProjectType = "Local"
- ProductVersion = "7.0.9466"
- SchemaVersion = "1.0"
- ProjectGuid = "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
- >
- <Build>
- <Settings
- ApplicationIcon = ""
- AssemblyKeyContainerName = ""
- AssemblyName = "PhysFS.NET"
- AssemblyOriginatorKeyFile = ""
- DefaultClientScript = "JScript"
- DefaultHTMLPageLayout = "Grid"
- DefaultTargetSchema = "IE50"
- DelaySign = "false"
- OutputType = "Library"
- RootNamespace = "PhysFS.NET"
- StartupObject = ""
- >
- <Config
- Name = "Debug"
- AllowUnsafeBlocks = "true"
- BaseAddress = "285212672"
- CheckForOverflowUnderflow = "false"
- ConfigurationOverrideFile = ""
- DefineConstants = "DEBUG;TRACE"
- DocumentationFile = ""
- DebugSymbols = "true"
- FileAlignment = "4096"
- IncrementalBuild = "true"
- Optimize = "false"
- OutputPath = "bin\Debug\"
- RegisterForComInterop = "false"
- RemoveIntegerChecks = "false"
- TreatWarningsAsErrors = "false"
- WarningLevel = "4"
- />
- <Config
- Name = "Release"
- AllowUnsafeBlocks = "true"
- BaseAddress = "285212672"
- CheckForOverflowUnderflow = "false"
- ConfigurationOverrideFile = ""
- DefineConstants = "TRACE"
- DocumentationFile = ""
- DebugSymbols = "false"
- FileAlignment = "4096"
- IncrementalBuild = "false"
- Optimize = "true"
- OutputPath = "bin\Release\"
- RegisterForComInterop = "false"
- RemoveIntegerChecks = "false"
- TreatWarningsAsErrors = "false"
- WarningLevel = "4"
- />
- </Settings>
- <References>
- <Reference
- Name = "System"
- AssemblyName = "System"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
- />
- <Reference
- Name = "System.Data"
- AssemblyName = "System.Data"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"
- />
- <Reference
- Name = "System.XML"
- AssemblyName = "System.Xml"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
- />
- <Reference
- Name = "System.Drawing"
- AssemblyName = "System.Drawing"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Drawing.dll"
- />
- <Reference
- Name = "System.Windows.Forms"
- AssemblyName = "System.Windows.Forms"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Windows.Forms.dll"
- />
- </References>
- </Build>
- <Files>
- <Include>
- <File
- RelPath = "AssemblyInfo.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "PhysFS.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "PhysFS_DLL.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
- RelPath = "PhysFSFileStream.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- </Include>
- </Files>
- </CSHARP>
-</VisualStudioProject>
-
+<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.0.9466"
+ SchemaVersion = "1.0"
+ ProjectGuid = "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = ""
+ AssemblyKeyContainerName = ""
+ AssemblyName = "PhysFS.NET"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "Library"
+ RootNamespace = "PhysFS.NET"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "true"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "true"
+ Optimize = "false"
+ OutputPath = "bin\Debug\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "true"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
+ />
+ <Reference
+ Name = "System.Data"
+ AssemblyName = "System.Data"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.Xml"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
+ />
+ <Reference
+ Name = "System.Drawing"
+ AssemblyName = "System.Drawing"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Drawing.dll"
+ />
+ <Reference
+ Name = "System.Windows.Forms"
+ AssemblyName = "System.Windows.Forms"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Windows.Forms.dll"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "AssemblyInfo.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "PhysFS.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "PhysFS_DLL.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "PhysFSFileStream.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
Modified: tags/release-1.0.1/extras/PhysFS.NET/PhysFS.NET.sln
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/PhysFS.NET.sln 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/PhysFS.NET.sln 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,21 +1,21 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhysFS.NET", "PhysFS.NET.csproj", "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- ConfigName.0 = Debug
- ConfigName.1 = Release
- EndGlobalSection
- GlobalSection(ProjectDependencies) = postSolution
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.ActiveCfg = Debug|.NET
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.Build.0 = Debug|.NET
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.ActiveCfg = Release|.NET
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.Build.0 = Release|.NET
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 7.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhysFS.NET", "PhysFS.NET.csproj", "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ ConfigName.0 = Debug
+ ConfigName.1 = Release
+ EndGlobalSection
+ GlobalSection(ProjectDependencies) = postSolution
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.ActiveCfg = Debug|.NET
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.Build.0 = Debug|.NET
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.ActiveCfg = Release|.NET
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.Build.0 = Release|.NET
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
Modified: tags/release-1.0.1/extras/PhysFS.NET/PhysFS.cs
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/PhysFS.cs 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/PhysFS.cs 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,189 +1,189 @@
-/* PhysFS.cs - (c)2003 Gregory S. Read
- * Provides access to PhysFS API calls not specific to file handle access.
- */
-using System;
-
-namespace PhysFS_NET
-{
- public class PhysFS
- {
- /* Initialize
- * Inits the PhysFS API. This normally does not need to be called unless
- * the API has been manually deinitialized since the PhysFS_DLL class
- * initializes just before the first call is made into the DLL.
- * Parameters
- * none
- * Returns
- * none
- * Exceptions
- * PhysFSException - An error occured in the PhysFS API
- */
- public static void Initialize()
- {
- // Initialize the physfs library, raise an exception if error
- if(PhysFS_DLL.PHYSFS_init("") == 0)
- throw new PhysFSException();
- }
-
- /* Deinitialize
- * Deinits the PhysFS API. It is recommended that this method be called
- * by the application before exiting in order to gracefully deallocate
- * resources and close all filehandles, etc.
- * Parameters
- * none
- * Returns
- * none
- * Exceptions
- * PhysFSException - An error occured in the PhysFS API
- */
- public static void Deinitialize()
- {
- // Deinit, raise an exception if an error occured
- if(PhysFS_DLL.PHYSFS_deinit() == 0)
- throw new PhysFSException();
- }
-
- /* BaseDir
- * Gets the base directory configured for PhysFS. See the PhysFS API
- * documentation for more information.
- * Parameters
- * none
- * Returns
- * A string value representing the Base Directory
- * Exceptions
- * none
- */
- public static string BaseDir
- {
- get
- {
- // Return the current base directory
- return PhysFS_DLL.PHYSFS_getBaseDir();
- }
- }
-
- /* WriteDir
- * Gets or sets the write directory configured for PhysFS. See the PhysFS API
- * documentation for more information.
- * Parameters
- * set - Path to set the WriteDir property to
- * Returns
- * A string value representing the Write Directory
- * Exceptions
- * PhysFSException - An error occured in the PhysFS API when
- * settings the write directory.
- */
- public static string WriteDir
- {
- get
- {
- // Return the current write directory
- return PhysFS_DLL.PHYSFS_getWriteDir();
- }
- set
- {
- // Set the write directory and raise an exception if an error occured
- if(PhysFS_DLL.PHYSFS_setWriteDir(value) == 0)
- throw new PhysFSException();
- }
- }
-
- /* UserDir
- * Gets or sets the write directory configured for PhysFS. See the PhysFS API
- * documentation for more information.
- * Parameters
- * set - Path to set the WriteDir property to
- * Returns
- * A string value representing the Write Directory
- * Exceptions
- * PhysFSException - An error occured in the PhysFS API when
- * settings the write directory.
- */
- public static string UserDir
- {
- get
- {
- // Return the current user directory
- return PhysFS_DLL.PHYSFS_getUserDir();
- }
- }
- public static void AddToSearchPath(string NewDir, bool Append)
- {
- if(PhysFS_DLL.PHYSFS_addToSearchPath(NewDir, Append?1:0) == 0)
- throw new PhysFSException();
- }
- public static void RemoveFromSearchPath(string OldDir)
- {
- if(PhysFS_DLL.PHYSFS_removeFromSearchPath(OldDir) == 0)
- throw new PhysFSException();
- }
- public unsafe static string[] GetSearchPath()
- {
- byte** p; // Searchpath list from PhysFS dll
- string[] pathlist; // List converted to an array
-
- // Get the CDROM drive listing
- p = PhysFS_DLL.PHYSFS_getSearchPath();
- // Convert the C-style array to a .NET style array
- pathlist = PhysFS_DLL.BytePPToArray(p);
- // Free the original list since we're done with it
- PhysFS_DLL.PHYSFS_freeList(p);
-
- return pathlist;
- }
- public unsafe static string[] GetCDROMDrives()
- {
- byte** p; // CDROM list from PhysFS dll
- string[] cdromlist; // List converted to an array
-
- // Get the CDROM drive listing
- p = PhysFS_DLL.PHYSFS_getCdRomDirs();
- // Convert the C-style array to a .NET style array
- cdromlist = PhysFS_DLL.BytePPToArray(p);
- // Free the original list since we're done with it
- PhysFS_DLL.PHYSFS_freeList(p);
-
- return cdromlist;
- }
- public static void MkDir(string Dirname)
- {
- if(PhysFS_DLL.PHYSFS_mkdir(Dirname) == 0)
- throw new PhysFSException();
- }
- public static void Delete(string Filename)
- {
- if(PhysFS_DLL.PHYSFS_delete(Filename) == 0)
- throw new PhysFSException();
- }
- public static string GetRealDir(string Filename)
- {
- string RetValue;
-
- RetValue = PhysFS_DLL.PHYSFS_getRealDir(Filename);
- if(RetValue == null)
- throw new PhysFSException("File not found in search path.");
-
- // Return the real file path of the specified filename
- return RetValue;
- }
- public unsafe static string[] EnumerateFiles(string Dirname)
- {
- byte** p; // File list from PhysFS dll
- string[] filelist; // List converted to an array
-
- // Get the CDROM drive listing
- p = PhysFS_DLL.PHYSFS_enumerateFiles(Dirname);
- // Convert the C-style array to a .NET style array
- filelist = PhysFS_DLL.BytePPToArray(p);
- // Free the original list since we're done with it
- PhysFS_DLL.PHYSFS_freeList(p);
-
- return filelist;
- }
- public static bool IsDirectory(string Filename)
- {
- // Return true if non-zero, otherwise return false
- return (PhysFS_DLL.PHYSFS_isDirectory(Filename) == 0)?false:true;
- }
- }
-}
+/* PhysFS.cs - (c)2003 Gregory S. Read
+ * Provides access to PhysFS API calls not specific to file handle access.
+ */
+using System;
+
+namespace PhysFS_NET
+{
+ public class PhysFS
+ {
+ /* Initialize
+ * Inits the PhysFS API. This normally does not need to be called unless
+ * the API has been manually deinitialized since the PhysFS_DLL class
+ * initializes just before the first call is made into the DLL.
+ * Parameters
+ * none
+ * Returns
+ * none
+ * Exceptions
+ * PhysFSException - An error occured in the PhysFS API
+ */
+ public static void Initialize()
+ {
+ // Initialize the physfs library, raise an exception if error
+ if(PhysFS_DLL.PHYSFS_init("") == 0)
+ throw new PhysFSException();
+ }
+
+ /* Deinitialize
+ * Deinits the PhysFS API. It is recommended that this method be called
+ * by the application before exiting in order to gracefully deallocate
+ * resources and close all filehandles, etc.
+ * Parameters
+ * none
+ * Returns
+ * none
+ * Exceptions
+ * PhysFSException - An error occured in the PhysFS API
+ */
+ public static void Deinitialize()
+ {
+ // Deinit, raise an exception if an error occured
+ if(PhysFS_DLL.PHYSFS_deinit() == 0)
+ throw new PhysFSException();
+ }
+
+ /* BaseDir
+ * Gets the base directory configured for PhysFS. See the PhysFS API
+ * documentation for more information.
+ * Parameters
+ * none
+ * Returns
+ * A string value representing the Base Directory
+ * Exceptions
+ * none
+ */
+ public static string BaseDir
+ {
+ get
+ {
+ // Return the current base directory
+ return PhysFS_DLL.PHYSFS_getBaseDir();
+ }
+ }
+
+ /* WriteDir
+ * Gets or sets the write directory configured for PhysFS. See the PhysFS API
+ * documentation for more information.
+ * Parameters
+ * set - Path to set the WriteDir property to
+ * Returns
+ * A string value representing the Write Directory
+ * Exceptions
+ * PhysFSException - An error occured in the PhysFS API when
+ * settings the write directory.
+ */
+ public static string WriteDir
+ {
+ get
+ {
+ // Return the current write directory
+ return PhysFS_DLL.PHYSFS_getWriteDir();
+ }
+ set
+ {
+ // Set the write directory and raise an exception if an error occured
+ if(PhysFS_DLL.PHYSFS_setWriteDir(value) == 0)
+ throw new PhysFSException();
+ }
+ }
+
+ /* UserDir
+ * Gets or sets the write directory configured for PhysFS. See the PhysFS API
+ * documentation for more information.
+ * Parameters
+ * set - Path to set the WriteDir property to
+ * Returns
+ * A string value representing the Write Directory
+ * Exceptions
+ * PhysFSException - An error occured in the PhysFS API when
+ * settings the write directory.
+ */
+ public static string UserDir
+ {
+ get
+ {
+ // Return the current user directory
+ return PhysFS_DLL.PHYSFS_getUserDir();
+ }
+ }
+ public static void AddToSearchPath(string NewDir, bool Append)
+ {
+ if(PhysFS_DLL.PHYSFS_addToSearchPath(NewDir, Append?1:0) == 0)
+ throw new PhysFSException();
+ }
+ public static void RemoveFromSearchPath(string OldDir)
+ {
+ if(PhysFS_DLL.PHYSFS_removeFromSearchPath(OldDir) == 0)
+ throw new PhysFSException();
+ }
+ public unsafe static string[] GetSearchPath()
+ {
+ byte** p; // Searchpath list from PhysFS dll
+ string[] pathlist; // List converted to an array
+
+ // Get the CDROM drive listing
+ p = PhysFS_DLL.PHYSFS_getSearchPath();
+ // Convert the C-style array to a .NET style array
+ pathlist = PhysFS_DLL.BytePPToArray(p);
+ // Free the original list since we're done with it
+ PhysFS_DLL.PHYSFS_freeList(p);
+
+ return pathlist;
+ }
+ public unsafe static string[] GetCDROMDrives()
+ {
+ byte** p; // CDROM list from PhysFS dll
+ string[] cdromlist; // List converted to an array
+
+ // Get the CDROM drive listing
+ p = PhysFS_DLL.PHYSFS_getCdRomDirs();
+ // Convert the C-style array to a .NET style array
+ cdromlist = PhysFS_DLL.BytePPToArray(p);
+ // Free the original list since we're done with it
+ PhysFS_DLL.PHYSFS_freeList(p);
+
+ return cdromlist;
+ }
+ public static void MkDir(string Dirname)
+ {
+ if(PhysFS_DLL.PHYSFS_mkdir(Dirname) == 0)
+ throw new PhysFSException();
+ }
+ public static void Delete(string Filename)
+ {
+ if(PhysFS_DLL.PHYSFS_delete(Filename) == 0)
+ throw new PhysFSException();
+ }
+ public static string GetRealDir(string Filename)
+ {
+ string RetValue;
+
+ RetValue = PhysFS_DLL.PHYSFS_getRealDir(Filename);
+ if(RetValue == null)
+ throw new PhysFSException("File not found in search path.");
+
+ // Return the real file path of the specified filename
+ return RetValue;
+ }
+ public unsafe static string[] EnumerateFiles(string Dirname)
+ {
+ byte** p; // File list from PhysFS dll
+ string[] filelist; // List converted to an array
+
+ // Get the CDROM drive listing
+ p = PhysFS_DLL.PHYSFS_enumerateFiles(Dirname);
+ // Convert the C-style array to a .NET style array
+ filelist = PhysFS_DLL.BytePPToArray(p);
+ // Free the original list since we're done with it
+ PhysFS_DLL.PHYSFS_freeList(p);
+
+ return filelist;
+ }
+ public static bool IsDirectory(string Filename)
+ {
+ // Return true if non-zero, otherwise return false
+ return (PhysFS_DLL.PHYSFS_isDirectory(Filename) == 0)?false:true;
+ }
+ }
+}
Modified: tags/release-1.0.1/extras/PhysFS.NET/PhysFSFileStream.cs
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/PhysFSFileStream.cs 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/PhysFSFileStream.cs 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,194 +1,194 @@
-/* PhysFSFileStream.cs - (c)2003 Gregory S. Read */
-using System;
-using System.Collections;
-using System.IO;
-
-namespace PhysFS_NET
-{
- public enum PhysFSFileMode {Read, Write, Append};
-
- // Our exception class we'll use for throwing all PhysFS API related exception
- public class PhysFSException : IOException
- {
- public PhysFSException(string Message) : base(Message) {}
- public PhysFSException() : base(PhysFS_DLL.PHYSFS_getLastError()) {}
- }
-
- public unsafe class PhysFSFileStream : Stream
- {
- // ***Public properties***
- public override bool CanRead
- {
- get
- {
- // Reading is supported
- return true;
- }
- }
-
- public override bool CanSeek
- {
- get
- {
- // Seek is supported
- return true;
- }
- }
-
- public override bool CanWrite
- {
- get
- {
- // Writing is supported
- return true;
- }
- }
-
- public override long Length
- {
- get
- {
- long TempLength;
- TempLength = PhysFS_DLL.PHYSFS_fileLength(pHandle);
-
- // If call returned an error, throw an exception
- if(TempLength == -1)
- throw new PhysFSException();
-
- return TempLength;
- }
- }
-
- public override long Position
- {
- get
- {
- long TempPosition;
- TempPosition = PhysFS_DLL.PHYSFS_tell(pHandle);
-
- // If call returned an error, throw an exception
- if(TempPosition == -1)
- throw new PhysFSException();
-
- return TempPosition;
- }
- set
- {
- // Seek from beginning of file using the position value
- Seek(value, SeekOrigin.Begin);
- }
- }
-
- // ***Public methods***
- public PhysFSFileStream(string FileName, PhysFSFileMode FileMode, ulong BufferSize)
- {
- // Open the specified file with the appropriate file access
- switch(FileMode)
- {
- case PhysFSFileMode.Read:
- pHandle = PhysFS_DLL.PHYSFS_openRead(FileName);
- break;
- case PhysFSFileMode.Write:
- pHandle = PhysFS_DLL.PHYSFS_openWrite(FileName);
- break;
- case PhysFSFileMode.Append:
- pHandle = PhysFS_DLL.PHYSFS_openAppend(FileName);
- break;
- default:
- throw new PhysFSException("Invalid FileMode specified");
- }
-
- // If handle is null, an error occured, so raise an exception
- //!!! Does object get created if exception is thrown?
- if(pHandle == null)
- throw new PhysFSException();
-
- // Set buffer size, raise an exception if an error occured
- if(PhysFS_DLL.PHYSFS_setBuffer(pHandle, BufferSize) == 0)
- throw new PhysFSException();
- }
-
- // This constructor sets the buffer size to 0 if not specified
- public PhysFSFileStream(string FileName, PhysFSFileMode FileMode) : this(FileName, FileMode, 0) {}
-
- ~PhysFSFileStream()
- {
- // Don't close the handle if they've specifically closed it already
- if(!Closed)
- Close();
- }
-
- public override void Flush()
- {
- if(PhysFS_DLL.PHYSFS_flush(pHandle) == 0)
- throw new PhysFSException();
- }
-
- public override int Read(byte[] buffer, int offset, int count)
- {
- long RetValue;
-
- fixed(byte *pbytes = &buffer[offset])
- {
- // Read into our allocated pointer
- RetValue = PhysFS_DLL.PHYSFS_read(pHandle, pbytes, sizeof(byte), (uint)count);
- }
-
- if(RetValue == -1)
- throw new PhysFSException();
-
- // Return number of bytes read
- // Note: This cast should be safe since we are only reading 'count' items, which
- // is of type 'int'.
- return (int)RetValue;
- }
-
- public override void Write(byte[] buffer, int offset, int count)
- {
- long RetValue;
-
- fixed(byte* pbytes = &buffer[offset])
- {
- // Write buffer
- RetValue = PhysFS_DLL.PHYSFS_write(pHandle, pbytes, sizeof(byte), (uint)count);
- }
-
- if(RetValue == -1)
- throw new PhysFSException();
- }
-
- public override long Seek(long offset, SeekOrigin origin)
- {
- // Only seeking from beginning is supported by PhysFS API
- if(origin != SeekOrigin.Begin)
- throw new PhysFSException("Only seek origin of \"Begin\" is supported");
-
- // Seek to specified offset, raise an exception if error occured
- if(PhysFS_DLL.PHYSFS_seek(pHandle, (ulong)offset) == 0)
- throw new PhysFSException();
-
- // Since we always seek from beginning, the offset is always
- // the absolute position.
- return offset;
- }
-
- public override void SetLength(long value)
- {
- throw new NotSupportedException("SetLength method not supported in PhysFSFileStream objects.");
- }
-
- public override void Close()
- {
- // Close the handle
- if(PhysFS_DLL.PHYSFS_close(pHandle) == 0)
- throw new PhysFSException();
-
- // File has been closed. Rock.
- Closed = true;
- }
-
- // ***Private variables***
- private void *pHandle;
- private bool Closed = false;
- }
+/* PhysFSFileStream.cs - (c)2003 Gregory S. Read */
+using System;
+using System.Collections;
+using System.IO;
+
+namespace PhysFS_NET
+{
+ public enum PhysFSFileMode {Read, Write, Append};
+
+ // Our exception class we'll use for throwing all PhysFS API related exception
+ public class PhysFSException : IOException
+ {
+ public PhysFSException(string Message) : base(Message) {}
+ public PhysFSException() : base(PhysFS_DLL.PHYSFS_getLastError()) {}
+ }
+
+ public unsafe class PhysFSFileStream : Stream
+ {
+ // ***Public properties***
+ public override bool CanRead
+ {
+ get
+ {
+ // Reading is supported
+ return true;
+ }
+ }
+
+ public override bool CanSeek
+ {
+ get
+ {
+ // Seek is supported
+ return true;
+ }
+ }
+
+ public override bool CanWrite
+ {
+ get
+ {
+ // Writing is supported
+ return true;
+ }
+ }
+
+ public override long Length
+ {
+ get
+ {
+ long TempLength;
+ TempLength = PhysFS_DLL.PHYSFS_fileLength(pHandle);
+
+ // If call returned an error, throw an exception
+ if(TempLength == -1)
+ throw new PhysFSException();
+
+ return TempLength;
+ }
+ }
+
+ public override long Position
+ {
+ get
+ {
+ long TempPosition;
+ TempPosition = PhysFS_DLL.PHYSFS_tell(pHandle);
+
+ // If call returned an error, throw an exception
+ if(TempPosition == -1)
+ throw new PhysFSException();
+
+ return TempPosition;
+ }
+ set
+ {
+ // Seek from beginning of file using the position value
+ Seek(value, SeekOrigin.Begin);
+ }
+ }
+
+ // ***Public methods***
+ public PhysFSFileStream(string FileName, PhysFSFileMode FileMode, ulong BufferSize)
+ {
+ // Open the specified file with the appropriate file access
+ switch(FileMode)
+ {
+ case PhysFSFileMode.Read:
+ pHandle = PhysFS_DLL.PHYSFS_openRead(FileName);
+ break;
+ case PhysFSFileMode.Write:
+ pHandle = PhysFS_DLL.PHYSFS_openWrite(FileName);
+ break;
+ case PhysFSFileMode.Append:
+ pHandle = PhysFS_DLL.PHYSFS_openAppend(FileName);
+ break;
+ default:
+ throw new PhysFSException("Invalid FileMode specified");
+ }
+
+ // If handle is null, an error occured, so raise an exception
+ //!!! Does object get created if exception is thrown?
+ if(pHandle == null)
+ throw new PhysFSException();
+
+ // Set buffer size, raise an exception if an error occured
+ if(PhysFS_DLL.PHYSFS_setBuffer(pHandle, BufferSize) == 0)
+ throw new PhysFSException();
+ }
+
+ // This constructor sets the buffer size to 0 if not specified
+ public PhysFSFileStream(string FileName, PhysFSFileMode FileMode) : this(FileName, FileMode, 0) {}
+
+ ~PhysFSFileStream()
+ {
+ // Don't close the handle if they've specifically closed it already
+ if(!Closed)
+ Close();
+ }
+
+ public override void Flush()
+ {
+ if(PhysFS_DLL.PHYSFS_flush(pHandle) == 0)
+ throw new PhysFSException();
+ }
+
+ public override int Read(byte[] buffer, int offset, int count)
+ {
+ long RetValue;
+
+ fixed(byte *pbytes = &buffer[offset])
+ {
+ // Read into our allocated pointer
+ RetValue = PhysFS_DLL.PHYSFS_read(pHandle, pbytes, sizeof(byte), (uint)count);
+ }
+
+ if(RetValue == -1)
+ throw new PhysFSException();
+
+ // Return number of bytes read
+ // Note: This cast should be safe since we are only reading 'count' items, which
+ // is of type 'int'.
+ return (int)RetValue;
+ }
+
+ public override void Write(byte[] buffer, int offset, int count)
+ {
+ long RetValue;
+
+ fixed(byte* pbytes = &buffer[offset])
+ {
+ // Write buffer
+ RetValue = PhysFS_DLL.PHYSFS_write(pHandle, pbytes, sizeof(byte), (uint)count);
+ }
+
+ if(RetValue == -1)
+ throw new PhysFSException();
+ }
+
+ public override long Seek(long offset, SeekOrigin origin)
+ {
+ // Only seeking from beginning is supported by PhysFS API
+ if(origin != SeekOrigin.Begin)
+ throw new PhysFSException("Only seek origin of \"Begin\" is supported");
+
+ // Seek to specified offset, raise an exception if error occured
+ if(PhysFS_DLL.PHYSFS_seek(pHandle, (ulong)offset) == 0)
+ throw new PhysFSException();
+
+ // Since we always seek from beginning, the offset is always
+ // the absolute position.
+ return offset;
+ }
+
+ public override void SetLength(long value)
+ {
+ throw new NotSupportedException("SetLength method not supported in PhysFSFileStream objects.");
+ }
+
+ public override void Close()
+ {
+ // Close the handle
+ if(PhysFS_DLL.PHYSFS_close(pHandle) == 0)
+ throw new PhysFSException();
+
+ // File has been closed. Rock.
+ Closed = true;
+ }
+
+ // ***Private variables***
+ private void *pHandle;
+ private bool Closed = false;
+ }
}
\ No newline at end of file
Modified: tags/release-1.0.1/extras/PhysFS.NET/PhysFS_DLL.cs
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/PhysFS_DLL.cs 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/PhysFS_DLL.cs 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,76 +1,76 @@
-/* PhysFS_DLL - (c)2003 Gregory S. Read
- * Internal class that provides direct access to the PhysFS DLL. It is
- * not accessible outside of the PhysFS.NET assembly.
- */
-using System.Collections;
-using System.Runtime.InteropServices;
-
-namespace PhysFS_NET
-{
- internal class PhysFS_DLL
- {
- /* Static constructor
- * Initializes the PhysFS API before any method is called in this class. This
- * relieves the user from having to explicitly initialize the API.
- * Parameters
- * none
- * Returns
- * none
- * Exceptions
- * PhysFSException - An error occured in the PhysFS API
- */
- static PhysFS_DLL()
- {
- if(PHYSFS_init("") == 0)
- throw new PhysFSException();
- }
-
- /* BytePPToArray
- * Converts a C-style string array into a .NET managed string array
- * Parameters
- * C-style string array pointer returned from PhysFS
- * Returns
- * .NET managed string array
- * Exceptions
- * none
- */
- public unsafe static string[] BytePPToArray(byte **bytearray)
- {
- byte** ptr;
- byte* c;
- string tempstr;
- ArrayList MyArrayList = new ArrayList();
- string[] RetArray;
-
+/* PhysFS_DLL - (c)2003 Gregory S. Read
+ * Internal class that provides direct access to the PhysFS DLL. It is
+ * not accessible outside of the PhysFS.NET assembly.
+ */
+using System.Collections;
+using System.Runtime.InteropServices;
+
+namespace PhysFS_NET
+{
+ internal class PhysFS_DLL
+ {
+ /* Static constructor
+ * Initializes the PhysFS API before any method is called in this class. This
+ * relieves the user from having to explicitly initialize the API.
+ * Parameters
+ * none
+ * Returns
+ * none
+ * Exceptions
+ * PhysFSException - An error occured in the PhysFS API
+ */
+ static PhysFS_DLL()
+ {
+ if(PHYSFS_init("") == 0)
+ throw new PhysFSException();
+ }
+
+ /* BytePPToArray
+ * Converts a C-style string array into a .NET managed string array
+ * Parameters
+ * C-style string array pointer returned from PhysFS
+ * Returns
+ * .NET managed string array
+ * Exceptions
+ * none
+ */
+ public unsafe static string[] BytePPToArray(byte **bytearray)
+ {
+ byte** ptr;
+ byte* c;
+ string tempstr;
+ ArrayList MyArrayList = new ArrayList();
+ string[] RetArray;
+
for(ptr = bytearray; *ptr != null; ptr++)
{
tempstr = "";
for(c = *ptr; *c != 0; c++)
{
- tempstr += (char)*c;
- }
-
- // Add string to our list
- MyArrayList.Add(tempstr);
- }
-
- // Return a normal array of the list
- RetArray = new string[MyArrayList.Count];
- MyArrayList.CopyTo(RetArray, 0);
- return RetArray;
- }
-
- // Name of DLL to import
- private const string PHYSFS_DLLNAME = "physfs.dll";
-
- // DLL import declarations
- [DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_init(string argv0);
- [DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_deinit();
+ tempstr += (char)*c;
+ }
+
+ // Add string to our list
+ MyArrayList.Add(tempstr);
+ }
+
+ // Return a normal array of the list
+ RetArray = new string[MyArrayList.Count];
+ MyArrayList.CopyTo(RetArray, 0);
+ return RetArray;
+ }
+
+ // Name of DLL to import
+ private const string PHYSFS_DLLNAME = "physfs.dll";
+
+ // DLL import declarations
+ [DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_init(string argv0);
+ [DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_deinit();
[DllImport(PHYSFS_DLLNAME)] public static extern unsafe void PHYSFS_freeList(void *listVar);
[DllImport(PHYSFS_DLLNAME)] public static extern string PHYSFS_getLastError();
[DllImport(PHYSFS_DLLNAME)] public static extern string PHYSFS_getDirSeparator();
[DllImport(PHYSFS_DLLNAME)] public static extern void PHYSFS_permitSymbolicLinks(int allow);
- [DllImport(PHYSFS_DLLNAME)] public static extern unsafe byte** PHYSFS_getCdRomDirs();
+ [DllImport(PHYSFS_DLLNAME)] public static extern unsafe byte** PHYSFS_getCdRomDirs();
[DllImport(PHYSFS_DLLNAME)] public static extern string PHYSFS_getBaseDir();
[DllImport(PHYSFS_DLLNAME)] public static extern string PHYSFS_getUserDir();
[DllImport(PHYSFS_DLLNAME)] public static extern string PHYSFS_getWriteDir();
@@ -86,7 +86,7 @@
[DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_mkdir(string dirName);
[DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_delete(string filename);
[DllImport(PHYSFS_DLLNAME)] public static extern string PHYSFS_getRealDir(string filename);
- [DllImport(PHYSFS_DLLNAME)] public static extern unsafe byte** PHYSFS_enumerateFiles(string dir);
+ [DllImport(PHYSFS_DLLNAME)] public static extern unsafe byte** PHYSFS_enumerateFiles(string dir);
[DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_exists(string fname);
[DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_isDirectory(string fname);
[DllImport(PHYSFS_DLLNAME)] public static extern int PHYSFS_isSymbolicLink(string fname);
@@ -109,5 +109,5 @@
[DllImport(PHYSFS_DLLNAME)] public static extern unsafe long PHYSFS_fileLength(void* handle);
[DllImport(PHYSFS_DLLNAME)] public static extern unsafe int PHYSFS_setBuffer(void* handle, ulong bufsize);
[DllImport(PHYSFS_DLLNAME)] public static extern unsafe int PHYSFS_flush(void* handle);
- }
-}
+ }
+}
Modified: tags/release-1.0.1/extras/PhysFS.NET/README.txt
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/README.txt 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/README.txt 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,10 +1,10 @@
-PhysFS.NET is a library that encapsulates the PhysFS API into a .NET assembly.
-
-There are two class objects that are exposed in the assembly:
- PhysFS.cs
- This class exposes any non-filehandle specific functionality contained in
- the PhysFS library.
- PhysFSFileStream.cs
- A System.IO.Stream derived class which provides file access via the
- PhysFS API. Usage of this object is identical to a standard stream
+PhysFS.NET is a library that encapsulates the PhysFS API into a .NET assembly.
+
+There are two class objects that are exposed in the assembly:
+ PhysFS.cs
+ This class exposes any non-filehandle specific functionality contained in
+ the PhysFS library.
+ PhysFSFileStream.cs
+ A System.IO.Stream derived class which provides file access via the
+ PhysFS API. Usage of this object is identical to a standard stream
object.
\ No newline at end of file
Modified: tags/release-1.0.1/extras/PhysFS.NET/TestApp/AssemblyInfo.cs
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/TestApp/AssemblyInfo.cs 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/TestApp/AssemblyInfo.cs 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,58 +1,58 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-//
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-//
-[assembly: AssemblyTitle("")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("")]
-[assembly: AssemblyCopyright("")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-//
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers
-// by using the '*' as shown below:
-
-[assembly: AssemblyVersion("1.0.*")]
-
-//
-// In order to sign your assembly you must specify a key to use. Refer to the
-// Microsoft .NET Framework documentation for more information on assembly signing.
-//
-// Use the attributes below to control which key is used for signing.
-//
-// Notes:
-// (*) If no key is specified, the assembly is not signed.
-// (*) KeyName refers to a key that has been installed in the Crypto Service
-// Provider (CSP) on your machine. KeyFile refers to a file which contains
-// a key.
-// (*) If the KeyFile and the KeyName values are both specified, the
-// following processing occurs:
-// (1) If the KeyName can be found in the CSP, that key is used.
-// (2) If the KeyName does not exist and the KeyFile does exist, the key
-// in the KeyFile is installed into the CSP and used.
-// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
-// When specifying the KeyFile, the location of the KeyFile should be
-// relative to the project output directory which is
-// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
-// located in the project directory, you would specify the AssemblyKeyFile
-// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
-// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
-// documentation for more information on this.
-//
-[assembly: AssemblyDelaySign(false)]
-[assembly: AssemblyKeyFile("")]
-[assembly: AssemblyKeyName("")]
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+//
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+//
+[assembly: AssemblyTitle("")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+//
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+
+[assembly: AssemblyVersion("1.0.*")]
+
+//
+// In order to sign your assembly you must specify a key to use. Refer to the
+// Microsoft .NET Framework documentation for more information on assembly signing.
+//
+// Use the attributes below to control which key is used for signing.
+//
+// Notes:
+// (*) If no key is specified, the assembly is not signed.
+// (*) KeyName refers to a key that has been installed in the Crypto Service
+// Provider (CSP) on your machine. KeyFile refers to a file which contains
+// a key.
+// (*) If the KeyFile and the KeyName values are both specified, the
+// following processing occurs:
+// (1) If the KeyName can be found in the CSP, that key is used.
+// (2) If the KeyName does not exist and the KeyFile does exist, the key
+// in the KeyFile is installed into the CSP and used.
+// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
+// When specifying the KeyFile, the location of the KeyFile should be
+// relative to the project output directory which is
+// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
+// located in the project directory, you would specify the AssemblyKeyFile
+// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
+// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
+// documentation for more information on this.
+//
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("")]
+[assembly: AssemblyKeyName("")]
Modified: tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestApp.csproj
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/TestApp/TestApp.csproj 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestApp.csproj 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,116 +1,116 @@
-<VisualStudioProject>
- <CSHARP
- ProjectType = "Local"
- ProductVersion = "7.0.9466"
- SchemaVersion = "1.0"
- ProjectGuid = "{9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}"
- >
- <Build>
- <Settings
- ApplicationIcon = "App.ico"
- AssemblyKeyContainerName = ""
- AssemblyName = "TestApp"
- AssemblyOriginatorKeyFile = ""
- DefaultClientScript = "JScript"
- DefaultHTMLPageLayout = "Grid"
- DefaultTargetSchema = "IE50"
- DelaySign = "false"
- OutputType = "WinExe"
- RootNamespace = "TestApp"
- StartupObject = ""
- >
- <Config
- Name = "Debug"
- AllowUnsafeBlocks = "false"
- BaseAddress = "285212672"
- CheckForOverflowUnderflow = "false"
- ConfigurationOverrideFile = ""
- DefineConstants = "DEBUG;TRACE"
- DocumentationFile = ""
- DebugSymbols = "true"
- FileAlignment = "4096"
- IncrementalBuild = "true"
- Optimize = "false"
- OutputPath = "bin\Debug\"
- RegisterForComInterop = "false"
- RemoveIntegerChecks = "false"
- TreatWarningsAsErrors = "false"
- WarningLevel = "4"
- />
- <Config
- Name = "Release"
- AllowUnsafeBlocks = "false"
- BaseAddress = "285212672"
- CheckForOverflowUnderflow = "false"
- ConfigurationOverrideFile = ""
- DefineConstants = "TRACE"
- DocumentationFile = ""
- DebugSymbols = "false"
- FileAlignment = "4096"
- IncrementalBuild = "false"
- Optimize = "true"
- OutputPath = "bin\Release\"
- RegisterForComInterop = "false"
- RemoveIntegerChecks = "false"
- TreatWarningsAsErrors = "false"
- WarningLevel = "4"
- />
- </Settings>
- <References>
- <Reference
- Name = "System"
- AssemblyName = "System"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
- />
- <Reference
- Name = "System.Data"
- AssemblyName = "System.Data"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"
- />
- <Reference
- Name = "System.Drawing"
- AssemblyName = "System.Drawing"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Drawing.dll"
- />
- <Reference
- Name = "System.Windows.Forms"
- AssemblyName = "System.Windows.Forms"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Windows.Forms.dll"
- />
- <Reference
- Name = "System.XML"
- AssemblyName = "System.Xml"
- HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
- />
- <Reference
- Name = "PhysFS.NET"
- Project = "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
- Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
- />
- </References>
- </Build>
- <Files>
- <Include>
- <File
- RelPath = "App.ico"
- BuildAction = "Content"
- />
- <File
- RelPath = "AssemblyInfo.cs"
- BuildAction = "Compile"
- />
- <File
- RelPath = "TestAppForm.cs"
- SubType = "Form"
- BuildAction = "Compile"
- />
- <File
- RelPath = "TestAppForm.resx"
- DependentUpon = "TestAppForm.cs"
- BuildAction = "EmbeddedResource"
- />
- </Include>
- </Files>
- </CSHARP>
-</VisualStudioProject>
-
+<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.0.9466"
+ SchemaVersion = "1.0"
+ ProjectGuid = "{9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = "App.ico"
+ AssemblyKeyContainerName = ""
+ AssemblyName = "TestApp"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "WinExe"
+ RootNamespace = "TestApp"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "true"
+ Optimize = "false"
+ OutputPath = "bin\Debug\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"
+ />
+ <Reference
+ Name = "System.Data"
+ AssemblyName = "System.Data"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"
+ />
+ <Reference
+ Name = "System.Drawing"
+ AssemblyName = "System.Drawing"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Drawing.dll"
+ />
+ <Reference
+ Name = "System.Windows.Forms"
+ AssemblyName = "System.Windows.Forms"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Windows.Forms.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.Xml"
+ HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"
+ />
+ <Reference
+ Name = "PhysFS.NET"
+ Project = "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
+ Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "App.ico"
+ BuildAction = "Content"
+ />
+ <File
+ RelPath = "AssemblyInfo.cs"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "TestAppForm.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "TestAppForm.resx"
+ DependentUpon = "TestAppForm.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
Modified: tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestApp.sln
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/TestApp/TestApp.sln 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestApp.sln 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,27 +1,27 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestApp", "TestApp.csproj", "{9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhysFS.NET", "..\PhysFS.NET.csproj", "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- ConfigName.0 = Debug
- ConfigName.1 = Release
- EndGlobalSection
- GlobalSection(ProjectDependencies) = postSolution
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Debug.ActiveCfg = Debug|.NET
- {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Debug.Build.0 = Debug|.NET
- {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Release.ActiveCfg = Release|.NET
- {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Release.Build.0 = Release|.NET
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.ActiveCfg = Debug|.NET
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.Build.0 = Debug|.NET
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.ActiveCfg = Release|.NET
- {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.Build.0 = Release|.NET
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 7.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestApp", "TestApp.csproj", "{9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PhysFS.NET", "..\PhysFS.NET.csproj", "{C6205A43-3D4D-41E6-872C-96CD7BE55230}"
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ ConfigName.0 = Debug
+ ConfigName.1 = Release
+ EndGlobalSection
+ GlobalSection(ProjectDependencies) = postSolution
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Debug.ActiveCfg = Debug|.NET
+ {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Debug.Build.0 = Debug|.NET
+ {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Release.ActiveCfg = Release|.NET
+ {9C1ECC6B-16C7-42B3-BF7C-8BA8D81BA980}.Release.Build.0 = Release|.NET
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.ActiveCfg = Debug|.NET
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Debug.Build.0 = Debug|.NET
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.ActiveCfg = Release|.NET
+ {C6205A43-3D4D-41E6-872C-96CD7BE55230}.Release.Build.0 = Release|.NET
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
Modified: tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestAppForm.cs
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/TestApp/TestAppForm.cs 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestAppForm.cs 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,274 +1,274 @@
-using System;
-using System.Drawing;
-using System.Collections;
-using System.ComponentModel;
-using System.Windows.Forms;
-using System.Data;
-using System.IO;
-using PhysFS_NET;
-
-namespace TestApp
-{
- /// <summary>
- /// Summary description for Form1.
- /// </summary>
- public class TestAppForm : System.Windows.Forms.Form
- {
- private System.Windows.Forms.Label label2;
- private System.Windows.Forms.Button RefreshCDsButton;
- private System.Windows.Forms.ListBox CDDrivesList;
- private System.Windows.Forms.ListBox SearchPathList;
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.TextBox EnumFilesPath;
- private System.Windows.Forms.ListBox EnumList;
- private System.Windows.Forms.Label label3;
- private System.Windows.Forms.TextBox NewSearchPathText;
- private System.Windows.Forms.Button AddSearchPathButton;
- private System.Windows.Forms.Button RemovePathButton;
- private System.Windows.Forms.Button RefreshEnumList;
- private System.Windows.Forms.Button RefreshSearchPathButton;
- /// <summary>
- /// Required designer variable.
- /// </summary>
- private System.ComponentModel.Container components = null;
-
- public TestAppForm()
- {
- //
- // Required for Windows Form Designer support
- //
- InitializeComponent();
-
- //
- // TODO: Add any constructor code after InitializeComponent call
- //
- }
-
- /// <summary>
- /// Clean up any resources being used.
- /// </summary>
- protected override void Dispose( bool disposing )
- {
- if( disposing )
- {
- if (components != null)
- {
- components.Dispose();
- }
- }
- base.Dispose( disposing );
- }
-
- #region Windows Form Designer generated code
- /// <summary>
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- /// </summary>
- private void InitializeComponent()
- {
- this.label2 = new System.Windows.Forms.Label();
- this.RefreshCDsButton = new System.Windows.Forms.Button();
- this.CDDrivesList = new System.Windows.Forms.ListBox();
- this.SearchPathList = new System.Windows.Forms.ListBox();
- this.label1 = new System.Windows.Forms.Label();
- this.EnumFilesPath = new System.Windows.Forms.TextBox();
- this.EnumList = new System.Windows.Forms.ListBox();
- this.label3 = new System.Windows.Forms.Label();
- this.RefreshEnumList = new System.Windows.Forms.Button();
- this.NewSearchPathText = new System.Windows.Forms.TextBox();
- this.AddSearchPathButton = new System.Windows.Forms.Button();
- this.RemovePathButton = new System.Windows.Forms.Button();
- this.RefreshSearchPathButton = new System.Windows.Forms.Button();
- this.SuspendLayout();
- //
- // label2
- //
- this.label2.Location = new System.Drawing.Point(8, 8);
- this.label2.Name = "label2";
- this.label2.Size = new System.Drawing.Size(136, 16);
- this.label2.TabIndex = 2;
- this.label2.Text = "Available CD-ROM Drives";
- //
- // RefreshCDsButton
- //
- this.RefreshCDsButton.Location = new System.Drawing.Point(8, 152);
- this.RefreshCDsButton.Name = "RefreshCDsButton";
- this.RefreshCDsButton.Size = new System.Drawing.Size(72, 24);
- this.RefreshCDsButton.TabIndex = 4;
- this.RefreshCDsButton.Text = "Refresh";
- this.RefreshCDsButton.Click += new System.EventHandler(this.RefreshCDsButton_Click);
- //
- // CDDrivesList
- //
- this.CDDrivesList.Location = new System.Drawing.Point(8, 24);
- this.CDDrivesList.Name = "CDDrivesList";
- this.CDDrivesList.Size = new System.Drawing.Size(136, 121);
- this.CDDrivesList.TabIndex = 7;
- //
- // SearchPathList
- //
- this.SearchPathList.Location = new System.Drawing.Point(152, 24);
- this.SearchPathList.Name = "SearchPathList";
- this.SearchPathList.Size = new System.Drawing.Size(248, 95);
- this.SearchPathList.TabIndex = 8;
- //
- // label1
- //
- this.label1.Location = new System.Drawing.Point(152, 8);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(136, 16);
- this.label1.TabIndex = 10;
- this.label1.Text = "Search Path";
- //
- // EnumFilesPath
- //
- this.EnumFilesPath.Location = new System.Drawing.Point(408, 128);
- this.EnumFilesPath.Name = "EnumFilesPath";
- this.EnumFilesPath.Size = new System.Drawing.Size(208, 20);
- this.EnumFilesPath.TabIndex = 11;
- this.EnumFilesPath.Text = "";
- //
- // EnumList
- //
- this.EnumList.Location = new System.Drawing.Point(408, 24);
- this.EnumList.Name = "EnumList";
- this.EnumList.Size = new System.Drawing.Size(208, 95);
- this.EnumList.TabIndex = 12;
- //
- // label3
- //
- this.label3.Location = new System.Drawing.Point(408, 8);
- this.label3.Name = "label3";
- this.label3.Size = new System.Drawing.Size(136, 16);
- this.label3.TabIndex = 13;
- this.label3.Text = "Enumerate Files";
- //
- // RefreshEnumList
- //
- this.RefreshEnumList.Location = new System.Drawing.Point(544, 152);
- this.RefreshEnumList.Name = "RefreshEnumList";
- this.RefreshEnumList.Size = new System.Drawing.Size(72, 24);
- this.RefreshEnumList.TabIndex = 14;
- this.RefreshEnumList.Text = "Refresh";
- this.RefreshEnumList.Click += new System.EventHandler(this.RefreshEnumList_Click);
- //
- // NewSearchPathText
- //
- this.NewSearchPathText.Location = new System.Drawing.Point(152, 128);
- this.NewSearchPathText.Name = "NewSearchPathText";
- this.NewSearchPathText.Size = new System.Drawing.Size(248, 20);
- this.NewSearchPathText.TabIndex = 15;
- this.NewSearchPathText.Text = "";
- //
- // AddSearchPathButton
- //
- this.AddSearchPathButton.Location = new System.Drawing.Point(152, 152);
- this.AddSearchPathButton.Name = "AddSearchPathButton";
- this.AddSearchPathButton.Size = new System.Drawing.Size(72, 24);
- this.AddSearchPathButton.TabIndex = 9;
- this.AddSearchPathButton.Text = "Add Path";
- this.AddSearchPathButton.Click += new System.EventHandler(this.AddSearchPathButton_Click);
- //
- // RemovePathButton
- //
- this.RemovePathButton.Location = new System.Drawing.Point(232, 152);
- this.RemovePathButton.Name = "RemovePathButton";
- this.RemovePathButton.Size = new System.Drawing.Size(88, 24);
- this.RemovePathButton.TabIndex = 16;
- this.RemovePathButton.Text = "Remove Path";
- this.RemovePathButton.Click += new System.EventHandler(this.RemovePathButton_Click);
- //
- // RefreshSearchPathButton
- //
- this.RefreshSearchPathButton.Location = new System.Drawing.Point(328, 152);
- this.RefreshSearchPathButton.Name = "RefreshSearchPathButton";
- this.RefreshSearchPathButton.Size = new System.Drawing.Size(72, 24);
- this.RefreshSearchPathButton.TabIndex = 17;
- this.RefreshSearchPathButton.Text = "Refresh";
- this.RefreshSearchPathButton.Click += new System.EventHandler(this.RefreshSearchPathButton_Click);
- //
- // TestAppForm
- //
- this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
- this.ClientSize = new System.Drawing.Size(624, 309);
- this.Controls.AddRange(new System.Windows.Forms.Control[] {
- this.RefreshSearchPathButton,
- this.RemovePathButton,
- this.NewSearchPathText,
- this.RefreshEnumList,
- this.label3,
- this.EnumList,
- this.EnumFilesPath,
- this.label1,
- this.SearchPathList,
- this.CDDrivesList,
- this.RefreshCDsButton,
- this.label2,
- this.AddSearchPathButton});
- this.Name = "TestAppForm";
- this.Text = "PhysFS Test Application";
- this.Load += new System.EventHandler(this.TestAppForm_Load);
- this.ResumeLayout(false);
-
- }
- #endregion
-
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main()
- {
- Application.Run(new TestAppForm());
- }
-
- private void TestAppForm_Load(object sender, System.EventArgs e)
- {
-
- }
-
- private void RefreshCDsButton_Click(object sender, System.EventArgs e)
- {
- // Clear ths listbox if it contains any items
- CDDrivesList.Items.Clear();
- // Add the items to the list
- CDDrivesList.Items.AddRange(PhysFS.GetCDROMDrives());
- }
-
- private void RefreshSearchPathButton_Click(object sender, System.EventArgs e)
- {
- // Clear ths listbox if it contains any items
- SearchPathList.Items.Clear();
- // Add the items to the list
- SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
- }
-
- private void AddSearchPathButton_Click(object sender, System.EventArgs e)
- {
- // Add search path
- PhysFS.AddToSearchPath(NewSearchPathText.Text, false);
- // Clear ths listbox if it contains any items
- SearchPathList.Items.Clear();
- // Add the items to the list
- SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
- }
-
- private void RemovePathButton_Click(object sender, System.EventArgs e)
- {
- if(SearchPathList.SelectedItem != null)
- {
- PhysFS.RemoveFromSearchPath(SearchPathList.SelectedItem.ToString());
- // Clear ths listbox if it contains any items
- SearchPathList.Items.Clear();
- // Add the items to the list
- SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
- }
- }
-
- private void RefreshEnumList_Click(object sender, System.EventArgs e)
- {
- EnumList.Items.Clear();
- EnumList.Items.AddRange(PhysFS.EnumerateFiles(EnumFilesPath.Text));
- }
- }
-}
+using System;
+using System.Drawing;
+using System.Collections;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Data;
+using System.IO;
+using PhysFS_NET;
+
+namespace TestApp
+{
+ /// <summary>
+ /// Summary description for Form1.
+ /// </summary>
+ public class TestAppForm : System.Windows.Forms.Form
+ {
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Button RefreshCDsButton;
+ private System.Windows.Forms.ListBox CDDrivesList;
+ private System.Windows.Forms.ListBox SearchPathList;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.TextBox EnumFilesPath;
+ private System.Windows.Forms.ListBox EnumList;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.TextBox NewSearchPathText;
+ private System.Windows.Forms.Button AddSearchPathButton;
+ private System.Windows.Forms.Button RemovePathButton;
+ private System.Windows.Forms.Button RefreshEnumList;
+ private System.Windows.Forms.Button RefreshSearchPathButton;
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.Container components = null;
+
+ public TestAppForm()
+ {
+ //
+ // Required for Windows Form Designer support
+ //
+ InitializeComponent();
+
+ //
+ // TODO: Add any constructor code after InitializeComponent call
+ //
+ }
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ protected override void Dispose( bool disposing )
+ {
+ if( disposing )
+ {
+ if (components != null)
+ {
+ components.Dispose();
+ }
+ }
+ base.Dispose( disposing );
+ }
+
+ #region Windows Form Designer generated code
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.label2 = new System.Windows.Forms.Label();
+ this.RefreshCDsButton = new System.Windows.Forms.Button();
+ this.CDDrivesList = new System.Windows.Forms.ListBox();
+ this.SearchPathList = new System.Windows.Forms.ListBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.EnumFilesPath = new System.Windows.Forms.TextBox();
+ this.EnumList = new System.Windows.Forms.ListBox();
+ this.label3 = new System.Windows.Forms.Label();
+ this.RefreshEnumList = new System.Windows.Forms.Button();
+ this.NewSearchPathText = new System.Windows.Forms.TextBox();
+ this.AddSearchPathButton = new System.Windows.Forms.Button();
+ this.RemovePathButton = new System.Windows.Forms.Button();
+ this.RefreshSearchPathButton = new System.Windows.Forms.Button();
+ this.SuspendLayout();
+ //
+ // label2
+ //
+ this.label2.Location = new System.Drawing.Point(8, 8);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(136, 16);
+ this.label2.TabIndex = 2;
+ this.label2.Text = "Available CD-ROM Drives";
+ //
+ // RefreshCDsButton
+ //
+ this.RefreshCDsButton.Location = new System.Drawing.Point(8, 152);
+ this.RefreshCDsButton.Name = "RefreshCDsButton";
+ this.RefreshCDsButton.Size = new System.Drawing.Size(72, 24);
+ this.RefreshCDsButton.TabIndex = 4;
+ this.RefreshCDsButton.Text = "Refresh";
+ this.RefreshCDsButton.Click += new System.EventHandler(this.RefreshCDsButton_Click);
+ //
+ // CDDrivesList
+ //
+ this.CDDrivesList.Location = new System.Drawing.Point(8, 24);
+ this.CDDrivesList.Name = "CDDrivesList";
+ this.CDDrivesList.Size = new System.Drawing.Size(136, 121);
+ this.CDDrivesList.TabIndex = 7;
+ //
+ // SearchPathList
+ //
+ this.SearchPathList.Location = new System.Drawing.Point(152, 24);
+ this.SearchPathList.Name = "SearchPathList";
+ this.SearchPathList.Size = new System.Drawing.Size(248, 95);
+ this.SearchPathList.TabIndex = 8;
+ //
+ // label1
+ //
+ this.label1.Location = new System.Drawing.Point(152, 8);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(136, 16);
+ this.label1.TabIndex = 10;
+ this.label1.Text = "Search Path";
+ //
+ // EnumFilesPath
+ //
+ this.EnumFilesPath.Location = new System.Drawing.Point(408, 128);
+ this.EnumFilesPath.Name = "EnumFilesPath";
+ this.EnumFilesPath.Size = new System.Drawing.Size(208, 20);
+ this.EnumFilesPath.TabIndex = 11;
+ this.EnumFilesPath.Text = "";
+ //
+ // EnumList
+ //
+ this.EnumList.Location = new System.Drawing.Point(408, 24);
+ this.EnumList.Name = "EnumList";
+ this.EnumList.Size = new System.Drawing.Size(208, 95);
+ this.EnumList.TabIndex = 12;
+ //
+ // label3
+ //
+ this.label3.Location = new System.Drawing.Point(408, 8);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(136, 16);
+ this.label3.TabIndex = 13;
+ this.label3.Text = "Enumerate Files";
+ //
+ // RefreshEnumList
+ //
+ this.RefreshEnumList.Location = new System.Drawing.Point(544, 152);
+ this.RefreshEnumList.Name = "RefreshEnumList";
+ this.RefreshEnumList.Size = new System.Drawing.Size(72, 24);
+ this.RefreshEnumList.TabIndex = 14;
+ this.RefreshEnumList.Text = "Refresh";
+ this.RefreshEnumList.Click += new System.EventHandler(this.RefreshEnumList_Click);
+ //
+ // NewSearchPathText
+ //
+ this.NewSearchPathText.Location = new System.Drawing.Point(152, 128);
+ this.NewSearchPathText.Name = "NewSearchPathText";
+ this.NewSearchPathText.Size = new System.Drawing.Size(248, 20);
+ this.NewSearchPathText.TabIndex = 15;
+ this.NewSearchPathText.Text = "";
+ //
+ // AddSearchPathButton
+ //
+ this.AddSearchPathButton.Location = new System.Drawing.Point(152, 152);
+ this.AddSearchPathButton.Name = "AddSearchPathButton";
+ this.AddSearchPathButton.Size = new System.Drawing.Size(72, 24);
+ this.AddSearchPathButton.TabIndex = 9;
+ this.AddSearchPathButton.Text = "Add Path";
+ this.AddSearchPathButton.Click += new System.EventHandler(this.AddSearchPathButton_Click);
+ //
+ // RemovePathButton
+ //
+ this.RemovePathButton.Location = new System.Drawing.Point(232, 152);
+ this.RemovePathButton.Name = "RemovePathButton";
+ this.RemovePathButton.Size = new System.Drawing.Size(88, 24);
+ this.RemovePathButton.TabIndex = 16;
+ this.RemovePathButton.Text = "Remove Path";
+ this.RemovePathButton.Click += new System.EventHandler(this.RemovePathButton_Click);
+ //
+ // RefreshSearchPathButton
+ //
+ this.RefreshSearchPathButton.Location = new System.Drawing.Point(328, 152);
+ this.RefreshSearchPathButton.Name = "RefreshSearchPathButton";
+ this.RefreshSearchPathButton.Size = new System.Drawing.Size(72, 24);
+ this.RefreshSearchPathButton.TabIndex = 17;
+ this.RefreshSearchPathButton.Text = "Refresh";
+ this.RefreshSearchPathButton.Click += new System.EventHandler(this.RefreshSearchPathButton_Click);
+ //
+ // TestAppForm
+ //
+ this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
+ this.ClientSize = new System.Drawing.Size(624, 309);
+ this.Controls.AddRange(new System.Windows.Forms.Control[] {
+ this.RefreshSearchPathButton,
+ this.RemovePathButton,
+ this.NewSearchPathText,
+ this.RefreshEnumList,
+ this.label3,
+ this.EnumList,
+ this.EnumFilesPath,
+ this.label1,
+ this.SearchPathList,
+ this.CDDrivesList,
+ this.RefreshCDsButton,
+ this.label2,
+ this.AddSearchPathButton});
+ this.Name = "TestAppForm";
+ this.Text = "PhysFS Test Application";
+ this.Load += new System.EventHandler(this.TestAppForm_Load);
+ this.ResumeLayout(false);
+
+ }
+ #endregion
+
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void Main()
+ {
+ Application.Run(new TestAppForm());
+ }
+
+ private void TestAppForm_Load(object sender, System.EventArgs e)
+ {
+
+ }
+
+ private void RefreshCDsButton_Click(object sender, System.EventArgs e)
+ {
+ // Clear ths listbox if it contains any items
+ CDDrivesList.Items.Clear();
+ // Add the items to the list
+ CDDrivesList.Items.AddRange(PhysFS.GetCDROMDrives());
+ }
+
+ private void RefreshSearchPathButton_Click(object sender, System.EventArgs e)
+ {
+ // Clear ths listbox if it contains any items
+ SearchPathList.Items.Clear();
+ // Add the items to the list
+ SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
+ }
+
+ private void AddSearchPathButton_Click(object sender, System.EventArgs e)
+ {
+ // Add search path
+ PhysFS.AddToSearchPath(NewSearchPathText.Text, false);
+ // Clear ths listbox if it contains any items
+ SearchPathList.Items.Clear();
+ // Add the items to the list
+ SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
+ }
+
+ private void RemovePathButton_Click(object sender, System.EventArgs e)
+ {
+ if(SearchPathList.SelectedItem != null)
+ {
+ PhysFS.RemoveFromSearchPath(SearchPathList.SelectedItem.ToString());
+ // Clear ths listbox if it contains any items
+ SearchPathList.Items.Clear();
+ // Add the items to the list
+ SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
+ }
+ }
+
+ private void RefreshEnumList_Click(object sender, System.EventArgs e)
+ {
+ EnumList.Items.Clear();
+ EnumList.Items.AddRange(PhysFS.EnumerateFiles(EnumFilesPath.Text));
+ }
+ }
+}
Modified: tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestAppForm.resx
===================================================================
--- branches/stable-1.0/extras/PhysFS.NET/TestApp/TestAppForm.resx 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/PhysFS.NET/TestApp/TestAppForm.resx 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,102 +1,102 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
- <!--
- Microsoft ResX Schema
-
- Version 1.3
-
- The primary goals of this format is to allow a simple XML format
- that is mostly human readable. The generation and parsing of the
- various data types are done through the TypeConverter classes
- associated with the data types.
-
- Example:
-
- ... ado.net/XML headers & schema ...
- <resheader name="resmimetype">text/microsoft-resx</resheader>
- <resheader name="version">1.3</resheader>
- <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
- <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
- <data name="Name1">this is my long string</data>
- <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
- <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
- [base64 mime encoded serialized .NET Framework object]
- </data>
- <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
- [base64 mime encoded string representing a byte array form of the .NET Framework object]
- </data>
-
- There are any number of "resheader" rows that contain simple
- name/value pairs.
-
- Each data row contains a name, and value. The row also contains a
- type or mimetype. Type corresponds to a .NET class that support
- text/value conversion through the TypeConverter architecture.
- Classes that don't support this are serialized and stored with the
- mimetype set.
-
- The mimetype is used for serialized objects, and tells the
- ResXResourceReader how to depersist the object. This is currently not
- extensible. For a given mimetype the value must be set accordingly:
-
- Note - application/x-microsoft.net.object.binary.base64 is the format
- that the ResXResourceWriter will generate, however the reader can
- read any of the formats listed below.
-
- mimetype: application/x-microsoft.net.object.binary.base64
- value : The object must be serialized with
- : System.Serialization.Formatters.Binary.BinaryFormatter
- : and then encoded with base64 encoding.
-
- mimetype: application/x-microsoft.net.object.soap.base64
- value : The object must be serialized with
- : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
- : and then encoded with base64 encoding.
- mimetype: application/x-microsoft.net.object.bytearray.base64
- value : The object must be serialized into a byte array
- : using a System.ComponentModel.TypeConverter
- : and then encoded with base64 encoding.
- -->
- <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xsd:element name="root" msdata:IsDataSet="true">
- <xsd:complexType>
- <xsd:choice maxOccurs="unbounded">
- <xsd:element name="data">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
- <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
- <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="resheader">
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
- </xsd:sequence>
- <xsd:attribute name="name" type="xsd:string" use="required" />
- </xsd:complexType>
- </xsd:element>
- </xsd:choice>
- </xsd:complexType>
- </xsd:element>
- </xsd:schema>
- <resheader name="resmimetype">
- <value>text/microsoft-resx</value>
- </resheader>
- <resheader name="version">
- <value>1.3</value>
- </resheader>
- <resheader name="reader">
- <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <resheader name="writer">
- <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
- </resheader>
- <data name="$this.Name">
- <value>TestAppForm</value>
- </data>
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 1.3
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">1.3</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1">this is my long string</data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ [base64 mime encoded serialized .NET Framework object]
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ [base64 mime encoded string representing a byte array form of the .NET Framework object]
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>1.3</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <data name="$this.Name">
+ <value>TestAppForm</value>
+ </data>
</root>
\ No newline at end of file
Modified: tags/release-1.0.1/extras/physfs_rb/installer.rb
===================================================================
--- branches/stable-1.0/extras/physfs_rb/installer.rb 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/extras/physfs_rb/installer.rb 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,4 +1,4 @@
-# $Id: installer.rb,v 1.3 2003/07/21 03:46:50 icculus Exp $
+# $Id$
require 'rbconfig'
require 'find'
Deleted: tags/release-1.0.1/physfs_internal.h
===================================================================
--- branches/stable-1.0/physfs_internal.h 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/physfs_internal.h 2005-07-24 01:05:49 UTC (rev 758)
@@ -1,1695 +0,0 @@
-/*
- * Internal function/structure declaration. Do NOT include in your
- * application.
- *
- * Please see the file LICENSE in the source's root directory.
- *
- * This file written by Ryan C. Gordon.
- */
-
-#ifndef _INCLUDE_PHYSFS_INTERNAL_H_
-#define _INCLUDE_PHYSFS_INTERNAL_H_
-
-#ifndef __PHYSICSFS_INTERNAL__
-#error Do not include this header from your applications.
-#endif
-
-#include "physfs.h"
-
-#ifdef HAVE_ASSERT_H
-#include <assert.h>
-#else
-#define assert(x)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* The LANG section. */
-/* please send questions/translations to Ryan: icculus at clutteredmind.org. */
-
-#if (!defined PHYSFS_LANG)
-# define PHYSFS_LANG PHYSFS_LANG_ENGLISH
-#endif
-
-#define PHYSFS_LANG_ENGLISH 1 /* English by Ryan C. Gordon */
-#define PHYSFS_LANG_RUSSIAN_KOI8_R 2 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_CP1251 3 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_CP866 4 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_RUSSIAN_ISO_8859_5 5 /* Russian by Ed Sinjiashvili */
-#define PHYSFS_LANG_SPANISH 6 /* Spanish by Pedro J. Pérez */
-#define PHYSFS_LANG_FRENCH 7 /* French by Stéphane Peter */
-#define PHYSFS_LANG_GERMAN 8 /* German by Michael Renner */
-#define PHYSFS_LANG_PORTUGUESE_BR 9 /* pt-br by Danny Angelo Carminati Grein */
-
-#if (PHYSFS_LANG == PHYSFS_LANG_ENGLISH)
- #define DIR_ARCHIVE_DESCRIPTION "Non-archive, direct filesystem I/O"
- #define GRP_ARCHIVE_DESCRIPTION "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip compatible"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format"
-
- #define ERR_IS_INITIALIZED "Already initialized"
- #define ERR_NOT_INITIALIZED "Not initialized"
- #define ERR_INVALID_ARGUMENT "Invalid argument"
- #define ERR_FILES_STILL_OPEN "Files still open"
- #define ERR_NO_DIR_CREATE "Failed to create directories"
- #define ERR_OUT_OF_MEMORY "Out of memory"
- #define ERR_NOT_IN_SEARCH_PATH "No such entry in search path"
- #define ERR_NOT_SUPPORTED "Operation not supported"
- #define ERR_UNSUPPORTED_ARCHIVE "Archive type unsupported"
- #define ERR_NOT_A_HANDLE "Not a file handle"
- #define ERR_INSECURE_FNAME "Insecure filename"
- #define ERR_SYMLINK_DISALLOWED "Symbolic links are disabled"
- #define ERR_NO_WRITE_DIR "Write directory is not set"
- #define ERR_NO_SUCH_FILE "File not found"
- #define ERR_NO_SUCH_PATH "Path not found"
- #define ERR_NO_SUCH_VOLUME "Volume not found"
- #define ERR_PAST_EOF "Past end of file"
- #define ERR_ARC_IS_READ_ONLY "Archive is read-only"
- #define ERR_IO_ERROR "I/O error"
- #define ERR_CANT_SET_WRITE_DIR "Can't set write directory"
- #define ERR_SYMLINK_LOOP "Infinite symbolic link loop"
- #define ERR_COMPRESSION "(De)compression error"
- #define ERR_NOT_IMPLEMENTED "Not implemented"
- #define ERR_OS_ERROR "Operating system reported error"
- #define ERR_FILE_EXISTS "File already exists"
- #define ERR_NOT_A_FILE "Not a file"
- #define ERR_NOT_A_DIR "Not a directory"
- #define ERR_NOT_AN_ARCHIVE "Not an archive"
- #define ERR_CORRUPTED "Corrupted archive"
- #define ERR_SEEK_OUT_OF_RANGE "Seek out of range"
- #define ERR_BAD_FILENAME "Bad filename"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS made a bad system call"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: need dictionary"
- #define ERR_ZLIB_DATA_ERROR "zlib: data error"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: memory error"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: buffer error"
- #define ERR_ZLIB_VERSION_ERROR "zlib: version error"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: unknown error"
- #define ERR_SEARCHPATH_TRUNC "Search path was truncated"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() was truncated"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() had no dir"
- #define ERR_DISK_FULL "Disk is full"
- #define ERR_DIRECTORY_FULL "Directory full"
- #define ERR_MACOS_GENERIC "MacOS reported error (%d)"
- #define ERR_OS2_GENERIC "OS/2 reported error (%d)"
- #define ERR_VOL_LOCKED_HW "Volume is locked through hardware"
- #define ERR_VOL_LOCKED_SW "Volume is locked through software"
- #define ERR_FILE_LOCKED "File is locked"
- #define ERR_FILE_OR_DIR_BUSY "File/directory is busy"
- #define ERR_FILE_ALREADY_OPEN_W "File already open for writing"
- #define ERR_FILE_ALREADY_OPEN_R "File already open for reading"
- #define ERR_INVALID_REFNUM "Invalid reference number"
- #define ERR_GETTING_FILE_POS "Error getting file position"
- #define ERR_VOLUME_OFFLINE "Volume is offline"
- #define ERR_PERMISSION_DENIED "Permission denied"
- #define ERR_VOL_ALREADY_ONLINE "Volume already online"
- #define ERR_NO_SUCH_DRIVE "No such drive"
- #define ERR_NOT_MAC_DISK "Not a Macintosh disk"
- #define ERR_VOL_EXTERNAL_FS "Volume belongs to an external filesystem"
- #define ERR_PROBLEM_RENAME "Problem during rename"
- #define ERR_BAD_MASTER_BLOCK "Bad master directory block"
- #define ERR_CANT_MOVE_FORBIDDEN "Attempt to move forbidden"
- #define ERR_WRONG_VOL_TYPE "Wrong volume type"
- #define ERR_SERVER_VOL_LOST "Server volume has been disconnected"
- #define ERR_FILE_ID_NOT_FOUND "File ID not found"
- #define ERR_FILE_ID_EXISTS "File ID already exists"
- #define ERR_SERVER_NO_RESPOND "Server not responding"
- #define ERR_USER_AUTH_FAILED "User authentication failed"
- #define ERR_PWORD_EXPIRED "Password has expired on server"
- #define ERR_ACCESS_DENIED "Access denied"
- #define ERR_NOT_A_DOS_DISK "Not a DOS disk"
- #define ERR_SHARING_VIOLATION "Sharing violation"
- #define ERR_CANNOT_MAKE "Cannot make"
- #define ERR_DEV_IN_USE "Device already in use"
- #define ERR_OPEN_FAILED "Open failed"
- #define ERR_PIPE_BUSY "Pipe is busy"
- #define ERR_SHARING_BUF_EXCEEDED "Sharing buffer exceeded"
- #define ERR_TOO_MANY_HANDLES "Too many open handles"
- #define ERR_SEEK_ERROR "Seek error"
- #define ERR_DEL_CWD "Trying to delete current working directory"
- #define ERR_WRITE_PROTECT_ERROR "Write protect error"
- #define ERR_WRITE_FAULT "Write fault"
- #define ERR_LOCK_VIOLATION "Lock violation"
- #define ERR_GEN_FAILURE "General failure"
- #define ERR_UNCERTAIN_MEDIA "Uncertain media"
- #define ERR_PROT_VIOLATION "Protection violation"
- #define ERR_BROKEN_PIPE "Broken pipe"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_GERMAN)
- #define DIR_ARCHIVE_DESCRIPTION "Kein Archiv, direkte Ein/Ausgabe in das Dateisystem"
- #define GRP_ARCHIVE_DESCRIPTION "Build engine Groupfile format"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip kompatibel"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format"
-
- #define ERR_IS_INITIALIZED "Bereits initialisiert"
- #define ERR_NOT_INITIALIZED "Nicht initialisiert"
- #define ERR_INVALID_ARGUMENT "Ungültiges Argument"
- #define ERR_FILES_STILL_OPEN "Dateien noch immer geöffnet"
- #define ERR_NO_DIR_CREATE "Fehler beim Erzeugen der Verzeichnisse"
- #define ERR_OUT_OF_MEMORY "Kein Speicher mehr frei"
- #define ERR_NOT_IN_SEARCH_PATH "Eintrag nicht im Suchpfad enthalten"
- #define ERR_NOT_SUPPORTED "Befehl nicht unterstützt"
- #define ERR_UNSUPPORTED_ARCHIVE "Archiv-Typ nicht unterstützt"
- #define ERR_NOT_A_HANDLE "Ist kein Dateideskriptor"
- #define ERR_INSECURE_FNAME "Unsicherer Dateiname"
- #define ERR_SYMLINK_DISALLOWED "Symbolische Verweise deaktiviert"
- #define ERR_NO_WRITE_DIR "Schreibverzeichnis ist nicht gesetzt"
- #define ERR_NO_SUCH_FILE "Datei nicht gefunden"
- #define ERR_NO_SUCH_PATH "Pfad nicht gefunden"
- #define ERR_NO_SUCH_VOLUME "Datencontainer nicht gefunden"
- #define ERR_PAST_EOF "Hinter dem Ende der Datei"
- #define ERR_ARC_IS_READ_ONLY "Archiv ist schreibgeschützt"
- #define ERR_IO_ERROR "Ein/Ausgabe Fehler"
- #define ERR_CANT_SET_WRITE_DIR "Kann Schreibverzeichnis nicht setzen"
- #define ERR_SYMLINK_LOOP "Endlosschleife durch symbolische Verweise"
- #define ERR_COMPRESSION "(De)Kompressionsfehler"
- #define ERR_NOT_IMPLEMENTED "Nicht implementiert"
- #define ERR_OS_ERROR "Betriebssystem meldete Fehler"
- #define ERR_FILE_EXISTS "Datei existiert bereits"
- #define ERR_NOT_A_FILE "Ist keine Datei"
- #define ERR_NOT_A_DIR "Ist kein Verzeichnis"
- #define ERR_NOT_AN_ARCHIVE "Ist kein Archiv"
- #define ERR_CORRUPTED "Beschädigtes Archiv"
- #define ERR_SEEK_OUT_OF_RANGE "Suche war ausserhalb der Reichweite"
- #define ERR_BAD_FILENAME "Unzulässiger Dateiname"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS verursachte einen ungültigen Systemaufruf"
- #define ERR_ARGV0_IS_NULL "argv0 ist NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: brauche Wörterbuch"
- #define ERR_ZLIB_DATA_ERROR "zlib: Datenfehler"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: Speicherfehler"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: Bufferfehler"
- #define ERR_ZLIB_VERSION_ERROR "zlib: Versionskonflikt"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: Unbekannter Fehler"
- #define ERR_SEARCHPATH_TRUNC "Suchpfad war abgeschnitten"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() war abgeschnitten"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() bekam kein Verzeichnis"
- #define ERR_DISK_FULL "Laufwerk ist voll"
- #define ERR_DIRECTORY_FULL "Verzeichnis ist voll"
- #define ERR_MACOS_GENERIC "MacOS meldete Fehler (%d)"
- #define ERR_OS2_GENERIC "OS/2 meldete Fehler (%d)"
- #define ERR_VOL_LOCKED_HW "Datencontainer ist durch Hardware gesperrt"
- #define ERR_VOL_LOCKED_SW "Datencontainer ist durch Software gesperrt"
- #define ERR_FILE_LOCKED "Datei ist gesperrt"
- #define ERR_FILE_OR_DIR_BUSY "Datei/Verzeichnis ist beschäftigt"
- #define ERR_FILE_ALREADY_OPEN_W "Datei schon im Schreibmodus geöffnet"
- #define ERR_FILE_ALREADY_OPEN_R "Datei schon im Lesemodus geöffnet"
- #define ERR_INVALID_REFNUM "Ungültige Referenznummer"
- #define ERR_GETTING_FILE_POS "Fehler beim Finden der Dateiposition"
- #define ERR_VOLUME_OFFLINE "Datencontainer ist offline"
- #define ERR_PERMISSION_DENIED "Zugriff verweigert"
- #define ERR_VOL_ALREADY_ONLINE "Datencontainer ist bereits online"
- #define ERR_NO_SUCH_DRIVE "Laufwerk nicht vorhanden"
- #define ERR_NOT_MAC_DISK "Ist kein Macintosh Laufwerk"
- #define ERR_VOL_EXTERNAL_FS "Datencontainer liegt auf einem externen Dateisystem"
- #define ERR_PROBLEM_RENAME "Fehler beim Umbenennen"
- #define ERR_BAD_MASTER_BLOCK "Beschädigter Hauptverzeichnisblock"
- #define ERR_CANT_MOVE_FORBIDDEN "Verschieben nicht erlaubt"
- #define ERR_WRONG_VOL_TYPE "Falscher Datencontainer-Typ"
- #define ERR_SERVER_VOL_LOST "Datencontainer am Server wurde getrennt"
- #define ERR_FILE_ID_NOT_FOUND "Dateikennung nicht gefunden"
- #define ERR_FILE_ID_EXISTS "Dateikennung existiert bereits"
- #define ERR_SERVER_NO_RESPOND "Server antwortet nicht"
- #define ERR_USER_AUTH_FAILED "Benutzerauthentifizierung fehlgeschlagen"
- #define ERR_PWORD_EXPIRED "Passwort am Server ist abgelaufen"
- #define ERR_ACCESS_DENIED "Zugriff verweigert"
- #define ERR_NOT_A_DOS_DISK "Ist kein DOS-Laufwerk"
- #define ERR_SHARING_VIOLATION "Zugriffsverletzung"
- #define ERR_CANNOT_MAKE "Kann nicht erzeugen"
- #define ERR_DEV_IN_USE "Gerät wird bereits benutzt"
- #define ERR_OPEN_FAILED "Öffnen fehlgeschlagen"
- #define ERR_PIPE_BUSY "Pipeverbindung ist belegt"
- #define ERR_SHARING_BUF_EXCEEDED "Zugriffsbuffer überschritten"
- #define ERR_TOO_MANY_HANDLES "Zu viele offene Dateien"
- #define ERR_SEEK_ERROR "Fehler beim Suchen"
- #define ERR_DEL_CWD "Aktuelles Arbeitsverzeichnis darf nicht gelöscht werden"
- #define ERR_WRITE_PROTECT_ERROR "Schreibschutzfehler"
- #define ERR_WRITE_FAULT "Schreibfehler"
- #define ERR_LOCK_VIOLATION "Sperrverletzung"
- #define ERR_GEN_FAILURE "Allgemeiner Fehler"
- #define ERR_UNCERTAIN_MEDIA "Unsicheres Medium"
- #define ERR_PROT_VIOLATION "Schutzverletzung"
- #define ERR_BROKEN_PIPE "Pipeverbindung unterbrochen"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_KOI8_R)
- #define DIR_ARCHIVE_DESCRIPTION "îÅ ÁÒÈÉ×, ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÙÊ ××ÏÄ/×Ù×ÏÄ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÙ"
- #define GRP_ARCHIVE_DESCRIPTION "æÏÒÍÁÔ ÇÒÕÐÐÏ×ÏÇÏ ÆÁÊÌÁ Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ÓÏ×ÍÅÓÔÉÍÙÊ"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" // !!! FIXME: translate this line if needed
-
- #define ERR_IS_INITIALIZED "õÖÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ"
- #define ERR_NOT_INITIALIZED "îÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ"
- #define ERR_INVALID_ARGUMENT "îÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ"
- #define ERR_FILES_STILL_OPEN "æÁÊÌÙ ÅÝÅ ÏÔËÒÙÔÙ"
- #define ERR_NO_DIR_CREATE "îÅ ÍÏÇÕ ÓÏÚÄÁÔØ ËÁÔÁÌÏÇÉ"
- #define ERR_OUT_OF_MEMORY "ëÏÎÞÉÌÁÓØ ÐÁÍÑÔØ"
- #define ERR_NOT_IN_SEARCH_PATH "îÅÔ ÔÁËÏÇÏ ÜÌÅÍÅÎÔÁ × ÐÕÔÉ ÐÏÉÓËÁ"
- #define ERR_NOT_SUPPORTED "ïÐÅÒÁÃÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
- #define ERR_UNSUPPORTED_ARCHIVE "áÒÈÉ×Ù ÔÁËÏÇÏ ÔÉÐÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
- #define ERR_NOT_A_HANDLE "îÅ ÆÁÊÌÏ×ÙÊ ÄÅÓËÒÉÐÔÏÒ"
- #define ERR_INSECURE_FNAME "îÅÂÅÚÏÐÁÓÎÏÅ ÉÍÑ ÆÁÊÌÁ"
- #define ERR_SYMLINK_DISALLOWED "óÉÍ×ÏÌØÎÙÅ ÓÓÙÌËÉ ÏÔËÌÀÞÅÎÙ"
- #define ERR_NO_WRITE_DIR "ëÁÔÁÌÏÇ ÄÌÑ ÚÁÐÉÓÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎ"
- #define ERR_NO_SUCH_FILE "æÁÊÌ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_NO_SUCH_PATH "ðÕÔØ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_NO_SUCH_VOLUME "ôÏÍ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_PAST_EOF "úÁ ËÏÎÃÏÍ ÆÁÊÌÁ"
- #define ERR_ARC_IS_READ_ONLY "áÒÈÉ× ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
- #define ERR_IO_ERROR "ïÛÉÂËÁ ××ÏÄÁ/×Ù×ÏÄÁ"
- #define ERR_CANT_SET_WRITE_DIR "îÅ ÍÏÇÕ ÕÓÔÁÎÏ×ÉÔØ ËÁÔÁÌÏÇ ÄÌÑ ÚÁÐÉÓÉ"
- #define ERR_SYMLINK_LOOP "âÅÓËÏÎÅÞÎÙÊ ÃÉËÌ ÓÉÍ×ÏÌØÎÏÊ ÓÓÙÌËÉ"
- #define ERR_COMPRESSION "ïÛÉÂËÁ (òÁÓ)ÐÁËÏ×ËÉ"
- #define ERR_NOT_IMPLEMENTED "îÅ ÒÅÁÌÉÚÏ×ÁÎÏ"
- #define ERR_OS_ERROR "ïÐÅÒÁÃÉÏÎÎÁÑ ÓÉÓÔÅÍÁ ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ"
- #define ERR_FILE_EXISTS "æÁÊÌ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
- #define ERR_NOT_A_FILE "îÅ ÆÁÊÌ"
- #define ERR_NOT_A_DIR "îÅ ËÁÔÁÌÏÇ"
- #define ERR_NOT_AN_ARCHIVE "îÅ ÁÒÈÉ×"
- #define ERR_CORRUPTED "ðÏ×ÒÅÖÄÅÎÎÙÊ ÁÒÈÉ×"
- #define ERR_SEEK_OUT_OF_RANGE "ðÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÅ ÚÁ ÐÒÅÄÅÌÙ"
- #define ERR_BAD_FILENAME "îÅ×ÅÒÎÏÅ ÉÍÑ ÆÁÊÌÁ"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ×ÙÐÏÌÎÉÌÁ ÎÅ×ÅÒÎÙÊ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ×"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: ÎÕÖÅÎ ÓÌÏ×ÁÒØ"
- #define ERR_ZLIB_DATA_ERROR "zlib: ÏÛÉÂËÁ ÄÁÎÎÙÈ"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: ÏÛÉÂËÁ ÐÁÍÑÔÉ"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: ÏÛÉÂËÁ ÂÕÆÅÒÁ"
- #define ERR_ZLIB_VERSION_ERROR "zlib: ÏÛÉÂËÁ ×ÅÒÓÉÉ"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ"
- #define ERR_SEARCHPATH_TRUNC "ðÕÔØ ÐÏÉÓËÁ ÏÂÒÅÚÁÎ"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ÏÂÒÅÚÁÎ"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ÎÅ ÐÏÌÕÞÉÌ ËÁÔÁÌÏÇ"
- #define ERR_DISK_FULL "äÉÓË ÐÏÌÏÎ"
- #define ERR_DIRECTORY_FULL "ëÁÔÁÌÏÇ ÐÏÌÏÎ"
- #define ERR_MACOS_GENERIC "MacOS ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ (%d)"
- #define ERR_OS2_GENERIC "OS/2 ÓÏÏÂÝÉÌÁ ÏÛÉÂËÕ (%d)"
- #define ERR_VOL_LOCKED_HW "ôÏÍ ÂÌÏËÉÒÏ×ÁÎ ÁÐÐÁÒÁÔÎÏ"
- #define ERR_VOL_LOCKED_SW "ôÏÍ ÂÌÏËÉÒÏ×ÁÎ ÐÒÏÇÒÁÍÍÎÏ"
- #define ERR_FILE_LOCKED "æÁÊÌ ÚÁÂÌÏËÉÒÏ×ÁÎ"
- #define ERR_FILE_OR_DIR_BUSY "æÁÊÌ/ËÁÔÁÌÏÇ ÚÁÎÑÔ"
- #define ERR_FILE_ALREADY_OPEN_W "æÁÊÌ ÕÖÅ ÏÔËÒÙÔ ÎÁ ÚÁÐÉÓØ"
- #define ERR_FILE_ALREADY_OPEN_R "æÁÊÌ ÕÖÅ ÏÔËÒÙÔ ÎÁ ÞÔÅÎÉÅ"
- #define ERR_INVALID_REFNUM "îÅ×ÅÒÎÏÅ ËÏÌÉÞÅÓÔ×Ï ÓÓÙÌÏË"
- #define ERR_GETTING_FILE_POS "ïÛÉÂËÁ ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÐÏÚÉÃÉÉ ÆÁÊÌÁ"
- #define ERR_VOLUME_OFFLINE "ôÏÍ ÏÔÓÏÅÄÉÎÅÎ"
- #define ERR_PERMISSION_DENIED "ïÔËÁÚÁÎÏ × ÒÁÚÒÅÛÅÎÉÉ"
- #define ERR_VOL_ALREADY_ONLINE "ôÏÍ ÕÖÅ ÐÏÄÓÏÅÄÉÎÅÎ"
- #define ERR_NO_SUCH_DRIVE "îÅÔ ÔÁËÏÇÏ ÄÉÓËÁ"
- #define ERR_NOT_MAC_DISK "îÅ ÄÉÓË Macintosh"
- #define ERR_VOL_EXTERNAL_FS "ôÏÍ ÐÒÉÎÁÄÌÅÖÉÔ ×ÎÅÛÎÅÊ ÆÁÊÌÏ×ÏÊ ÓÉÓÔÅÍÅ"
- #define ERR_PROBLEM_RENAME "ðÒÏÂÌÅÍÁ ÐÒÉ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÉ"
- #define ERR_BAD_MASTER_BLOCK "ðÌÏÈÏÊ ÇÌÁ×ÎÙÊ ÂÌÏË ËÁÔÁÌÏÇÁ"
- #define ERR_CANT_MOVE_FORBIDDEN "ðÏÐÙÔËÁ ÐÅÒÅÍÅÓÔÉÔØ ÚÁÐÒÅÝÅÎÁ"
- #define ERR_WRONG_VOL_TYPE "îÅ×ÅÒÎÙÊ ÔÉÐ ÔÏÍÁ"
- #define ERR_SERVER_VOL_LOST "óÅÒ×ÅÒÎÙÊ ÔÏÍ ÂÙÌ ÏÔÓÏÅÄÉÎÅÎ"
- #define ERR_FILE_ID_NOT_FOUND "éÄÅÎÔÉÆÉËÁÔÏÒ ÆÁÊÌÁ ÎÅ ÎÁÊÄÅÎ"
- #define ERR_FILE_ID_EXISTS "éÄÅÎÔÉÆÉËÁÔÏÒ ÆÁÊÌÁ ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
- #define ERR_SERVER_NO_RESPOND "óÅÒ×ÅÒ ÎÅ ÏÔ×ÅÞÁÅÔ"
- #define ERR_USER_AUTH_FAILED "éÄÅÎÔÉÆÉËÁÃÉÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÕÄÁÌÁÓØ"
- #define ERR_PWORD_EXPIRED "ðÁÒÏÌØ ÎÁ ÓÅÒ×ÅÒÅ ÕÓÔÁÒÅÌ"
- #define ERR_ACCESS_DENIED "ïÔËÁÚÁÎÏ × ÄÏÓÔÕÐÅ"
- #define ERR_NOT_A_DOS_DISK "îÅ ÄÉÓË DOS"
- #define ERR_SHARING_VIOLATION "îÁÒÕÛÅÎÉÅ ÓÏ×ÍÅÓÔÎÏÇÏ ÄÏÓÔÕÐÁ"
- #define ERR_CANNOT_MAKE "îÅ ÍÏÇÕ ÓÏÂÒÁÔØ"
- #define ERR_DEV_IN_USE "õÓÔÒÏÊÓÔ×Ï ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ"
- #define ERR_OPEN_FAILED "ïÔËÒÙÔÉÅ ÎÅ ÕÄÁÌÏÓØ"
- #define ERR_PIPE_BUSY "ëÏÎ×ÅÊÅÒ ÚÁÎÑÔ"
- #define ERR_SHARING_BUF_EXCEEDED "òÁÚÄÅÌÑÅÍÙÊ ÂÕÆÅÒ ÐÅÒÅÐÏÌÎÅÎ"
- #define ERR_TOO_MANY_HANDLES "óÌÉÛËÏÍ ÍÎÏÇÏ ÏÔËÒÙÔÙÈ ÄÅÓËÒÉÐÔÏÒÏ×"
- #define ERR_SEEK_ERROR "ïÛÉÂËÁ ÐÏÚÉÃÉÏÎÉÒÏ×ÁÎÉÑ"
- #define ERR_DEL_CWD "ðÏÐÙÔËÁ ÕÄÁÌÉÔØ ÔÅËÕÝÉÊ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ"
- #define ERR_WRITE_PROTECT_ERROR "ïÛÉÂËÁ ÚÁÝÉÔÙ ÚÁÐÉÓÉ"
- #define ERR_WRITE_FAULT "ïÛÉÂËÁ ÚÁÐÉÓÉ"
- #define ERR_LOCK_VIOLATION "îÁÒÕÛÅÎÉÅ ÂÌÏËÉÒÏ×ËÉ"
- #define ERR_GEN_FAILURE "ïÂÝÉÊ ÓÂÏÊ"
- #define ERR_UNCERTAIN_MEDIA "îÅÏÐÒÅÄÅÌÅÎÎÙÊ ÎÏÓÉÔÅÌØ"
- #define ERR_PROT_VIOLATION "îÁÒÕÛÅÎÉÅ ÚÁÝÉÔÙ"
- #define ERR_BROKEN_PIPE "óÌÏÍÁÎÎÙÊ ËÏÎ×ÅÊÅÒ"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_CP1251)
- #define DIR_ARCHIVE_DESCRIPTION "Íå àðõèâ, íåïîñðåäñòâåííûé ââîä/âûâîä ôàéëîâîé ñèñòåìû"
- #define GRP_ARCHIVE_DESCRIPTION "Ôîðìàò ãðóïïîâîãî ôàéëà Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ñîâìåñòèìûé"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" // FIXME: translate this line if needed
-
- #define ERR_IS_INITIALIZED "Óæå èíèöèàëèçèðîâàí"
- #define ERR_NOT_INITIALIZED "Íå èíèöèàëèçèðîâàí"
- #define ERR_INVALID_ARGUMENT "Íåâåðíûé àðãóìåíò"
- #define ERR_FILES_STILL_OPEN "Ôàéëû åùå îòêðûòû"
- #define ERR_NO_DIR_CREATE "Íå ìîãó ñîçäàòü êàòàëîãè"
- #define ERR_OUT_OF_MEMORY "Êîí÷èëàñü ïàìÿòü"
- #define ERR_NOT_IN_SEARCH_PATH "Íåò òàêîãî ýëåìåíòà â ïóòè ïîèñêà"
- #define ERR_NOT_SUPPORTED "Îïåðàöèÿ íå ïîääåðæèâàåòñÿ"
- #define ERR_UNSUPPORTED_ARCHIVE "Àðõèâû òàêîãî òèïà íå ïîääåðæèâàþòñÿ"
- #define ERR_NOT_A_HANDLE "Íå ôàéëîâûé äåñêðèïòîð"
- #define ERR_INSECURE_FNAME "Íåáåçîïàñíîå èìÿ ôàéëà"
- #define ERR_SYMLINK_DISALLOWED "Ñèìâîëüíûå ññûëêè îòêëþ÷åíû"
- #define ERR_NO_WRITE_DIR "Êàòàëîã äëÿ çàïèñè íå óñòàíîâëåí"
- #define ERR_NO_SUCH_FILE "Ôàéë íå íàéäåí"
- #define ERR_NO_SUCH_PATH "Ïóòü íå íàéäåí"
- #define ERR_NO_SUCH_VOLUME "Òîì íå íàéäåí"
- #define ERR_PAST_EOF "Çà êîíöîì ôàéëà"
- #define ERR_ARC_IS_READ_ONLY "Àðõèâ òîëüêî äëÿ ÷òåíèÿ"
- #define ERR_IO_ERROR "Îøèáêà ââîäà/âûâîäà"
- #define ERR_CANT_SET_WRITE_DIR "Íå ìîãó óñòàíîâèòü êàòàëîã äëÿ çàïèñè"
- #define ERR_SYMLINK_LOOP "Áåñêîíå÷íûé öèêë ñèìâîëüíîé ññûëêè"
- #define ERR_COMPRESSION "Îøèáêà (Ðàñ)ïàêîâêè"
- #define ERR_NOT_IMPLEMENTED "Íå ðåàëèçîâàíî"
- #define ERR_OS_ERROR "Îïåðàöèîííàÿ ñèñòåìà ñîîáùèëà îøèáêó"
- #define ERR_FILE_EXISTS "Ôàéë óæå ñóùåñòâóåò"
- #define ERR_NOT_A_FILE "Íå ôàéë"
- #define ERR_NOT_A_DIR "Íå êàòàëîã"
- #define ERR_NOT_AN_ARCHIVE "Íå àðõèâ"
- #define ERR_CORRUPTED "Ïîâðåæäåííûé àðõèâ"
- #define ERR_SEEK_OUT_OF_RANGE "Ïîçèöèîíèðîâàíèå çà ïðåäåëû"
- #define ERR_BAD_FILENAME "Íåâåðíîå èìÿ ôàéëà"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS âûïîëíèëà íåâåðíûé ñèñòåìíûé âûçîâ"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: íóæåí ñëîâàðü"
- #define ERR_ZLIB_DATA_ERROR "zlib: îøèáêà äàííûõ"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: îøèáêà ïàìÿòè"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: îøèáêà áóôåðà"
- #define ERR_ZLIB_VERSION_ERROR "zlib: îøèáêà âåðñèè"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: íåèçâåñòíàÿ îøèáêà"
- #define ERR_SEARCHPATH_TRUNC "Ïóòü ïîèñêà îáðåçàí"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() îáðåçàí"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() íå ïîëó÷èë êàòàëîã"
- #define ERR_DISK_FULL "Äèñê ïîëîí"
- #define ERR_DIRECTORY_FULL "Êàòàëîã ïîëîí"
- #define ERR_MACOS_GENERIC "MacOS ñîîáùèëà îøèáêó (%d)"
- #define ERR_OS2_GENERIC "OS/2 ñîîáùèëà îøèáêó (%d)"
- #define ERR_VOL_LOCKED_HW "Òîì áëîêèðîâàí àïïàðàòíî"
- #define ERR_VOL_LOCKED_SW "Òîì áëîêèðîâàí ïðîãðàììíî"
- #define ERR_FILE_LOCKED "Ôàéë çàáëîêèðîâàí"
- #define ERR_FILE_OR_DIR_BUSY "Ôàéë/êàòàëîã çàíÿò"
- #define ERR_FILE_ALREADY_OPEN_W "Ôàéë óæå îòêðûò íà çàïèñü"
- #define ERR_FILE_ALREADY_OPEN_R "Ôàéë óæå îòêðûò íà ÷òåíèå"
- #define ERR_INVALID_REFNUM "Íåâåðíîå êîëè÷åñòâî ññûëîê"
- #define ERR_GETTING_FILE_POS "Îøèáêà ïðè ïîëó÷åíèè ïîçèöèè ôàéëà"
- #define ERR_VOLUME_OFFLINE "Òîì îòñîåäèíåí"
- #define ERR_PERMISSION_DENIED "Îòêàçàíî â ðàçðåøåíèè"
- #define ERR_VOL_ALREADY_ONLINE "Òîì óæå ïîäñîåäèíåí"
- #define ERR_NO_SUCH_DRIVE "Íåò òàêîãî äèñêà"
- #define ERR_NOT_MAC_DISK "Íå äèñê Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Òîì ïðèíàäëåæèò âíåøíåé ôàéëîâîé ñèñòåìå"
- #define ERR_PROBLEM_RENAME "Ïðîáëåìà ïðè ïåðåèìåíîâàíèè"
- #define ERR_BAD_MASTER_BLOCK "Ïëîõîé ãëàâíûé áëîê êàòàëîãà"
- #define ERR_CANT_MOVE_FORBIDDEN "Ïîïûòêà ïåðåìåñòèòü çàïðåùåíà"
- #define ERR_WRONG_VOL_TYPE "Íåâåðíûé òèï òîìà"
- #define ERR_SERVER_VOL_LOST "Ñåðâåðíûé òîì áûë îòñîåäèíåí"
- #define ERR_FILE_ID_NOT_FOUND "Èäåíòèôèêàòîð ôàéëà íå íàéäåí"
- #define ERR_FILE_ID_EXISTS "Èäåíòèôèêàòîð ôàéëà óæå ñóùåñòâóåò"
- #define ERR_SERVER_NO_RESPOND "Ñåðâåð íå îòâå÷àåò"
- #define ERR_USER_AUTH_FAILED "Èäåíòèôèêàöèÿ ïîëüçîâàòåëÿ íå óäàëàñü"
- #define ERR_PWORD_EXPIRED "Ïàðîëü íà ñåðâåðå óñòàðåë"
- #define ERR_ACCESS_DENIED "Îòêàçàíî â äîñòóïå"
- #define ERR_NOT_A_DOS_DISK "Íå äèñê DOS"
- #define ERR_SHARING_VIOLATION "Íàðóøåíèå ñîâìåñòíîãî äîñòóïà"
- #define ERR_CANNOT_MAKE "Íå ìîãó ñîáðàòü"
- #define ERR_DEV_IN_USE "Óñòðîéñòâî óæå èñïîëüçóåòñÿ"
- #define ERR_OPEN_FAILED "Îòêðûòèå íå óäàëîñü"
- #define ERR_PIPE_BUSY "Êîíâåéåð çàíÿò"
- #define ERR_SHARING_BUF_EXCEEDED "Ðàçäåëÿåìûé áóôåð ïåðåïîëíåí"
- #define ERR_TOO_MANY_HANDLES "Ñëèøêîì ìíîãî îòêðûòûõ äåñêðèïòîðîâ"
- #define ERR_SEEK_ERROR "Îøèáêà ïîçèöèîíèðîâàíèÿ"
- #define ERR_DEL_CWD "Ïîïûòêà óäàëèòü òåêóùèé ðàáî÷èé êàòàëîã"
- #define ERR_WRITE_PROTECT_ERROR "Îøèáêà çàùèòû çàïèñè"
- #define ERR_WRITE_FAULT "Îøèáêà çàïèñè"
- #define ERR_LOCK_VIOLATION "Íàðóøåíèå áëîêèðîâêè"
- #define ERR_GEN_FAILURE "Îáùèé ñáîé"
- #define ERR_UNCERTAIN_MEDIA "Íåîïðåäåëåííûé íîñèòåëü"
- #define ERR_PROT_VIOLATION "Íàðóøåíèå çàùèòû"
- #define ERR_BROKEN_PIPE "Ñëîìàííûé êîíâåéåð"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_CP866)
- #define DIR_ARCHIVE_DESCRIPTION "¥ à娢, ¥¯®á।áâ¢¥ë© ¢¢®¤/¢ë¢®¤ ä ©«®¢®© á¨á⥬ë"
- #define GRP_ARCHIVE_DESCRIPTION "®à¬ â £à㯯®¢®£® ä ©« Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip ᮢ¬¥á⨬ë©"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" // FIXME: Translate this line if needed
-
- #define ERR_IS_INITIALIZED "¦¥ ¨¨æ¨ «¨§¨à®¢ "
- #define ERR_NOT_INITIALIZED "¥ ¨¨æ¨ «¨§¨à®¢ "
- #define ERR_INVALID_ARGUMENT "¥¢¥àë© à£ã¬¥â"
- #define ERR_FILES_STILL_OPEN " ©«ë ¥é¥ ®âªàëâë"
- #define ERR_NO_DIR_CREATE "¥ ¬®£ã ᮧ¤ âì ª â «®£¨"
- #define ERR_OUT_OF_MEMORY "®ç¨« áì ¯ ¬ïâì"
- #define ERR_NOT_IN_SEARCH_PATH "¥â â ª®£® í«¥¬¥â ¢ ¯ã⨠¯®¨áª "
- #define ERR_NOT_SUPPORTED "¯¥à æ¨ï ¥ ¯®¤¤¥à¦¨¢ ¥âáï"
- #define ERR_UNSUPPORTED_ARCHIVE "à娢ë â ª®£® ⨯ ¥ ¯®¤¤¥à¦¨¢ îâáï"
- #define ERR_NOT_A_HANDLE "¥ ä ©«®¢ë© ¤¥áªà¨¯â®à"
- #define ERR_INSECURE_FNAME "¥¡¥§®¯ ᮥ ¨¬ï ä ©« "
- #define ERR_SYMLINK_DISALLOWED "¨¬¢®«ìë¥ áá뫪¨ ®âª«îç¥ë"
- #define ERR_NO_WRITE_DIR " â «®£ ¤«ï § ¯¨á¨ ¥ ãáâ ®¢«¥"
- #define ERR_NO_SUCH_FILE " ©« ¥ ©¤¥"
- #define ERR_NO_SUCH_PATH "ãâì ¥ ©¤¥"
- #define ERR_NO_SUCH_VOLUME "®¬ ¥ ©¤¥"
- #define ERR_PAST_EOF " ª®æ®¬ ä ©« "
- #define ERR_ARC_IS_READ_ONLY "à娢 ⮫쪮 ¤«ï ç⥨ï"
- #define ERR_IO_ERROR "訡ª ¢¢®¤ /¢ë¢®¤ "
- #define ERR_CANT_SET_WRITE_DIR "¥ ¬®£ã ãáâ ®¢¨âì ª â «®£ ¤«ï § ¯¨á¨"
- #define ERR_SYMLINK_LOOP "¥áª®¥çë© æ¨ª« ᨬ¢®«ì®© áá뫪¨"
- #define ERR_COMPRESSION "訡ª ( á)¯ ª®¢ª¨"
- #define ERR_NOT_IMPLEMENTED "¥ ॠ«¨§®¢ ®"
- #define ERR_OS_ERROR "¯¥à 樮 ï á¨á⥬ á®®¡é¨« ®è¨¡ªã"
- #define ERR_FILE_EXISTS " ©« 㦥 áãé¥áâ¢ã¥â"
- #define ERR_NOT_A_FILE "¥ ä ©«"
- #define ERR_NOT_A_DIR "¥ ª â «®£"
- #define ERR_NOT_AN_ARCHIVE "¥ à娢"
- #define ERR_CORRUPTED "®¢à¥¦¤¥ë© à娢"
- #define ERR_SEEK_OUT_OF_RANGE "®§¨æ¨®¨à®¢ ¨¥ § ¯à¥¤¥«ë"
- #define ERR_BAD_FILENAME "¥¢¥à®¥ ¨¬ï ä ©« "
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ¢ë¯®«¨« ¥¢¥àë© á¨áâ¥¬ë© ¢ë§®¢"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: 㦥 á«®¢ àì"
- #define ERR_ZLIB_DATA_ERROR "zlib: ®è¨¡ª ¤ ëå"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: ®è¨¡ª ¯ ¬ïâ¨"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: ®è¨¡ª ¡ãä¥à "
- #define ERR_ZLIB_VERSION_ERROR "zlib: ®è¨¡ª ¢¥àᨨ"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: ¥¨§¢¥áâ ï ®è¨¡ª "
- #define ERR_SEARCHPATH_TRUNC "ãâì ¯®¨áª ®¡à¥§ "
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ®¡à¥§ "
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ¥ ¯®«ã稫 ª â «®£"
- #define ERR_DISK_FULL "¨áª ¯®«®"
- #define ERR_DIRECTORY_FULL " â «®£ ¯®«®"
- #define ERR_MACOS_GENERIC "MacOS á®®¡é¨« ®è¨¡ªã (%d)"
- #define ERR_OS2_GENERIC "OS/2 á®®¡é¨« ®è¨¡ªã (%d)"
- #define ERR_VOL_LOCKED_HW "®¬ ¡«®ª¨à®¢ ¯¯ à â®"
- #define ERR_VOL_LOCKED_SW "®¬ ¡«®ª¨à®¢ ¯à®£à ¬¬®"
- #define ERR_FILE_LOCKED " ©« § ¡«®ª¨à®¢ "
- #define ERR_FILE_OR_DIR_BUSY " ©«/ª â «®£ § ïâ"
- #define ERR_FILE_ALREADY_OPEN_W " ©« 㦥 ®âªàëâ § ¯¨áì"
- #define ERR_FILE_ALREADY_OPEN_R " ©« 㦥 ®âªàëâ ç⥨¥"
- #define ERR_INVALID_REFNUM "¥¢¥à®¥ ª®«¨ç¥á⢮ ááë«®ª"
- #define ERR_GETTING_FILE_POS "訡ª ¯à¨ ¯®«ã票¨ ¯®§¨æ¨¨ ä ©« "
- #define ERR_VOLUME_OFFLINE "®¬ ®âᮥ¤¨¥"
- #define ERR_PERMISSION_DENIED "⪠§ ® ¢ à §à¥è¥¨¨"
- #define ERR_VOL_ALREADY_ONLINE "®¬ 㦥 ¯®¤á®¥¤¨¥"
- #define ERR_NO_SUCH_DRIVE "¥â â ª®£® ¤¨áª "
- #define ERR_NOT_MAC_DISK "¥ ¤¨áª Macintosh"
- #define ERR_VOL_EXTERNAL_FS "®¬ ¯à¨ ¤«¥¦¨â ¢¥è¥© ä ©«®¢®© á¨á⥬¥"
- #define ERR_PROBLEM_RENAME "஡«¥¬ ¯à¨ ¯¥à¥¨¬¥®¢ ¨¨"
- #define ERR_BAD_MASTER_BLOCK "«®å®© £« ¢ë© ¡«®ª ª â «®£ "
- #define ERR_CANT_MOVE_FORBIDDEN "®¯ë⪠¯¥à¥¬¥áâ¨âì § ¯à¥é¥ "
- #define ERR_WRONG_VOL_TYPE "¥¢¥àë© â¨¯ ⮬ "
- #define ERR_SERVER_VOL_LOST "¥à¢¥àë© â®¬ ¡ë« ®âᮥ¤¨¥"
- #define ERR_FILE_ID_NOT_FOUND "¤¥â¨ä¨ª â®à ä ©« ¥ ©¤¥"
- #define ERR_FILE_ID_EXISTS "¤¥â¨ä¨ª â®à ä ©« 㦥 áãé¥áâ¢ã¥â"
- #define ERR_SERVER_NO_RESPOND "¥à¢¥à ¥ ®â¢¥ç ¥â"
- #define ERR_USER_AUTH_FAILED "¤¥â¨ä¨ª æ¨ï ¯®«ì§®¢ â¥«ï ¥ 㤠« áì"
- #define ERR_PWORD_EXPIRED " ஫ì á¥à¢¥à¥ ãáâ ५"
- #define ERR_ACCESS_DENIED "⪠§ ® ¢ ¤®áâ㯥"
- #define ERR_NOT_A_DOS_DISK "¥ ¤¨áª DOS"
- #define ERR_SHARING_VIOLATION " àã襨¥ ᮢ¬¥á⮣® ¤®áâ㯠"
- #define ERR_CANNOT_MAKE "¥ ¬®£ã ᮡà âì"
- #define ERR_DEV_IN_USE "áâனá⢮ 㦥 ¨á¯®«ì§ã¥âáï"
- #define ERR_OPEN_FAILED "âªàë⨥ ¥ 㤠«®áì"
- #define ERR_PIPE_BUSY "®¢¥©¥à § ïâ"
- #define ERR_SHARING_BUF_EXCEEDED " §¤¥«ï¥¬ë© ¡ãä¥à ¯¥à¥¯®«¥"
- #define ERR_TOO_MANY_HANDLES "«¨èª®¬ ¬®£® ®âªàëâëå ¤¥áªà¨¯â®à®¢"
- #define ERR_SEEK_ERROR "訡ª ¯®§¨æ¨®¨à®¢ ¨ï"
- #define ERR_DEL_CWD "®¯ë⪠㤠«¨âì ⥪ã騩 à ¡®ç¨© ª â «®£"
- #define ERR_WRITE_PROTECT_ERROR "訡ª § é¨âë § ¯¨á¨"
- #define ERR_WRITE_FAULT "訡ª § ¯¨á¨"
- #define ERR_LOCK_VIOLATION " àã襨¥ ¡«®ª¨à®¢ª¨"
- #define ERR_GEN_FAILURE "¡é¨© á¡®©"
- #define ERR_UNCERTAIN_MEDIA "¥®¯à¥¤¥«¥ë© ®á¨â¥«ì"
- #define ERR_PROT_VIOLATION " àã襨¥ § é¨âë"
- #define ERR_BROKEN_PIPE "«®¬ ë© ª®¢¥©¥à"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_RUSSIAN_ISO_8859_5)
- #define DIR_ARCHIVE_DESCRIPTION "½Õ ÐàåØÒ, ÝÕßÞáàÕÔáâÒÕÝÝëÙ ÒÒÞÔ/ÒëÒÞÔ äÐÙÛÞÒÞÙ áØáâÕÜë"
- #define GRP_ARCHIVE_DESCRIPTION "ÄÞàÜÐâ ÓàãßßÞÒÞÓÞ äÐÙÛÐ Build engine"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define ZIP_ARCHIVE_DESCRIPTION "PkZip/WinZip/Info-Zip áÞÒÜÕáâØÜëÙ"
- #define WAD_ARCHIVE_DESCRIPTION "DOOM engine format" // FIXME: translate this line if needed
-
- #define ERR_IS_INITIALIZED "ÃÖÕ ØÝØæØÐÛØ×ØàÞÒÐÝ"
- #define ERR_NOT_INITIALIZED "½Õ ØÝØæØÐÛØ×ØàÞÒÐÝ"
- #define ERR_INVALID_ARGUMENT "½ÕÒÕàÝëÙ ÐàÓãÜÕÝâ"
- #define ERR_FILES_STILL_OPEN "ÄÐÙÛë ÕéÕ ÞâÚàëâë"
- #define ERR_NO_DIR_CREATE "½Õ ÜÞÓã áÞ×ÔÐâì ÚÐâÐÛÞÓØ"
- #define ERR_OUT_OF_MEMORY "ºÞÝçØÛÐáì ßÐÜïâì"
- #define ERR_NOT_IN_SEARCH_PATH "½Õâ âÐÚÞÓÞ íÛÕÜÕÝâÐ Ò ßãâØ ßÞØáÚÐ"
- #define ERR_NOT_SUPPORTED "¾ßÕàÐæØï ÝÕ ßÞÔÔÕàÖØÒÐÕâáï"
- #define ERR_UNSUPPORTED_ARCHIVE "°àåØÒë âÐÚÞÓÞ âØßÐ ÝÕ ßÞÔÔÕàÖØÒÐîâáï"
- #define ERR_NOT_A_HANDLE "½Õ äÐÙÛÞÒëÙ ÔÕáÚàØßâÞà"
- #define ERR_INSECURE_FNAME "½ÕÑÕ×ÞßÐáÝÞÕ ØÜï äÐÙÛÐ"
- #define ERR_SYMLINK_DISALLOWED "ÁØÜÒÞÛìÝëÕ ááëÛÚØ ÞâÚÛîçÕÝë"
- #define ERR_NO_WRITE_DIR "ºÐâÐÛÞÓ ÔÛï ×ÐßØáØ ÝÕ ãáâÐÝÞÒÛÕÝ"
- #define ERR_NO_SUCH_FILE "ÄÐÙÛ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_NO_SUCH_PATH "¿ãâì ÝÕ ÝÐÙÔÕÝ"
- #define ERR_NO_SUCH_VOLUME "ÂÞÜ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_PAST_EOF "·Ð ÚÞÝæÞÜ äÐÙÛÐ"
- #define ERR_ARC_IS_READ_ONLY "°àåØÒ âÞÛìÚÞ ÔÛï çâÕÝØï"
- #define ERR_IO_ERROR "¾èØÑÚÐ ÒÒÞÔÐ/ÒëÒÞÔÐ"
- #define ERR_CANT_SET_WRITE_DIR "½Õ ÜÞÓã ãáâÐÝÞÒØâì ÚÐâÐÛÞÓ ÔÛï ×ÐßØáØ"
- #define ERR_SYMLINK_LOOP "±ÕáÚÞÝÕçÝëÙ æØÚÛ áØÜÒÞÛìÝÞÙ ááëÛÚØ"
- #define ERR_COMPRESSION "¾èØÑÚÐ (ÀÐá)ßÐÚÞÒÚØ"
- #define ERR_NOT_IMPLEMENTED "½Õ àÕÐÛØ×ÞÒÐÝÞ"
- #define ERR_OS_ERROR "¾ßÕàÐæØÞÝÝÐï áØáâÕÜÐ áÞÞÑéØÛÐ ÞèØÑÚã"
- #define ERR_FILE_EXISTS "ÄÐÙÛ ãÖÕ áãéÕáâÒãÕâ"
- #define ERR_NOT_A_FILE "½Õ äÐÙÛ"
- #define ERR_NOT_A_DIR "½Õ ÚÐâÐÛÞÓ"
- #define ERR_NOT_AN_ARCHIVE "½Õ ÐàåØÒ"
- #define ERR_CORRUPTED "¿ÞÒàÕÖÔÕÝÝëÙ ÐàåØÒ"
- #define ERR_SEEK_OUT_OF_RANGE "¿Þ×ØæØÞÝØàÞÒÐÝØÕ ×Ð ßàÕÔÕÛë"
- #define ERR_BAD_FILENAME "½ÕÒÕàÝÞÕ ØÜï äÐÙÛÐ"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ÒëßÞÛÝØÛÐ ÝÕÒÕàÝëÙ áØáâÕÜÝëÙ Òë×ÞÒ"
- #define ERR_ARGV0_IS_NULL "argv0 is NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: ÝãÖÕÝ áÛÞÒÐàì"
- #define ERR_ZLIB_DATA_ERROR "zlib: ÞèØÑÚÐ ÔÐÝÝëå"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: ÞèØÑÚÐ ßÐÜïâØ"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: ÞèØÑÚÐ ÑãäÕàÐ"
- #define ERR_ZLIB_VERSION_ERROR "zlib: ÞèØÑÚÐ ÒÕàáØØ"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: ÝÕØ×ÒÕáâÝÐï ÞèØÑÚÐ"
- #define ERR_SEARCHPATH_TRUNC "¿ãâì ßÞØáÚÐ ÞÑàÕ×ÐÝ"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ÞÑàÕ×ÐÝ"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() ÝÕ ßÞÛãçØÛ ÚÐâÐÛÞÓ"
- #define ERR_DISK_FULL "´ØáÚ ßÞÛÞÝ"
- #define ERR_DIRECTORY_FULL "ºÐâÐÛÞÓ ßÞÛÞÝ"
- #define ERR_MACOS_GENERIC "MacOS áÞÞÑéØÛÐ ÞèØÑÚã (%d)"
- #define ERR_OS2_GENERIC "OS/2 áÞÞÑéØÛÐ ÞèØÑÚã (%d)"
- #define ERR_VOL_LOCKED_HW "ÂÞÜ ÑÛÞÚØàÞÒÐÝ ÐßßÐàÐâÝÞ"
- #define ERR_VOL_LOCKED_SW "ÂÞÜ ÑÛÞÚØàÞÒÐÝ ßàÞÓàÐÜÜÝÞ"
- #define ERR_FILE_LOCKED "ÄÐÙÛ ×ÐÑÛÞÚØàÞÒÐÝ"
- #define ERR_FILE_OR_DIR_BUSY "ÄÐÙÛ/ÚÐâÐÛÞÓ ×ÐÝïâ"
- #define ERR_FILE_ALREADY_OPEN_W "ÄÐÙÛ ãÖÕ ÞâÚàëâ ÝÐ ×ÐßØáì"
- #define ERR_FILE_ALREADY_OPEN_R "ÄÐÙÛ ãÖÕ ÞâÚàëâ ÝÐ çâÕÝØÕ"
- #define ERR_INVALID_REFNUM "½ÕÒÕàÝÞÕ ÚÞÛØçÕáâÒÞ ááëÛÞÚ"
- #define ERR_GETTING_FILE_POS "¾èØÑÚÐ ßàØ ßÞÛãçÕÝØØ ßÞ×ØæØØ äÐÙÛÐ"
- #define ERR_VOLUME_OFFLINE "ÂÞÜ ÞâáÞÕÔØÝÕÝ"
- #define ERR_PERMISSION_DENIED "¾âÚÐ×ÐÝÞ Ò àÐ×àÕèÕÝØØ"
- #define ERR_VOL_ALREADY_ONLINE "ÂÞÜ ãÖÕ ßÞÔáÞÕÔØÝÕÝ"
- #define ERR_NO_SUCH_DRIVE "½Õâ âÐÚÞÓÞ ÔØáÚÐ"
- #define ERR_NOT_MAC_DISK "½Õ ÔØáÚ Macintosh"
- #define ERR_VOL_EXTERNAL_FS "ÂÞÜ ßàØÝÐÔÛÕÖØâ ÒÝÕèÝÕÙ äÐÙÛÞÒÞÙ áØáâÕÜÕ"
- #define ERR_PROBLEM_RENAME "¿àÞÑÛÕÜÐ ßàØ ßÕàÕØÜÕÝÞÒÐÝØØ"
- #define ERR_BAD_MASTER_BLOCK "¿ÛÞåÞÙ ÓÛÐÒÝëÙ ÑÛÞÚ ÚÐâÐÛÞÓÐ"
- #define ERR_CANT_MOVE_FORBIDDEN "¿ÞßëâÚÐ ßÕàÕÜÕáâØâì ×ÐßàÕéÕÝÐ"
- #define ERR_WRONG_VOL_TYPE "½ÕÒÕàÝëÙ âØß âÞÜÐ"
- #define ERR_SERVER_VOL_LOST "ÁÕàÒÕàÝëÙ âÞÜ ÑëÛ ÞâáÞÕÔØÝÕÝ"
- #define ERR_FILE_ID_NOT_FOUND "¸ÔÕÝâØäØÚÐâÞà äÐÙÛÐ ÝÕ ÝÐÙÔÕÝ"
- #define ERR_FILE_ID_EXISTS "¸ÔÕÝâØäØÚÐâÞà äÐÙÛÐ ãÖÕ áãéÕáâÒãÕâ"
- #define ERR_SERVER_NO_RESPOND "ÁÕàÒÕà ÝÕ ÞâÒÕçÐÕâ"
- #define ERR_USER_AUTH_FAILED "¸ÔÕÝâØäØÚÐæØï ßÞÛì×ÞÒÐâÕÛï ÝÕ ãÔÐÛÐáì"
- #define ERR_PWORD_EXPIRED "¿ÐàÞÛì ÝÐ áÕàÒÕàÕ ãáâÐàÕÛ"
- #define ERR_ACCESS_DENIED "¾âÚÐ×ÐÝÞ Ò ÔÞáâãßÕ"
- #define ERR_NOT_A_DOS_DISK "½Õ ÔØáÚ DOS"
- #define ERR_SHARING_VIOLATION "½ÐàãèÕÝØÕ áÞÒÜÕáâÝÞÓÞ ÔÞáâãßÐ"
- #define ERR_CANNOT_MAKE "½Õ ÜÞÓã áÞÑàÐâì"
- #define ERR_DEV_IN_USE "ÃáâàÞÙáâÒÞ ãÖÕ ØáßÞÛì×ãÕâáï"
- #define ERR_OPEN_FAILED "¾âÚàëâØÕ ÝÕ ãÔÐÛÞáì"
- #define ERR_PIPE_BUSY "ºÞÝÒÕÙÕà ×ÐÝïâ"
- #define ERR_SHARING_BUF_EXCEEDED "ÀÐ×ÔÕÛïÕÜëÙ ÑãäÕà ßÕàÕßÞÛÝÕÝ"
- #define ERR_TOO_MANY_HANDLES "ÁÛØèÚÞÜ ÜÝÞÓÞ ÞâÚàëâëå ÔÕáÚàØßâÞàÞÒ"
- #define ERR_SEEK_ERROR "¾èØÑÚÐ ßÞ×ØæØÞÝØàÞÒÐÝØï"
- #define ERR_DEL_CWD "¿ÞßëâÚÐ ãÔÐÛØâì âÕÚãéØÙ àÐÑÞçØÙ ÚÐâÐÛÞÓ"
- #define ERR_WRITE_PROTECT_ERROR "¾èØÑÚÐ ×ÐéØâë ×ÐßØáØ"
- #define ERR_WRITE_FAULT "¾èØÑÚÐ ×ÐßØáØ"
- #define ERR_LOCK_VIOLATION "½ÐàãèÕÝØÕ ÑÛÞÚØàÞÒÚØ"
- #define ERR_GEN_FAILURE "¾ÑéØÙ áÑÞÙ"
- #define ERR_UNCERTAIN_MEDIA "½ÕÞßàÕÔÕÛÕÝÝëÙ ÝÞáØâÕÛì"
- #define ERR_PROT_VIOLATION "½ÐàãèÕÝØÕ ×ÐéØâë"
- #define ERR_BROKEN_PIPE "ÁÛÞÜÐÝÝëÙ ÚÞÝÒÕÙÕà"
-
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_FRENCH)
- #define DIR_ARCHIVE_DESCRIPTION "Pas d'archive, E/S directes sur système de fichiers"
- #define GRP_ARCHIVE_DESCRIPTION "Format Groupfile du moteur Build"
- #define HOG_ARCHIVE_DESCRIPTION "Descent I/II HOG file format"
- #define MVL_ARCHIVE_DESCRIPTION "Descent II Movielib format"
- #define QPAK_ARCHIVE_DESCRIPTION "Quake I/II format"
- #define ZIP_ARCHIVE_DESCRIPTION "Compatible PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "Format WAD du moteur DOOM"
-
- #define ERR_IS_INITIALIZED "Déjà initialisé"
- #define ERR_NOT_INITIALIZED "Non initialisé"
- #define ERR_INVALID_ARGUMENT "Argument invalide"
- #define ERR_FILES_STILL_OPEN "Fichiers encore ouverts"
- #define ERR_NO_DIR_CREATE "Echec de la création de répertoires"
- #define ERR_OUT_OF_MEMORY "A court de mémoire"
- #define ERR_NOT_IN_SEARCH_PATH "Aucune entrée dans le chemin de recherche"
- #define ERR_NOT_SUPPORTED "Opération non supportée"
- #define ERR_UNSUPPORTED_ARCHIVE "Type d'archive non supportée"
- #define ERR_NOT_A_HANDLE "Pas un descripteur de fichier"
- #define ERR_INSECURE_FNAME "Nom de fichier dangereux"
- #define ERR_SYMLINK_DISALLOWED "Les liens symboliques sont désactivés"
- #define ERR_NO_WRITE_DIR "Le répertoire d'écriture n'est pas spécifié"
- #define ERR_NO_SUCH_FILE "Fichier non trouvé"
- #define ERR_NO_SUCH_PATH "Chemin non trouvé"
- #define ERR_NO_SUCH_VOLUME "Volume non trouvé"
- #define ERR_PAST_EOF "Au-delà de la fin du fichier"
- #define ERR_ARC_IS_READ_ONLY "L'archive est en lecture seule"
- #define ERR_IO_ERROR "Erreur E/S"
- #define ERR_CANT_SET_WRITE_DIR "Ne peut utiliser le répertoire d'écriture"
- #define ERR_SYMLINK_LOOP "Boucle infinie dans les liens symboliques"
- #define ERR_COMPRESSION "Erreur de (dé)compression"
- #define ERR_NOT_IMPLEMENTED "Non implémenté"
- #define ERR_OS_ERROR "Erreur rapportée par le système d'exploitation"
- #define ERR_FILE_EXISTS "Le fichier existe déjà"
- #define ERR_NOT_A_FILE "Pas un fichier"
- #define ERR_NOT_A_DIR "Pas un répertoire"
- #define ERR_NOT_AN_ARCHIVE "Pas une archive"
- #define ERR_CORRUPTED "Archive corrompue"
- #define ERR_SEEK_OUT_OF_RANGE "Pointeur de fichier hors de portée"
- #define ERR_BAD_FILENAME "Mauvais nom de fichier"
- #define ERR_PHYSFS_BAD_OS_CALL "(BOGUE) PhysicsFS a fait un mauvais appel système, le salaud"
- #define ERR_ARGV0_IS_NULL "argv0 est NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: a besoin du dico"
- #define ERR_ZLIB_DATA_ERROR "zlib: erreur de données"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: erreur mémoire"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: erreur tampon"
- #define ERR_ZLIB_VERSION_ERROR "zlib: erreur de version"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: erreur inconnue"
- #define ERR_SEARCHPATH_TRUNC "Le chemin de recherche a été tronqué"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() a été tronqué"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() n'a pas de répertoire"
- #define ERR_DISK_FULL "Disque plein"
- #define ERR_DIRECTORY_FULL "Répertoire plein"
- #define ERR_MACOS_GENERIC "Erreur rapportée par MacOS (%d)"
- #define ERR_OS2_GENERIC "Erreur rapportée par OS/2 (%d)"
- #define ERR_VOL_LOCKED_HW "Le volume est verrouillé matériellement"
- #define ERR_VOL_LOCKED_SW "Le volume est verrouillé par logiciel"
- #define ERR_FILE_LOCKED "Fichier verrouillé"
- #define ERR_FILE_OR_DIR_BUSY "Fichier/répertoire occupé"
- #define ERR_FILE_ALREADY_OPEN_W "Fichier déjà ouvert en écriture"
- #define ERR_FILE_ALREADY_OPEN_R "Fichier déjà ouvert en lecture"
- #define ERR_INVALID_REFNUM "Numéro de référence invalide"
- #define ERR_GETTING_FILE_POS "Erreur lors de l'obtention de la position du pointeur de fichier"
- #define ERR_VOLUME_OFFLINE "Le volume n'est pas en ligne"
- #define ERR_PERMISSION_DENIED "Permission refusée"
- #define ERR_VOL_ALREADY_ONLINE "Volumé déjà en ligne"
- #define ERR_NO_SUCH_DRIVE "Lecteur inexistant"
- #define ERR_NOT_MAC_DISK "Pas un disque Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Le volume appartient à un système de fichiers externe"
- #define ERR_PROBLEM_RENAME "Problème lors du renommage"
- #define ERR_BAD_MASTER_BLOCK "Mauvais block maitre de répertoire"
- #define ERR_CANT_MOVE_FORBIDDEN "Essai de déplacement interdit"
- #define ERR_WRONG_VOL_TYPE "Mauvais type de volume"
- #define ERR_SERVER_VOL_LOST "Le volume serveur a été déconnecté"
- #define ERR_FILE_ID_NOT_FOUND "Identificateur de fichier non trouvé"
- #define ERR_FILE_ID_EXISTS "Identificateur de fichier existe déjà"
- #define ERR_SERVER_NO_RESPOND "Le serveur ne répond pas"
- #define ERR_USER_AUTH_FAILED "Authentification de l'utilisateur échouée"
- #define ERR_PWORD_EXPIRED "Le mot de passe a expiré sur le serveur"
- #define ERR_ACCESS_DENIED "Accès refusé"
- #define ERR_NOT_A_DOS_DISK "Pas un disque DOS"
- #define ERR_SHARING_VIOLATION "Violation de partage"
- #define ERR_CANNOT_MAKE "Ne peut faire"
- #define ERR_DEV_IN_USE "Périphérique déjà en utilisation"
- #define ERR_OPEN_FAILED "Ouverture échouée"
- #define ERR_PIPE_BUSY "Le tube est occupé"
- #define ERR_SHARING_BUF_EXCEEDED "Tampon de partage dépassé"
- #define ERR_TOO_MANY_HANDLES "Trop de descripteurs ouverts"
- #define ERR_SEEK_ERROR "Erreur de positionement"
- #define ERR_DEL_CWD "Essai de supprimer le répertoire courant"
- #define ERR_WRITE_PROTECT_ERROR "Erreur de protection en écriture"
- #define ERR_WRITE_FAULT "Erreur d'écriture"
- #define ERR_LOCK_VIOLATION "Violation de verrou"
- #define ERR_GEN_FAILURE "Echec général"
- #define ERR_UNCERTAIN_MEDIA "Média incertain"
- #define ERR_PROT_VIOLATION "Violation de protection"
- #define ERR_BROKEN_PIPE "Tube cassé"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_PORTUGUESE_BR)
- #define DIR_ARCHIVE_DESCRIPTION "Não arquivo, E/S sistema de arquivos direto"
- #define GRP_ARCHIVE_DESCRIPTION "Formato Groupfile do engine Build"
- #define HOG_ARCHIVE_DESCRIPTION "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION "Formato compatível PkZip/WinZip/Info-Zip"
- #define WAD_ARCHIVE_DESCRIPTION "Formato WAD do engine DOOM"
-
- #define ERR_IS_INITIALIZED "Já inicializado"
- #define ERR_NOT_INITIALIZED "Não inicializado"
- #define ERR_INVALID_ARGUMENT "Argumento inválido"
- #define ERR_FILES_STILL_OPEN "Arquivos ainda abertos"
- #define ERR_NO_DIR_CREATE "Falha na criação de diretórios"
- #define ERR_OUT_OF_MEMORY "Memória insuficiente"
- #define ERR_NOT_IN_SEARCH_PATH "Entrada não encontrada no caminho de busca"
- #define ERR_NOT_SUPPORTED "Operação não suportada"
- #define ERR_UNSUPPORTED_ARCHIVE "Tipo de arquivo não suportado"
- #define ERR_NOT_A_HANDLE "Não é um handler de arquivo"
- #define ERR_INSECURE_FNAME "Nome de arquivo inseguro"
- #define ERR_SYMLINK_DISALLOWED "Links simbólicos desabilitados"
- #define ERR_NO_WRITE_DIR "Diretório de escrita não definido"
- #define ERR_NO_SUCH_FILE "Arquivo não encontrado"
- #define ERR_NO_SUCH_PATH "Caminho não encontrado"
- #define ERR_NO_SUCH_VOLUME "Volume não encontrado"
- #define ERR_PAST_EOF "Passou o fim do arquivo"
- #define ERR_ARC_IS_READ_ONLY "Arquivo é somente de leitura"
- #define ERR_IO_ERROR "Erro de E/S"
- #define ERR_CANT_SET_WRITE_DIR "Não foi possível definir diretório de escrita"
- #define ERR_SYMLINK_LOOP "Loop infinito de link simbólico"
- #define ERR_COMPRESSION "Erro de (Des)compressão"
- #define ERR_NOT_IMPLEMENTED "Não implementado"
- #define ERR_OS_ERROR "Erro reportado pelo Sistema Operacional"
- #define ERR_FILE_EXISTS "Arquivo já existente"
- #define ERR_NOT_A_FILE "Não é um arquivo"
- #define ERR_NOT_A_DIR "Não é um diretório"
- #define ERR_NOT_AN_ARCHIVE "Não é um pacote"
- #define ERR_CORRUPTED "Pacote corrompido"
- #define ERR_SEEK_OUT_OF_RANGE "Posicionamento além do tamanho"
- #define ERR_BAD_FILENAME "Nome de arquivo inválido"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS realizou uma chamada de sistema inválida"
- #define ERR_ARGV0_IS_NULL "argv0 é NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: precisa de diretório"
- #define ERR_ZLIB_DATA_ERROR "zlib: erro nos dados"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: erro de memória"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: erro de buffer"
- #define ERR_ZLIB_VERSION_ERROR "zlib: erro na version"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: erro desconhecido"
- #define ERR_SEARCHPATH_TRUNC "Caminho de procura quebrado"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() foi quebrado"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() nao teve diretório"
- #define ERR_DISK_FULL "Disco cheio"
- #define ERR_DIRECTORY_FULL "Diretório cheio"
- #define ERR_MACOS_GENERIC "MacOS reportou um erro (%d)"
- #define ERR_OS2_GENERIC "OS/2 reportou um erro (%d)"
- #define ERR_VOL_LOCKED_HW "Volume travado por hardware"
- #define ERR_VOL_LOCKED_SW "Volume travado por software"
- #define ERR_FILE_LOCKED "Arquivo travado"
- #define ERR_FILE_OR_DIR_BUSY "Arquivo/Diretório está em uso"
- #define ERR_FILE_ALREADY_OPEN_W "Arquivo já aberto para escrita"
- #define ERR_FILE_ALREADY_OPEN_R "Arquivo já aberto para leitura"
- #define ERR_INVALID_REFNUM "Número de referência"
- #define ERR_GETTING_FILE_POS "Erro ao tentar obter posição do arquivo"
- #define ERR_VOLUME_OFFLINE "Volume está indisponível"
- #define ERR_PERMISSION_DENIED "Permissão negada"
- #define ERR_VOL_ALREADY_ONLINE "Volume disponível"
- #define ERR_NO_SUCH_DRIVE "Drive inexistente"
- #define ERR_NOT_MAC_DISK "Não é um disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS "Volume pertence a um sistema de arquivos externo"
- #define ERR_PROBLEM_RENAME "Problema durante renomeação"
- #define ERR_BAD_MASTER_BLOCK "Bloco master do diretório inválido"
- #define ERR_CANT_MOVE_FORBIDDEN "Tentativa de mover proibida"
- #define ERR_WRONG_VOL_TYPE "Tipo inválido de volume"
- #define ERR_SERVER_VOL_LOST "Volume servidor desconectado"
- #define ERR_FILE_ID_NOT_FOUND "ID de Arquivo não encontrado"
- #define ERR_FILE_ID_EXISTS "ID de Arquivo já existente"
- #define ERR_SERVER_NO_RESPOND "Servidor não respondendo"
- #define ERR_USER_AUTH_FAILED "Autenticação de usuário falhada"
- #define ERR_PWORD_EXPIRED "Password foi expirada no servidor"
- #define ERR_ACCESS_DENIED "Accesso negado"
- #define ERR_NOT_A_DOS_DISK "Não é um disco DOS"
- #define ERR_SHARING_VIOLATION "Violação de compartilhamento"
- #define ERR_CANNOT_MAKE "Não pode ser feito"
- #define ERR_DEV_IN_USE "Device já em uso"
- #define ERR_OPEN_FAILED "Falaha na abertura"
- #define ERR_PIPE_BUSY "Fila ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartilhamento excedeu"
- #define ERR_TOO_MANY_HANDLES "Muitos handles abertos"
- #define ERR_SEEK_ERROR "Erro de posicionamento"
- #define ERR_DEL_CWD "Tentando remover diretório de trabalho atual"
- #define ERR_WRITE_PROTECT_ERROR "Erro de proteção de escrita"
- #define ERR_WRITE_FAULT "Erro de escrita"
- #define ERR_LOCK_VIOLATION "Violação de trava"
- #define ERR_GEN_FAILURE "Falha geral"
- #define ERR_UNCERTAIN_MEDIA "Media incerta"
- #define ERR_PROT_VIOLATION "Violação de proteção"
- #define ERR_BROKEN_PIPE "Fila quebrada"
-
-#elif (PHYSFS_LANG == PHYSFS_LANG_SPANISH)
- #define DIR_ARCHIVE_DESCRIPTION "No es un archivo, E/S directa al sistema de ficheros"
- #define GRP_ARCHIVE_DESCRIPTION "Formato Build engine Groupfile"
- #define HOG_ARCHIVE_DESCRIPTION "Formato Descent I/II HOG file"
- #define MVL_ARCHIVE_DESCRIPTION "Formato Descent II Movielib"
- #define QPAK_ARCHIVE_DESCRIPTION "Formato Quake I/II"
- #define ZIP_ARCHIVE_DESCRIPTION "Compatible con PkZip/WinZip/Info-Zip"
-
- #define ERR_IS_INITIALIZED "Ya estaba inicializado"
- #define ERR_NOT_INITIALIZED "No está inicializado"
- #define ERR_INVALID_ARGUMENT "Argumento inválido"
- #define ERR_FILES_STILL_OPEN "Archivos aún abiertos"
- #define ERR_NO_DIR_CREATE "Fallo al crear los directorios"
- #define ERR_OUT_OF_MEMORY "Memoria agotada"
- #define ERR_NOT_IN_SEARCH_PATH "No existe tal entrada en la ruta de búsqueda"
- #define ERR_NOT_SUPPORTED "Operación no soportada"
- #define ERR_UNSUPPORTED_ARCHIVE "Tipo de archivo no soportado"
- #define ERR_NOT_A_HANDLE "No es un manejador de ficheo (file handle)"
- #define ERR_INSECURE_FNAME "Nombre de archivo inseguro"
- #define ERR_SYMLINK_DISALLOWED "Los enlaces simbólicos están desactivados"
- #define ERR_NO_WRITE_DIR "No has configurado un directorio de escritura"
- #define ERR_NO_SUCH_FILE "Archivo no encontrado"
- #define ERR_NO_SUCH_PATH "Ruta no encontrada"
- #define ERR_NO_SUCH_VOLUME "Volumen no encontrado"
- #define ERR_PAST_EOF "Te pasaste del final del archivo"
- #define ERR_ARC_IS_READ_ONLY "El archivo es de sólo lectura"
- #define ERR_IO_ERROR "Error E/S"
- #define ERR_CANT_SET_WRITE_DIR "No puedo configurar el directorio de escritura"
- #define ERR_SYMLINK_LOOP "Bucle infnito de enlaces simbólicos"
- #define ERR_COMPRESSION "Error de (des)compresión"
- #define ERR_NOT_IMPLEMENTED "No implementado"
- #define ERR_OS_ERROR "El sistema operativo ha devuelto un error"
- #define ERR_FILE_EXISTS "El archivo ya existe"
- #define ERR_NOT_A_FILE "No es un archivo"
- #define ERR_NOT_A_DIR "No es un directorio"
- #define ERR_NOT_AN_ARCHIVE "No es un archivo"
- #define ERR_CORRUPTED "Archivo corrupto"
- #define ERR_SEEK_OUT_OF_RANGE "Búsqueda fuera de rango"
- #define ERR_BAD_FILENAME "Nombre de archivo incorrecto"
- #define ERR_PHYSFS_BAD_OS_CALL "(BUG) PhysicsFS ha hecho una llamada incorrecta al sistema"
- #define ERR_ARGV0_IS_NULL "argv0 es NULL"
- #define ERR_ZLIB_NEED_DICT "zlib: necesito diccionario"
- #define ERR_ZLIB_DATA_ERROR "zlib: error de datos"
- #define ERR_ZLIB_MEMORY_ERROR "zlib: error de memoria"
- #define ERR_ZLIB_BUFFER_ERROR "zlib: error de buffer"
- #define ERR_ZLIB_VERSION_ERROR "zlib: error de versión"
- #define ERR_ZLIB_UNKNOWN_ERROR "zlib: error desconocido"
- #define ERR_SEARCHPATH_TRUNC "La ruta de búsqueda ha sido truncada"
- #define ERR_GETMODFN_TRUNC "GetModuleFileName() ha sido truncado"
- #define ERR_GETMODFN_NO_DIR "GetModuleFileName() no tenia directorio"
- #define ERR_DISK_FULL "El disco está lleno"
- #define ERR_DIRECTORY_FULL "El directorio está lleno"
- #define ERR_MACOS_GENERIC "MacOS ha devuelto un error (%d)"
- #define ERR_OS2_GENERIC "OS/2 ha devuelto un error (%d)"
- #define ERR_VOL_LOCKED_HW "El volumen está bloqueado por el hardware"
- #define ERR_VOL_LOCKED_SW "El volumen está bloqueado por el software"
- #define ERR_FILE_LOCKED "El archivo está bloqueado"
- #define ERR_FILE_OR_DIR_BUSY "Fichero o directorio ocupados"
- #define ERR_FILE_ALREADY_OPEN_W "Fichero ya abierto para escritura"
- #define ERR_FILE_ALREADY_OPEN_R "Fichero ya abierto para lectura"
- #define ERR_INVALID_REFNUM "El número de referencia no es válido"
- #define ERR_GETTING_FILE_POS "Error al tomar la posición del fichero"
- #define ERR_VOLUME_OFFLINE "El volumen está desconectado"
- #define ERR_PERMISSION_DENIED "Permiso denegado"
- #define ERR_VOL_ALREADY_ONLINE "El volumen ya estaba conectado"
- #define ERR_NO_SUCH_DRIVE "No existe tal unidad"
- #define ERR_NOT_MAC_DISK "No es un disco Macintosh"
- #define ERR_VOL_EXTERNAL_FS "El volumen pertence a un sistema de ficheros externo"
- #define ERR_PROBLEM_RENAME "Problemas al renombrar"
- #define ERR_BAD_MASTER_BLOCK "Bloque maestro de directorios incorrecto"
- #define ERR_CANT_MOVE_FORBIDDEN "Intento de mover forbidden"
- #define ERR_WRONG_VOL_TYPE "Tipo de volumen incorrecto"
- #define ERR_SERVER_VOL_LOST "El servidor de volúmenes ha sido desconectado"
- #define ERR_FILE_ID_NOT_FOUND "Identificador de archivo no encontrado"
- #define ERR_FILE_ID_EXISTS "El identificador de archivo ya existe"
- #define ERR_SERVER_NO_RESPOND "El servidor no responde"
- #define ERR_USER_AUTH_FAILED "Fallo al autentificar el usuario"
- #define ERR_PWORD_EXPIRED "La Password en el servidor ha caducado"
- #define ERR_ACCESS_DENIED "Acceso denegado"
- #define ERR_NOT_A_DOS_DISK "No es un disco de DOS"
- #define ERR_SHARING_VIOLATION "Violación al compartir"
- #define ERR_CANNOT_MAKE "No puedo hacer make"
- #define ERR_DEV_IN_USE "El dispositivo ya estaba en uso"
- #define ERR_OPEN_FAILED "Fallo al abrir"
- #define ERR_PIPE_BUSY "Tubería ocupada"
- #define ERR_SHARING_BUF_EXCEEDED "Buffer de compartición sobrepasado"
- #define ERR_TOO_MANY_HANDLES "Demasiados manejadores (handles)"
- #define ERR_SEEK_ERROR "Error de búsqueda"
- #define ERR_DEL_CWD "Intentando borrar el directorio de trabajo actual"
- #define ERR_WRITE_PROTECT_ERROR "Error de protección contra escritura"
- #define ERR_WRITE_FAULT "Fallo al escribir"
- #define ERR_LOCK_VIOLATION "Violación del bloqueo"
- #define ERR_GEN_FAILURE "Fallo general"
- #define ERR_UNCERTAIN_MEDIA "Medio incierto"
- #define ERR_PROT_VIOLATION "Violación de la protección"
- #define ERR_BROKEN_PIPE "Tubería rota"
-
-#else
- #error Please define PHYSFS_LANG.
-#endif
-
-/* end LANG section. */
-
-struct __PHYSFS_DIRHANDLE__;
-struct __PHYSFS_FILEFUNCTIONS__;
-
-
-typedef struct __PHYSFS_LINKEDSTRINGLIST__
-{
- char *str;
- struct __PHYSFS_LINKEDSTRINGLIST__ *next;
-} LinkedStringList;
-
-
-typedef struct __PHYSFS_FILEHANDLE__
-{
- /*
- * This is reserved for the driver to store information.
- */
- void *opaque;
-
- /*
- * Non-zero if file opened for reading, zero if write/append.
- */
- PHYSFS_uint8 forReading;
-
- /*
- * This is the buffer, if one is set (NULL otherwise). Don't touch.
- */
- PHYSFS_uint8 *buffer;
-
- /*
- * This is the buffer size, if one is set (0 otherwise). Don't touch.
- */
- PHYSFS_uint32 bufsize;
-
- /*
- * This is the buffer fill size. Don't touch.
- */
- PHYSFS_uint32 buffill;
-
- /*
- * This is the buffer position. Don't touch.
- */
- PHYSFS_uint32 bufpos;
-
- /*
- * This should be the DirHandle that created this FileHandle.
- */
- const struct __PHYSFS_DIRHANDLE__ *dirHandle;
-
- /*
- * Pointer to the file i/o functions for this filehandle.
- */
- const struct __PHYSFS_FILEFUNCTIONS__ *funcs;
-} FileHandle;
-
-
-typedef struct __PHYSFS_FILEFUNCTIONS__
-{
- /*
- * Read more from the file.
- * Returns number of objects of (objSize) bytes read from file, -1
- * if complete failure.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*read)(FileHandle *handle, void *buffer,
- PHYSFS_uint32 objSize, PHYSFS_uint32 objCount);
-
- /*
- * Write more to the file. Archives don't have to implement this.
- * (Set it to NULL if not implemented).
- * Returns number of objects of (objSize) bytes written to file, -1
- * if complete failure.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*write)(FileHandle *handle, const void *buffer,
- PHYSFS_uint32 objSize, PHYSFS_uint32 objCount);
-
- /*
- * Returns non-zero if at end of file.
- */
- int (*eof)(FileHandle *handle);
-
- /*
- * Returns byte offset from start of file.
- */
- PHYSFS_sint64 (*tell)(FileHandle *handle);
-
- /*
- * Move read/write pointer to byte offset from start of file.
- * Returns non-zero on success, zero on error.
- * On failure, call __PHYSFS_setError().
- */
- int (*seek)(FileHandle *handle, PHYSFS_uint64 offset);
-
- /*
- * Return number of bytes available in the file, or -1 if you
- * aren't able to determine.
- * On failure, call __PHYSFS_setError().
- */
- PHYSFS_sint64 (*fileLength)(FileHandle *handle);
-
- /*
- * Close the file, and free the FileHandle structure (including "opaque").
- * returns non-zero on success, zero if can't close file.
- * On failure, call __PHYSFS_setError().
- */
- int (*fileClose)(FileHandle *handle);
-} FileFunctions;
-
-
-typedef struct __PHYSFS_DIRHANDLE__
-{
- /*
- * This is reserved for the driver to store information.
- */
- void *opaque;
-
- /*
- * Pointer to the directory i/o functions for this handle.
- */
- const struct __PHYSFS_DIRFUNCTIONS__ *funcs;
-} DirHandle;
-
-
-/*
- * Symlinks should always be followed; PhysicsFS will use
- * DirFunctions->isSymLink() and make a judgement on whether to
- * continue to call other methods based on that.
- */
-typedef struct __PHYSFS_DIRFUNCTIONS__
-{
- const PHYSFS_ArchiveInfo *info;
-
- /*
- * Returns non-zero if (filename) is a valid archive that this
- * driver can handle. This filename is in platform-dependent
- * notation. forWriting is non-zero if this is to be used for
- * the write directory, and zero if this is to be used for an
- * element of the search path.
- */
- int (*isArchive)(const char *filename, int forWriting);
-
- /*
- * Return a DirHandle for dir/archive (name).
- * This filename is in platform-dependent notation.
- * forWriting is non-zero if this is to be used for
- * the write directory, and zero if this is to be used for an
- * element of the search path.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- */
- DirHandle *(*openArchive)(const char *name, int forWriting);
-
- /*
- * Returns a list of all files in dirname. Each element of this list
- * (and its "str" field) will be deallocated with the system's free()
- * function by the caller, so be sure to explicitly malloc() each
- * chunk. Omit symlinks if (omitSymLinks) is non-zero.
- * If you have a memory failure, return as much as you can.
- * This dirname is in platform-independent notation.
- */
- LinkedStringList *(*enumerateFiles)(DirHandle *r,
- const char *dirname,
- int omitSymLinks);
-
-
- /*
- * Returns non-zero if filename can be opened for reading.
- * This filename is in platform-independent notation.
- * You should not follow symlinks.
- */
- int (*exists)(DirHandle *r, const char *name);
-
- /*
- * Returns non-zero if filename is really a directory.
- * This filename is in platform-independent notation.
- * Symlinks should be followed; if what the symlink points
- * to is missing, or isn't a directory, then the retval is zero.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- int (*isDirectory)(DirHandle *r, const char *name, int *fileExists);
-
- /*
- * Returns non-zero if filename is really a symlink.
- * This filename is in platform-independent notation.
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- int (*isSymLink)(DirHandle *r, const char *name, int *fileExists);
-
- /*
- * Retrieve the last modification time (mtime) of a file.
- * Returns -1 on failure, or the file's mtime in seconds since
- * the epoch (Jan 1, 1970) on success.
- * This filename is in platform-independent notation.
- *
- * Regardless of success or failure, please set *exists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- PHYSFS_sint64 (*getLastModTime)(DirHandle *r, const char *fnm, int *exist);
-
- /*
- * Open file for reading, and return a FileHandle.
- * This filename is in platform-independent notation.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Fail if the file does not exist.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- *
- * Regardless of success or failure, please set *fileExists to
- * non-zero if the file existed (even if it's a broken symlink!),
- * zero if it did not.
- */
- FileHandle *(*openRead)(DirHandle *r, const char *fname, int *fileExists);
-
- /*
- * Open file for writing, and return a FileHandle.
- * If the file does not exist, it should be created. If it exists,
- * it should be truncated to zero bytes. The writing
- * offset should be the start of the file.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- */
- FileHandle *(*openWrite)(DirHandle *r, const char *filename);
-
- /*
- * Open file for appending, and return a FileHandle.
- * If the file does not exist, it should be created. The writing
- * offset should be the end of the file.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * If you can't handle multiple opens of the same file,
- * you can opt to fail for the second call.
- * Returns NULL on failure, and calls __PHYSFS_setError().
- */
- FileHandle *(*openAppend)(DirHandle *r, const char *filename);
-
- /*
- * Delete a file in the archive/directory.
- * Return non-zero on success, zero on failure.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * On failure, call __PHYSFS_setError().
- */
- int (*remove)(DirHandle *r, const char *filename);
-
- /*
- * Create a directory in the archive/directory.
- * If the application is trying to make multiple dirs, PhysicsFS
- * will split them up into multiple calls before passing them to
- * your driver.
- * Return non-zero on success, zero on failure.
- * This filename is in platform-independent notation.
- * This method may be NULL.
- * On failure, call __PHYSFS_setError().
- */
- int (*mkdir)(DirHandle *r, const char *filename);
-
- /*
- * Close directories/archives, and free the handle, including
- * the "opaque" entry. This should assume that it won't be called if
- * there are still files open from this DirHandle.
- */
- void (*dirClose)(DirHandle *r);
-} DirFunctions;
-
-
-/*
- * Call this to set the message returned by PHYSFS_getLastError().
- * Please only use the ERR_* constants above, or add new constants to the
- * above group, but I want these all in one place.
- *
- * Calling this with a NULL argument is a safe no-op.
- */
-void __PHYSFS_setError(const char *err);
-
-
-/*
- * Convert (dirName) to platform-dependent notation, then prepend (prepend)
- * and append (append) to the converted string.
- *
- * So, on Win32, calling:
- * __PHYSFS_convertToDependent("C:\", "my/files", NULL);
- * ...will return the string "C:\my\files".
- *
- * This is a convenience function; you might want to hack something out that
- * is less generic (and therefore more efficient).
- *
- * Be sure to free() the return value when done with it.
- */
-char *__PHYSFS_convertToDependent(const char *prepend,
- const char *dirName,
- const char *append);
-
-/*
- * Verify that (fname) (in platform-independent notation), in relation
- * to (h) is secure. That means that each element of fname is checked
- * for symlinks (if they aren't permitted). Also, elements such as
- * ".", "..", or ":" are flagged.
- *
- * With some exceptions (like PHYSFS_mkdir(), which builds multiple subdirs
- * at a time), you should always pass zero for "allowMissing" for efficiency.
- *
- * Returns non-zero if string is safe, zero if there's a security issue.
- * PHYSFS_getLastError() will specify what was wrong.
- */
-int __PHYSFS_verifySecurity(DirHandle *h, const char *fname, int allowMissing);
-
-
-/*
- * Use this to build the list that your enumerate function should return.
- * See zip.c for an example of proper use.
- */
-LinkedStringList *__PHYSFS_addToLinkedStringList(LinkedStringList *retval,
- LinkedStringList **prev,
- const char *str,
- PHYSFS_sint32 len);
-
-
-/*
- * When sorting the entries in an archive, we use a modified QuickSort.
- * When there are less then PHYSFS_QUICKSORT_THRESHOLD entries left to sort,
- * we switch over to a BubbleSort for the remainder. Tweak to taste.
- *
- * You can override this setting by defining PHYSFS_QUICKSORT_THRESHOLD
- * before #including "physfs_internal.h".
- */
-#ifndef PHYSFS_QUICKSORT_THRESHOLD
-#define PHYSFS_QUICKSORT_THRESHOLD 4
-#endif
-
-/*
- * Sort an array (or whatever) of (max) elements. This uses a mixture of
- * a QuickSort and BubbleSort internally.
- * (cmpfn) is used to determine ordering, and (swapfn) does the actual
- * swapping of elements in the list.
- *
- * See zip.c for an example.
- */
-void __PHYSFS_sort(void *entries, PHYSFS_uint32 max,
- int (*cmpfn)(void *, PHYSFS_uint32, PHYSFS_uint32),
- void (*swapfn)(void *, PHYSFS_uint32, PHYSFS_uint32));
-
-
-/* These get used all over for lessening code clutter. */
-#define BAIL_MACRO(e, r) { __PHYSFS_setError(e); return r; }
-#define BAIL_IF_MACRO(c, e, r) if (c) { __PHYSFS_setError(e); return r; }
-#define BAIL_MACRO_MUTEX(e, m, r) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-#define BAIL_IF_MACRO_MUTEX(c, e, m, r) if (c) { __PHYSFS_setError(e); __PHYSFS_platformReleaseMutex(m); return r; }
-
-
-
-
-/*--------------------------------------------------------------------------*/
-/*--------------------------------------------------------------------------*/
-/*------------ ----------------*/
-/*------------ You MUST implement the following functions ----------------*/
-/*------------ if porting to a new platform. ----------------*/
-/*------------ (see platform/unix.c for an example) ----------------*/
-/*------------ ----------------*/
-/*--------------------------------------------------------------------------*/
-/*--------------------------------------------------------------------------*/
-
-
-/*
- * The dir separator; "/" on unix, "\\" on win32, ":" on MacOS, etc...
- * Obviously, this isn't a function, but it IS a null-terminated string.
- */
-extern const char *__PHYSFS_platformDirSeparator;
-
-
-/*
- * Initialize the platform. This is called when PHYSFS_init() is called from
- * the application. You can use this to (for example) determine what version
- * of Windows you're running.
- *
- * Return zero if there was a catastrophic failure (which prevents you from
- * functioning at all), and non-zero otherwise.
- */
-int __PHYSFS_platformInit(void);
-
-
-/*
- * Deinitialize the platform. This is called when PHYSFS_deinit() is called
- * from the application. You can use this to clean up anything you've
- * allocated in your platform driver.
- *
- * Return zero if there was a catastrophic failure (which prevents you from
- * functioning at all), and non-zero otherwise.
- */
-int __PHYSFS_platformDeinit(void);
-
-
-/*
- * Open a file for reading. (filename) is in platform-dependent notation. The
- * file pointer should be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32.
- *
- * The same file can be opened for read multiple times, and each should have
- * a unique file handle; this is frequently employed to prevent race
- * conditions in the archivers.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenRead(const char *filename);
-
-
-/*
- * Open a file for writing. (filename) is in platform-dependent notation. If
- * the file exists, it should be truncated to zero bytes, and if it doesn't
- * exist, it should be created as a zero-byte file. The file pointer should
- * be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32,
- * etc.
- *
- * Opening a file for write multiple times has undefined results.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenWrite(const char *filename);
-
-
-/*
- * Open a file for appending. (filename) is in platform-dependent notation. If
- * the file exists, the file pointer should be place just past the end of the
- * file, so that the first write will be one byte after the current end of
- * the file. If the file doesn't exist, it should be created as a zero-byte
- * file. The file pointer should be positioned on the first byte of the file.
- *
- * The return value will be some platform-specific datatype that is opaque to
- * the caller; it could be a (FILE *) under Unix, or a (HANDLE *) under win32,
- * etc.
- *
- * Opening a file for append multiple times has undefined results.
- *
- * Call __PHYSFS_setError() and return (NULL) if the file can't be opened.
- */
-void *__PHYSFS_platformOpenAppend(const char *filename);
-
-
-/*
- * Read more data from a platform-specific file handle. (opaque) should be
- * cast to whatever data type your platform uses. Read a maximum of (count)
- * objects of (size) 8-bit bytes to the area pointed to by (buffer). If there
- * isn't enough data available, return the number of full objects read, and
- * position the file pointer at the start of the first incomplete object.
- * On success, return (count) and position the file pointer one byte past
- * the end of the last read object. Return (-1) if there is a catastrophic
- * error, and call __PHYSFS_setError() to describe the problem; the file
- * pointer should not move in such a case.
- */
-PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buffer,
- PHYSFS_uint32 size, PHYSFS_uint32 count);
-
-/*
- * Write more data to a platform-specific file handle. (opaque) should be
- * cast to whatever data type your platform uses. Write a maximum of (count)
- * objects of (size) 8-bit bytes from the area pointed to by (buffer). If
- * there isn't enough data available, return the number of full objects
- * written, and position the file pointer at the start of the first
- * incomplete object. Return (-1) if there is a catastrophic error, and call
- * __PHYSFS_setError() to describe the problem; the file pointer should not
- * move in such a case.
- */
-PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer,
- PHYSFS_uint32 size, PHYSFS_uint32 count);
-
-/*
- * Set the file pointer to a new position. (opaque) should be cast to
- * whatever data type your platform uses. (pos) specifies the number
- * of 8-bit bytes to seek to from the start of the file. Seeking past the
- * end of the file is an error condition, and you should check for it.
- *
- * Not all file types can seek; this is to be expected by the caller.
- *
- * On error, call __PHYSFS_setError() and return zero. On success, return
- * a non-zero value.
- */
-int __PHYSFS_platformSeek(void *opaque, PHYSFS_uint64 pos);
-
-
-/*
- * Get the file pointer's position, in an 8-bit byte offset from the start of
- * the file. (opaque) should be cast to whatever data type your platform
- * uses.
- *
- * Not all file types can "tell"; this is to be expected by the caller.
- *
- * On error, call __PHYSFS_setError() and return zero. On success, return
- * a non-zero value.
- */
-PHYSFS_sint64 __PHYSFS_platformTell(void *opaque);
-
-
-/*
- * Determine the current size of a file, in 8-bit bytes, from an open file.
- *
- * The caller expects that this information may not be available for all
- * file types on all platforms.
- *
- * Return -1 if you can't do it, and call __PHYSFS_setError(). Otherwise,
- * return the file length in 8-bit bytes.
- */
-PHYSFS_sint64 __PHYSFS_platformFileLength(void *handle);
-
-/*
- * Determine if a file is at EOF. (opaque) should be cast to whatever data
- * type your platform uses.
- *
- * The caller expects that there was a short read before calling this.
- *
- * Return non-zero if EOF, zero if it is _not_ EOF.
- */
-int __PHYSFS_platformEOF(void *opaque);
-
-/*
- * Flush any pending writes to disk. (opaque) should be cast to whatever data
- * type your platform uses. Be sure to check for errors; the caller expects
- * that this function can fail if there was a flushing error, etc.
- *
- * Return zero on failure, non-zero on success.
- */
-int __PHYSFS_platformFlush(void *opaque);
-
-/*
- * Flush and close a file. (opaque) should be cast to whatever data type
- * your platform uses. Be sure to check for errors when closing; the
- * caller expects that this function can fail if there was a flushing
- * error, etc.
- *
- * You should clean up all resources associated with (opaque).
- *
- * Return zero on failure, non-zero on success.
- */
-int __PHYSFS_platformClose(void *opaque);
-
-/*
- * Platform implementation of PHYSFS_getCdRomDirs()...
- * See physfs.h. The retval should be freeable via PHYSFS_freeList().
- */
-char **__PHYSFS_platformDetectAvailableCDs(void);
-
-/*
- * Calculate the base dir, if your platform needs special consideration.
- * Just return NULL if the standard routines will suffice. (see
- * calculateBaseDir() in physfs.c ...)
- * Caller will free() the retval if it's not NULL.
- */
-char *__PHYSFS_platformCalcBaseDir(const char *argv0);
-
-/*
- * Get the platform-specific user name.
- * Caller will free() the retval if it's not NULL. If it's NULL, the username
- * will default to "default".
- */
-char *__PHYSFS_platformGetUserName(void);
-
-/*
- * Get the platform-specific user dir.
- * Caller will free() the retval if it's not NULL. If it's NULL, the userdir
- * will default to basedir/username.
- */
-char *__PHYSFS_platformGetUserDir(void);
-
-/*
- * Return a number that uniquely identifies the current thread.
- * On a platform without threading, (1) will suffice. These numbers are
- * arbitrary; the only requirement is that no two threads have the same
- * number.
- */
-PHYSFS_uint64 __PHYSFS_platformGetThreadID(void);
-
-/*
- * This is a pass-through to whatever stricmp() is called on your platform.
- */
-int __PHYSFS_platformStricmp(const char *str1, const char *str2);
-
-/*
- * This is a pass-through to whatever strnicmp() is called on your platform.
- */
-int __PHYSFS_platformStrnicmp(const char *s1, const char *s2, PHYSFS_uint32 l);
-
-/*
- * Return non-zero if filename (in platform-dependent notation) exists.
- * Symlinks should NOT be followed; at this stage, we do not care what the
- * symlink points to. Please call __PHYSFS_SetError() with the details of
- * why the file does not exist, if it doesn't; you are in a better position
- * to know (path not found, bogus filename, file itself is missing, etc).
- */
-int __PHYSFS_platformExists(const char *fname);
-
-/*
- * Return the last modified time (in seconds since the epoch) of a file.
- * Returns -1 on failure. (fname) is in platform-dependent notation.
- * Symlinks should be followed; if what the symlink points to is missing,
- * then the retval is -1.
- */
-PHYSFS_sint64 __PHYSFS_platformGetLastModTime(const char *fname);
-
-/*
- * Return non-zero if filename (in platform-dependent notation) is a symlink.
- */
-int __PHYSFS_platformIsSymLink(const char *fname);
-
-
-/*
- * Return non-zero if filename (in platform-dependent notation) is a symlink.
- * Symlinks should be followed; if what the symlink points to is missing,
- * or isn't a directory, then the retval is false.
- */
-int __PHYSFS_platformIsDirectory(const char *fname);
-
-
-/*
- * Convert (dirName) to platform-dependent notation, then prepend (prepend)
- * and append (append) to the converted string.
- *
- * So, on Win32, calling:
- * __PHYSFS_platformCvtToDependent("C:\", "my/files", NULL);
- * ...will return the string "C:\my\files".
- *
- * This can be implemented in a platform-specific manner, so you can get
- * get a speed boost that the default implementation can't, since
- * you can make assumptions about the size of strings, etc..
- *
- * Platforms that choose not to implement this may just call
- * __PHYSFS_convertToDependent() as a passthrough, which may fit the bill
- * already.
- *
- * Be sure to free() the return value when done with it.
- */
-char *__PHYSFS_platformCvtToDependent(const char *prepend,
- const char *dirName,
- const char *append);
-
-
-/*
- * Make the current thread give up a timeslice. This is called in a loop
- * while waiting for various external forces to get back to us.
- */
-void __PHYSFS_platformTimeslice(void);
-
-
-/*
- * Enumerate a directory of files. This follows the rules for the
- * DirFunctions->enumerateFiles() method (see above), except that the
- * (dirName) that is passed to this function is converted to
- * platform-DEPENDENT notation by the caller. The DirFunctions version
- * uses platform-independent notation. Note that ".", "..", and other
- * metaentries should always be ignored.
- */
-LinkedStringList *__PHYSFS_platformEnumerateFiles(const char *dirname,
- int omitSymLinks);
-
-
-/*
- * Get the current working directory. The return value should be an
- * absolute path in platform-dependent notation. The caller will deallocate
- * the return value with the standard C runtime free() function when it
- * is done with it.
- * On error, return NULL and set the error message.
- */
-char *__PHYSFS_platformCurrentDir(void);
-
-
-/*
- * Get the real physical path to a file. (path) is specified in
- * platform-dependent notation, as should your return value be.
- * All relative paths should be removed, leaving you with an absolute
- * path. Symlinks should be resolved, too, so that the returned value is
- * the most direct path to a file.
- * The return value will be deallocated with the standard C runtime free()
- * function when the caller is done with it.
- * On error, return NULL and set the error message.
- */
-char *__PHYSFS_platformRealPath(const char *path);
-
-
-/*
- * Make a directory in the actual filesystem. (path) is specified in
- * platform-dependent notation. On error, return zero and set the error
- * message. Return non-zero on success.
- */
-int __PHYSFS_platformMkDir(const char *path);
-
-
-/*
- * Remove a file or directory entry in the actual filesystem. (path) is
- * specified in platform-dependent notation. Note that this deletes files
- * _and_ directories, so you might need to do some determination.
- * Non-empty directories should report an error and not delete themselves
- * or their contents.
- *
- * Deleting a symlink should remove the link, not what it points to.
- *
- * On error, return zero and set the error message. Return non-zero on success.
- */
-int __PHYSFS_platformDelete(const char *path);
-
-
-/*
- * Create a platform-specific mutex. This can be whatever datatype your
- * platform uses for mutexes, but it is cast to a (void *) for abstractness.
- *
- * Return (NULL) if you couldn't create one. Systems without threads can
- * return any arbitrary non-NULL value.
- */
-void *__PHYSFS_platformCreateMutex(void);
-
-/*
- * Destroy a platform-specific mutex, and clean up any resources associated
- * with it. (mutex) is a value previously returned by
- * __PHYSFS_platformCreateMutex(). This can be a no-op on single-threaded
- * platforms.
- */
-void __PHYSFS_platformDestroyMutex(void *mutex);
-
-/*
- * Grab possession of a platform-specific mutex. Mutexes should be recursive;
- * that is, the same thread should be able to call this function multiple
- * times in a row without causing a deadlock. This function should block
- * until a thread can gain possession of the mutex.
- *
- * Return non-zero if the mutex was grabbed, zero if there was an
- * unrecoverable problem grabbing it (this should not be a matter of
- * timing out! We're talking major system errors; block until the mutex
- * is available otherwise.)
- *
- * _DO NOT_ call __PHYSFS_setError() in here! Since setError calls this
- * function, you'll cause an infinite recursion. This means you can't
- * use the BAIL_*MACRO* macros, either.
- */
-int __PHYSFS_platformGrabMutex(void *mutex);
-
-/*
- * Relinquish possession of the mutex when this method has been called
- * once for each time that platformGrabMutex was called. Once possession has
- * been released, the next thread in line to grab the mutex (if any) may
- * proceed.
- *
- * _DO NOT_ call __PHYSFS_setError() in here! Since setError calls this
- * function, you'll cause an infinite recursion. This means you can't
- * use the BAIL_*MACRO* macros, either.
- */
-void __PHYSFS_platformReleaseMutex(void *mutex);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* end of physfs_internal.h ... */
-
Copied: tags/release-1.0.1/physfs_internal.h (from rev 757, branches/stable-1.0/physfs_internal.h)
Copied: tags/release-1.0.1/zlib123 (from rev 754, branches/stable-1.0/zlib123)
Modified: tags/release-1.0.1/zlib_license_change.txt
===================================================================
--- branches/stable-1.0/zlib_license_change.txt 2005-07-24 00:19:11 UTC (rev 753)
+++ tags/release-1.0.1/zlib_license_change.txt 2005-07-24 01:05:49 UTC (rev 758)
@@ -40,8 +40,8 @@
To: "physfs at icculus.org" <physfs at icculus.org>
Subject: Re: [physfs] License change proposition.
- [ The following text is in the "iso-8859-1" character set. ]
- [ Your display is set for the "US-ASCII" character set. ]
+ [ The following text is in the "iso-8859-1" character set. ]
+ [ Your display is set for the "US-ASCII" character set. ]
[ Some characters may be displayed incorrectly. ]
Quoting "Ryan C. Gordon" <xxxxxxxxxxxxxxx>:
@@ -542,8 +542,8 @@
-- Colin Bayer <xxxxxxxxxxxxxxx>
- [ Part 2, "This is a digitally signed message part" ]
- [ Application/PGP-SIGNATURE 196bytes. ]
+ [ Part 2, "This is a digitally signed message part" ]
+ [ Application/PGP-SIGNATURE 196bytes. ]
[ Unable to print this part. ]
@@ -715,8 +715,8 @@
To: Ryan C. Gordon <icculus at clutteredmind.org>
Subject: Re: PhysicsFS license change.
- [ The following text is in the "iso-8859-1" character set. ]
- [ Your display is set for the "US-ASCII" character set. ]
+ [ The following text is in the "iso-8859-1" character set. ]
+ [ Your display is set for the "US-ASCII" character set. ]
[ Some characters may be displayed incorrectly. ]
Hello. Sorry for delay in reply, things've been messed up for the last couple
More information about the physfs-commits
mailing list