瀏覽代碼

Readded new qpak archiver.

Ryan C. Gordon 22 年之前
父節點
當前提交
1400b98be7
共有 2 個文件被更改,包括 17 次插入97 次删除
  1. 13 0
      physfs.c
  2. 4 97
      physfs_internal.h

+ 13 - 0
physfs.c

@@ -59,6 +59,11 @@ extern const PHYSFS_ArchiveInfo   __PHYSFS_ArchiveInfo_GRP;
 extern const DirFunctions         __PHYSFS_DirFunctions_GRP;
 #endif
 
+#if (defined PHYSFS_SUPPORTS_QPAK)
+extern const PHYSFS_ArchiveInfo   __PHYSFS_ArchiveInfo_QPAK;
+extern const DirFunctions         __PHYSFS_DirFunctions_QPAK;
+#endif
+
 #if (defined PHYSFS_SUPPORTS_HOG)
 extern const PHYSFS_ArchiveInfo   __PHYSFS_ArchiveInfo_HOG;
 extern const DirFunctions         __PHYSFS_DirFunctions_HOG;
@@ -82,6 +87,10 @@ static const PHYSFS_ArchiveInfo *supported_types[] =
     &__PHYSFS_ArchiveInfo_GRP,
 #endif
 
+#if (defined PHYSFS_SUPPORTS_QPAK)
+    &__PHYSFS_ArchiveInfo_QPAK,
+#endif
+
 #if (defined PHYSFS_SUPPORTS_HOG)
     &__PHYSFS_ArchiveInfo_HOG,
 #endif
@@ -103,6 +112,10 @@ static const DirFunctions *dirFunctions[] =
     &__PHYSFS_DirFunctions_GRP,
 #endif
 
+#if (defined PHYSFS_SUPPORTS_QPAK)
+    &__PHYSFS_DirFunctions_QPAK,
+#endif
+
 #if (defined PHYSFS_SUPPORTS_HOG)
     &__PHYSFS_DirFunctions_HOG,
 #endif

+ 4 - 97
physfs_internal.h

@@ -43,6 +43,7 @@ extern "C" {
  #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 ERR_IS_INITIALIZED       "Already initialized"
@@ -136,9 +137,10 @@ extern "C" {
 
 #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 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 ERR_IS_INITIALIZED       "Bereits initialisiert"
@@ -230,107 +232,12 @@ extern "C" {
  #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 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 ERR_IS_INITIALIZED       "Déjà initialisé"