removed no more needed patcher files

This commit is contained in:
SIELA1915 2016-02-12 18:30:08 +01:00
parent f5459a1b9b
commit 63b02cfc00
6 changed files with 0 additions and 1235 deletions

View file

@ -1,3 +0,0 @@
FILE(GLOB SRC *.uxt)
INSTALL(FILES ${SRC} DESTINATION "${RYZOM_SHARE_PREFIX}/patcher")

View file

@ -1,191 +0,0 @@
// HASH_VALUE 6B09AC86E0363C89
// INDEX 0
LanguageName [Deutsch]
// HASH_VALUE 3259CCA76B39A0A8
// INDEX 1
TheSagaOfRyzom [Ryzom]
// HASH_VALUE C7CC3BE0464ED819
// INDEX 333
uiOnChecking [ÜBERPRÜFE DATEIEN FÜR DEN PATCH...]
// HASH_VALUE 3DDF0D8BBD1D3C7A
// INDEX 348
uiErrCantPatch [Fehler : Du kannst nicht patchen, da die PatchURL noch nicht in die Datenbank eingegeben wurde (Fehlercode 16).]
// HASH_VALUE E1B933F053557A69
// INDEX 349
uiNeedToPatch [Information : Du musst patchen, um Zugang zu diesem Shard zu erlangen.]
// HASH_VALUE 1CFD71DE1856F357
// INDEX 350
uiErrServerLost [Fehler : Die Verbindung zum Server wurde während des Patchens unterbrochen.]
// HASH_VALUE 0781700FFA41B8F9
// INDEX 351
uiPatching [PATCHE, BITTE WARTEN]
// HASH_VALUE B11FE4024EE3A1CB
// INDEX 352
uiErrPatchApply [Fehler : Patchprozess beendet, aber der Patch konnte nicht erfolgreich eingesetzt werden.]
// HASH_VALUE 428B3D2BDA3B2CD2
// INDEX 353
uiErrChecking [Fehler : Patchdateien versagen - Überprüfung.]
// HASH_VALUE 40D0242C40D0242C
// INDEX 354
uiKb [KB]
// HASH_VALUE 4050243440502434
// INDEX 355
uiMb [MB]
// HASH_VALUE 9FA5A06DD895B637
// INDEX 356
uiLoginGetFile [Lade Datei:]
// HASH_VALUE 373988CC56A4B9DB
// INDEX 357
uiDLFailed [Download vom Notfall-Server gescheitert, Login wurde abgebrochen]
// HASH_VALUE 0DD314AEEB0A6833
// INDEX 358
uiDLURIFailed [Download vom URI gescheitert (neuer Versuch):]
// HASH_VALUE 9FEF11F92FE58883
// INDEX 359
uiNoMoreURI [Keine Verbindung mehr zum URI, versuche den Notfall-Server]
// HASH_VALUE D126843FEAF6BF89
// INDEX 360
uiDLWithCurl [Datei laden mit Curl:]
// HASH_VALUE 5DF5B8902957A38B
// INDEX 361
uiDecompressing [Dekomprimiere Datei:]
// HASH_VALUE 5C24504228490833
// INDEX 362
uiCheckInt [Überprüfe Integrität:]
// HASH_VALUE 4C08EC7AE63A3CA8
// INDEX 363
uiNoVersionFound [Keine Version gefunden]
// HASH_VALUE EA9BF07087F0DE5C
// INDEX 364
uiVersionFound [Version gefunden:]
// HASH_VALUE 6CBAA4C2CED054DA
// INDEX 365
uiApplyingDelta [Delta anlegen:]
// HASH_VALUE 6BA9B484A5229440
// INDEX 366
uiClientVersion [Klientversion]
// HASH_VALUE 2EAADC9D27B47047
// INDEX 367
uiServerVersion [Serverversion]
// HASH_VALUE A8B6FC32E686BF9C
// INDEX 368
uiCheckingFile [Überprüfe Datei]
// HASH_VALUE 6618CC5E4408BC94
// INDEX 369
uiNeededPatches [Benötigte Patches :]
// HASH_VALUE 57D72C08D558C375
// INDEX 370
uiCheckInBNP [Überprüfe innerhalb BNP :]
// HASH_VALUE 8810F72436CBB610
// INDEX 371
uiSHA1Diff [BNP Zwangsentpackung : Checksumme stimmt nicht überein :]
// HASH_VALUE 0328885969AA93AC
// INDEX 372
uiCheckEndNoErr [Dateiüberprüfung ohne Fehler beendet]
// HASH_VALUE 9759642196BA93B6
// INDEX 373
uiCheckEndWithErr [Dateiüberprüfung mit Fehler beendet:]
// HASH_VALUE 03196C6669AA93A9
// INDEX 374
uiPatchEndNoErr [Dateipatch ohne Fehler beendet]
// HASH_VALUE E2A45B80D6C8F35E
// INDEX 375
uiPatchEndWithErr [Patch fehlgeschlagen!]
// HASH_VALUE 97987345E8D46F43
// INDEX 376
uiPatchDiskFull [Ungenügender Festplattenspeicher!]
// HASH_VALUE 67818F3F0F656F1B
// INDEX 377
uiPatchWriteError [Fehler beim Schreiben auf die Festplatte! (Festplatte voll?)]
// HASH_VALUE 54956061978AB897
// INDEX 378
uiProcessing [Bearbeite Datei:]
// HASH_VALUE D183CC5E53E4E24A
// INDEX 379
uiUnpack [BNP entpacken:]
// HASH_VALUE 57282453CE0D24A5
// INDEX 380
uiUnpackErrHead [Bnp-Header unlesbar:]
// HASH_VALUE 3EC17830B80D1B1D
// INDEX 381
uiRebootConfirm [Klicke, um neu zu starten. Bitte warten, Ryzom startet dann automatisch.]
// HASH_VALUE 809F582A06023625
// INDEX 382
uiRebootBut [HIER KLICKEN, UM NEU ZU STARTEN]
// HASH_VALUE EA9888EBCAF59355
// INDEX 383
uiChangeDate [Das Mod-Datum ändern :]
// HASH_VALUE 4589434CDD042E75
// INDEX 384
uiChgDateErr [File-Zeit unveränderbar :]
// HASH_VALUE 5BCA0C0C45A99719
// INDEX 385
uiNowDate [Wir haben den :]
// HASH_VALUE 485B4807F0581777
// INDEX 386
uiSetAttrib [File-Attribute einstellen :]
// HASH_VALUE 5EB5789353166D5E
// INDEX 387
uiAttribErr [Zugang unlesbar :]
// HASH_VALUE C2B6FF326665E080
// INDEX 388
uiDelFile [File löschen :]
// HASH_VALUE 0D262B3499A4A35A
// INDEX 389
uiDelErr [ File kann nicht gelöscht werden:]
// HASH_VALUE C238BC781514042B
// INDEX 390
uiDelNoFile [ File löschen (Keine File)]
// HASH_VALUE C1B7E33CDEF4085B
// INDEX 391
uiRenameFile [File umbenennen:]
// HASH_VALUE 8DB5533699858756
// INDEX 392
uiRenameErr [File kann nicht umbenannt werden :]

View file

@ -1,191 +0,0 @@
// HASH_VALUE 6B09AC86E0363C89
// INDEX 0
LanguageName [English]
// HASH_VALUE 3259CCA76B39A0A8
// INDEX 1
TheSagaOfRyzom [Ryzom]
// HASH_VALUE C7CC3BE0464ED819
// INDEX 333
uiOnChecking [CHECKING FILES FOR PATCH...]
// HASH_VALUE 3DDF0D8BBD1D3C7A
// INDEX 348
uiErrCantPatch [Error: You cannot patch because the PatchURL isn't setup in database (error code 16).]
// HASH_VALUE E1B933F053557A69
// INDEX 349
uiNeedToPatch [Information: You need to patch to access to this shard.]
// HASH_VALUE 1CFD71DE1856F357
// INDEX 350
uiErrServerLost [Error: Lost server during patching.]
// HASH_VALUE 0781700FFA41B8F9
// INDEX 351
uiPatching [PATCHING PLEASE WAIT]
// HASH_VALUE B11FE4024EE3A1CB
// INDEX 352
uiErrPatchApply [Error: Patch process ended but the patch has not been successfully applied.]
// HASH_VALUE 428B3D2BDA3B2CD2
// INDEX 353
uiErrChecking [Error: Patch files failed - checking.]
// HASH_VALUE 40D0242C40D0242C
// INDEX 354
uiKb [KB]
// HASH_VALUE 4050243440502434
// INDEX 355
uiMb [MB]
// HASH_VALUE 9FA5A06DD895B637
// INDEX 356
uiLoginGetFile [Getting File:]
// HASH_VALUE 373988CC56A4B9DB
// INDEX 357
uiDLFailed [Download from emergency server failed, patching is aborted]
// HASH_VALUE 0DD314AEEB0A6833
// INDEX 358
uiDLURIFailed [Download from URI failed (will try again):]
// HASH_VALUE 9FEF11F92FE58883
// INDEX 359
uiNoMoreURI [No more patch URI, try emergency patch server]
// HASH_VALUE D126843FEAF6BF89
// INDEX 360
uiDLWithCurl [Downloading File With Curl:]
// HASH_VALUE 5DF5B8902957A38B
// INDEX 361
uiDecompressing [Decompressing File:]
// HASH_VALUE 5C24504228490833
// INDEX 362
uiCheckInt [Checking Integrity:]
// HASH_VALUE 4C08EC7AE63A3CA8
// INDEX 363
uiNoVersionFound [No Version Found]
// HASH_VALUE EA9BF07087F0DE5C
// INDEX 364
uiVersionFound [Version Found:]
// HASH_VALUE 6CBAA4C2CED054DA
// INDEX 365
uiApplyingDelta [Applying Delta:]
// HASH_VALUE 6BA9B484A5229440
// INDEX 366
uiClientVersion [Client Version]
// HASH_VALUE 2EAADC9D27B47047
// INDEX 367
uiServerVersion [Server Version]
// HASH_VALUE A8B6FC32E686BF9C
// INDEX 368
uiCheckingFile [Checking File]
// HASH_VALUE 6618CC5E4408BC94
// INDEX 369
uiNeededPatches [Required Patches:]
// HASH_VALUE 57D72C08D558C375
// INDEX 370
uiCheckInBNP [Checking inside BNP:]
// HASH_VALUE 8810F72436CBB610
// INDEX 371
uiSHA1Diff [Force BNP Unpacking: checksums do not correspond:]
// HASH_VALUE 0328885969AA93AC
// INDEX 372
uiCheckEndNoErr [Checking file ended with no errors]
// HASH_VALUE 9759642196BA93B6
// INDEX 373
uiCheckEndWithErr [Checking file ended with errors:]
// HASH_VALUE 03196C6669AA93A9
// INDEX 374
uiPatchEndNoErr [Patching file ended with no errors]
// HASH_VALUE E2A45B80D6C8F35E
// INDEX 375
uiPatchEndWithErr [Patch failed!]
// HASH_VALUE 97987345E8D46F43
// INDEX 376
uiPatchDiskFull [Disk full!]
// HASH_VALUE 67818F3F0F656F1B
// INDEX 377
uiPatchWriteError [Disk write error! (disk full?)]
// HASH_VALUE 54956061978AB897
// INDEX 378
uiProcessing [Processing file:]
// HASH_VALUE D183CC5E53E4E24A
// INDEX 379
uiUnpack [BNP Unpacking:]
// HASH_VALUE 57282453CE0D24A5
// INDEX 380
uiUnpackErrHead [Cannot read bnp header:]
// HASH_VALUE 3EC17830B80D1B1D
// INDEX 381
uiRebootConfirm [Ryzom will now relaunch. Please wait until Ryzom is fully restarted.]
// HASH_VALUE 809F582A06023625
// INDEX 382
uiRebootBut [CLICK HERE TO RELAUNCH]
// HASH_VALUE EA9888EBCAF59355
// INDEX 383
uiChangeDate [Changing the mod date:]
// HASH_VALUE 4589434CDD042E75
// INDEX 384
uiChgDateErr [Cannot change file time:]
// HASH_VALUE 5BCA0C0C45A99719
// INDEX 385
uiNowDate [Now the date is:]
// HASH_VALUE 485B4807F0581777
// INDEX 386
uiSetAttrib [Set file attributes:]
// HASH_VALUE 5EB5789353166D5E
// INDEX 387
uiAttribErr [Cannot have read/write access:]
// HASH_VALUE C2B6FF326665E080
// INDEX 388
uiDelFile [Delete file:]
// HASH_VALUE 0D262B3499A4A35A
// INDEX 389
uiDelErr [Cannot delete file:]
// HASH_VALUE C238BC781514042B
// INDEX 390
uiDelNoFile [Delete file (no file)]
// HASH_VALUE C1B7E33CDEF4085B
// INDEX 391
uiRenameFile [Rename File:]
// HASH_VALUE 8DB5533699858756
// INDEX 392
uiRenameErr [Cannot rename file:]

View file

@ -1,191 +0,0 @@
// HASH_VALUE 6B09AC86E0363C89
// INDEX 0
LanguageName [Français]
// HASH_VALUE 3259CCA76B39A0A8
// INDEX 1
TheSagaOfRyzom [Ryzom]
// HASH_VALUE C7CC3BE0464ED819
// INDEX 333
uiOnChecking [EXAMINE LES FICHIERS A PATCHER...]
// HASH_VALUE 3DDF0D8BBD1D3C7A
// INDEX 348
uiErrCantPatch [Erreur : Vous ne pouvez pas patcher car l'URL des mises à jour n'est pas configurée dans la base de données (erreur code 16).]
// HASH_VALUE E1B933F053557A69
// INDEX 349
uiNeedToPatch [Information : Vous devez installer les mises à jour pour accéder à ce shard.]
// HASH_VALUE 1CFD71DE1856F357
// INDEX 350
uiErrServerLost [Erreur : Perte du serveur durant la mise à jour de Ryzom.]
// HASH_VALUE 0781700FFA41B8F9
// INDEX 351
uiPatching [MISE A JOUR EN COURS, VEUILLEZ PATIENTER]
// HASH_VALUE B11FE4024EE3A1CB
// INDEX 352
uiErrPatchApply [Erreur : le processus de mises à jour est terminé mais les patchs n'ont pas pu être installés correctement.]
// HASH_VALUE 428B3D2BDA3B2CD2
// INDEX 353
uiErrChecking [Erreur : Echec des fichiers de mises à jour - vérification.]
// HASH_VALUE 40D0242C40D0242C
// INDEX 354
uiKb [Ko]
// HASH_VALUE 4050243440502434
// INDEX 355
uiMb [Mo]
// HASH_VALUE 9FA5A06DD895B637
// INDEX 356
uiLoginGetFile [Récupération du fichier :]
// HASH_VALUE 373988CC56A4B9DB
// INDEX 357
uiDLFailed [Echec téléchargement à partir du serveur d'urgence, processus de patchs avorté]
// HASH_VALUE 0DD314AEEB0A6833
// INDEX 358
uiDLURIFailed [Echec téléchargement à partir d'URI (nouvel essai) :]
// HASH_VALUE 9FEF11F92FE58883
// INDEX 359
uiNoMoreURI [Plus de patchs URI, essayez le serveur d'urgence]
// HASH_VALUE D126843FEAF6BF89
// INDEX 360
uiDLWithCurl [Téléchargement des fichiers via Curl:]
// HASH_VALUE 5DF5B8902957A38B
// INDEX 361
uiDecompressing [Décompression du fichier :]
// HASH_VALUE 5C24504228490833
// INDEX 362
uiCheckInt [Vérification de l'intégrité :]
// HASH_VALUE 4C08EC7AE63A3CA8
// INDEX 363
uiNoVersionFound [Pas de Version trouvée]
// HASH_VALUE EA9BF07087F0DE5C
// INDEX 364
uiVersionFound [Version trouvée :]
// HASH_VALUE 6CBAA4C2CED054DA
// INDEX 365
uiApplyingDelta [Application du Delta :]
// HASH_VALUE 6BA9B484A5229440
// INDEX 366
uiClientVersion [Version du Client]
// HASH_VALUE 2EAADC9D27B47047
// INDEX 367
uiServerVersion [Version du Serveur]
// HASH_VALUE A8B6FC32E686BF9C
// INDEX 368
uiCheckingFile [Vérification du fichier]
// HASH_VALUE 6618CC5E4408BC94
// INDEX 369
uiNeededPatches [Patchs nécessaires :]
// HASH_VALUE 57D72C08D558C375
// INDEX 370
uiCheckInBNP [Vérification du BNP :]
// HASH_VALUE 8810F72436CBB610
// INDEX 371
uiSHA1Diff [Force BNP Analysée : SHA1 ne correspond pas :]
// HASH_VALUE 0328885969AA93AC
// INDEX 372
uiCheckEndNoErr [Fin de vérification du fichier - Pas d'erreur]
// HASH_VALUE 9759642196BA93B6
// INDEX 373
uiCheckEndWithErr [Fin de vérification du fichier - Erreur(s) :]
// HASH_VALUE 03196C6669AA93A9
// INDEX 374
uiPatchEndNoErr [Fichier de patch terminé - Pas d'erreur]
// HASH_VALUE E2A45B80D6C8F35E
// INDEX 375
uiPatchEndWithErr [Echec de la mise à jour !]
// HASH_VALUE 97987345E8D46F43
// INDEX 376
uiPatchDiskFull [Disque plein !]
// HASH_VALUE 67818F3F0F656F1B
// INDEX 377
uiPatchWriteError [Erreur d'écriture ! (disque plein ?)]
// HASH_VALUE 54956061978AB897
// INDEX 378
uiProcessing [Traîtement des fichiers :]
// HASH_VALUE D183CC5E53E4E24A
// INDEX 379
uiUnpack [Décompression BNP :]
// HASH_VALUE 57282453CE0D24A5
// INDEX 380
uiUnpackErrHead [Impossible de lire l'en-tête bnp :]
// HASH_VALUE 3EC17830B80D1B1D
// INDEX 381
uiRebootConfirm [Ryzom va être redémarré. Attendez que le jeu soit totalement relancé SVP.]
// HASH_VALUE 809F582A06023625
// INDEX 382
uiRebootBut [CLIQUEZ ICI POUR REDEMARRER]
// HASH_VALUE EA9888EBCAF59355
// INDEX 383
uiChangeDate [Changement du mode date :]
// HASH_VALUE 4589434CDD042E75
// INDEX 384
uiChgDateErr [Impossible de modifier le fichier heure :]
// HASH_VALUE 5BCA0C0C45A99719
// INDEX 385
uiNowDate [La date est :]
// HASH_VALUE 485B4807F0581777
// INDEX 386
uiSetAttrib [Réglages attributs du fichier :]
// HASH_VALUE 5EB5789353166D5E
// INDEX 387
uiAttribErr [Impossible d'obtenir l'accès lire/écrire :]
// HASH_VALUE C2B6FF326665E080
// INDEX 388
uiDelFile [Suppression du fichier :]
// HASH_VALUE 0D262B3499A4A35A
// INDEX 389
uiDelErr [Impossible de supprimer le fichier :]
// HASH_VALUE C238BC781514042B
// INDEX 390
uiDelNoFile [Suppression du fichier (pas de fichier)]
// HASH_VALUE C1B7E33CDEF4085B
// INDEX 391
uiRenameFile [Attribution d'un nouveau nom au fichier :]
// HASH_VALUE 8DB5533699858756
// INDEX 392
uiRenameErr [Impossible de renommer le fichier :]

View file

@ -1,191 +0,0 @@
// HASH_VALUE 6B09AC86E0363C89
// INDEX 0
LanguageName [Русский]
// HASH_VALUE 3259CCA76B39A0A8
// INDEX 1
TheSagaOfRyzom [Ризом]
// HASH_VALUE C7CC3BE0464ED819
// INDEX 333
uiOnChecking [ПРОВЕРКА ФАЙЛОВ ИГРЫ...]
// HASH_VALUE 3DDF0D8BBD1D3C7A
// INDEX 348
uiErrCantPatch [Ошибка : Патч невозможен, поскольку адрес получения патча не установлен (error code 16).]
// HASH_VALUE E1B933F053557A69
// INDEX 349
uiNeedToPatch [Информация : Для подключения к этому серверу необходим патч.]
// HASH_VALUE 1CFD71DE1856F357
// INDEX 350
uiErrServerLost [Ошибка : Потеря связи с сервером во время патча.]
// HASH_VALUE 0781700FFA41B8F9
// INDEX 351
uiPatching [ПАТЧ В ПРОЦЕССЕ... ПОДОЖДИТЕ]
// HASH_VALUE B11FE4024EE3A1CB
// INDEX 352
uiErrPatchApply [Ошибка : Процесс скачивания патча завершился, но патч невозможен.]
// HASH_VALUE 428B3D2BDA3B2CD2
// INDEX 353
uiErrChecking [Ошибка : Файлы патча не соответствуют необходимым - идет проверка...]
// HASH_VALUE 40D0242C40D0242C
// INDEX 354
uiKb [КБ]
// HASH_VALUE 4050243440502434
// INDEX 355
uiMb [МБ]
// HASH_VALUE 9FA5A06DD895B637
// INDEX 356
uiLoginGetFile [Получение файла :]
// HASH_VALUE 373988CC56A4B9DB
// INDEX 357
uiDLFailed [Скачивание с экстренного сервера невозможно, патч не может быть завершен]
// HASH_VALUE 0DD314AEEB0A6833
// INDEX 358
uiDLURIFailed [Скачивание по указанному адресу невозможно (попытки возобновятся позже) :]
// HASH_VALUE 9FEF11F92FE58883
// INDEX 359
uiNoMoreURI [Адрес для скачивания патча недействителен, подключитесь к экстренному серверу]
// HASH_VALUE D126843FEAF6BF89
// INDEX 360
uiDLWithCurl [Скачивание файла :]
// HASH_VALUE 5DF5B8902957A38B
// INDEX 361
uiDecompressing [Распаковка файла :]
// HASH_VALUE 5C24504228490833
// INDEX 362
uiCheckInt [Проверка файла :]
// HASH_VALUE 4C08EC7AE63A3CA8
// INDEX 363
uiNoVersionFound [Версия не обнаружена]
// HASH_VALUE EA9BF07087F0DE5C
// INDEX 364
uiVersionFound [Обнаружена версия :]
// HASH_VALUE 6CBAA4C2CED054DA
// INDEX 365
uiApplyingDelta [Применяется Дельта :]
// HASH_VALUE 6BA9B484A5229440
// INDEX 366
uiClientVersion [Версия клиента]
// HASH_VALUE 2EAADC9D27B47047
// INDEX 367
uiServerVersion [Версия сервера]
// HASH_VALUE A8B6FC32E686BF9C
// INDEX 368
uiCheckingFile [Проверка файла]
// HASH_VALUE 6618CC5E4408BC94
// INDEX 369
uiNeededPatches [Необходимые патчи :]
// HASH_VALUE 57D72C08D558C375
// INDEX 370
uiCheckInBNP [Проверка BNP :]
// HASH_VALUE 8810F72436CBB610
// INDEX 371
uiSHA1Diff [Форсировать распаковку BNP : контрольные суммы не совпадают :]
// HASH_VALUE 0328885969AA93AC
// INDEX 372
uiCheckEndNoErr [Проверка файла не выявила ошибок]
// HASH_VALUE 9759642196BA93B6
// INDEX 373
uiCheckEndWithErr [Проверка файла выявила ошибки :]
// HASH_VALUE 03196C6669AA93A9
// INDEX 374
uiPatchEndNoErr [Патч осуществлен без ошибок]
// HASH_VALUE E2A45B80D6C8F35E
// INDEX 375
uiPatchEndWithErr [Патч невозможен!]
// HASH_VALUE 97987345E8D46F43
// INDEX 376
uiPatchDiskFull [Диск переполнен!]
// HASH_VALUE 67818F3F0F656F1B
// INDEX 377
uiPatchWriteError [Ошибка записи! (диск переполнен ?)]
// HASH_VALUE 54956061978AB897
// INDEX 378
uiProcessing [Обработка файла :]
// HASH_VALUE D183CC5E53E4E24A
// INDEX 379
uiUnpack [Распаковка BNP :]
// HASH_VALUE 57282453CE0D24A5
// INDEX 380
uiUnpackErrHead [Невозможно прочесть заголовок BNP :]
// HASH_VALUE 3EC17830B80D1B1D
// INDEX 381
uiRebootConfirm [Ризом будет перезапущен. Пожалуйста, подождите...]
// HASH_VALUE 809F582A06023625
// INDEX 382
uiRebootBut [ПЕРЕЗАПУСТИТЬ ИГРУ]
// HASH_VALUE EA9888EBCAF59355
// INDEX 383
uiChangeDate [Перезапись даты изменений :]
// HASH_VALUE 4589434CDD042E75
// INDEX 384
uiChgDateErr [Невозможно изменить время файла :]
// HASH_VALUE 5BCA0C0C45A99719
// INDEX 385
uiNowDate [Новая дата :]
// HASH_VALUE 485B4807F0581777
// INDEX 386
uiSetAttrib [Установить свойства файла :]
// HASH_VALUE 5EB5789353166D5E
// INDEX 387
uiAttribErr [Невозможно получить доступ к чтению/записи :]
// HASH_VALUE C2B6FF326665E080
// INDEX 388
uiDelFile [Удалить файл :]
// HASH_VALUE 0D262B3499A4A35A
// INDEX 389
uiDelErr [Невозможно удалить файл :]
// HASH_VALUE C238BC781514042B
// INDEX 390
uiDelNoFile [Удалить файл (файл отсутствует)]
// HASH_VALUE C1B7E33CDEF4085B
// INDEX 391
uiRenameFile [Переименовать файл :]
// HASH_VALUE 8DB5533699858756
// INDEX 392
uiRenameErr [Невозможно переименовать файл :]

View file

@ -1,468 +0,0 @@
// Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
//
// Includes
//
#include "stdpch.h"
#include "login_patch.h"
#define RZ_USE_SEVENZIP 1
#define RZ_USE_NEW_LZMA
#ifdef RZ_USE_SEVENZIP
#ifdef RZ_USE_NEW_LZMA
#include "seven_zip/7z.h"
#include "seven_zip/7zAlloc.h"
#include "seven_zip/7zBuf.h"
#include "seven_zip/7zCrc.h"
#include "seven_zip/7zFile.h"
#include "seven_zip/7zVersion.h"
#include "seven_zip/LzmaDec.h"
#else
#include "seven_zip/7zCrc.h"
#include "seven_zip/7zIn.h"
#include "seven_zip/7zExtract.h"
#include "seven_zip/LzmaDecode.h"
#endif
//
// Namespaces
//
using namespace std;
using namespace NLMISC;
#ifdef RZ_USE_NEW_LZMA
/// Input stream class for 7zip archive
class CNel7ZipInStream : public ISeekInStream
{
NLMISC::IStream *_Stream;
public:
/// Constructor, only allow file stream because 7zip will 'seek' in the stream
CNel7ZipInStream(NLMISC::IStream *s)
: _Stream(s)
{
Read = readFunc;
Seek = seekFunc;
}
// the read function called by 7zip to read data
static SRes readFunc(void *object, void *buffer, size_t *size)
{
try
{
CNel7ZipInStream *me = (CNel7ZipInStream*)object;
uint len = (uint)*size;
me->_Stream->serialBuffer((uint8*)buffer, len);
return SZ_OK;
}
catch (...)
{
return SZ_ERROR_READ;
}
}
// the seek function called by seven zip to seek inside stream
static SRes seekFunc(void *object, Int64 *pos, ESzSeek origin)
{
try
{
CNel7ZipInStream *me = (CNel7ZipInStream*)object;
sint32 offset = (sint32)*pos;
bool ret = me->_Stream->seek(offset, (NLMISC::IStream::TSeekOrigin)origin);
if (ret)
{
*pos = (Int64)me->_Stream->getPos();
return SZ_OK;
}
}
catch (...)
{
}
return SZ_ERROR_READ;
}
};
#else
/// Input stream class for 7zip archive
class CNel7ZipInStream : public _ISzInStream
{
NLMISC::IStream *_Stream;
public:
/// Constructor, only allow file stream because 7zip will 'seek' in the stream
CNel7ZipInStream(NLMISC::IStream *s)
: _Stream(s)
{
Read = readFunc;
Seek = seekFunc;
}
// the read function called by 7zip to read data
static SZ_RESULT readFunc(void *object, void *buffer, size_t size, size_t *processedSize)
{
try
{
CNel7ZipInStream *me = (CNel7ZipInStream*)object;
me->_Stream->serialBuffer((uint8*)buffer, (uint)size);
*processedSize = size;
return SZ_OK;
}
catch (...)
{
return SZE_FAIL;
}
}
// the seek function called by seven zip to seek inside stream
static SZ_RESULT seekFunc(void *object, CFileSize pos)
{
try
{
CNel7ZipInStream *me = (CNel7ZipInStream*)object;
bool ret= me->_Stream->seek(pos, NLMISC::IStream::begin);
if (ret)
return SZ_OK;
else
return SZE_FAIL;
}
catch (...)
{
return SZE_FAIL;
}
}
};
#endif
#endif
bool CPatchManager::unpack7Zip(const std::string &sevenZipFile, const std::string &destFileName)
{
#ifdef RZ_USE_SEVENZIP
nlinfo("Uncompressing 7zip archive '%s' to '%s'", sevenZipFile.c_str(), destFileName.c_str());
// init seven zip
ISzAlloc allocImp;
allocImp.Alloc = SzAlloc;
allocImp.Free = SzFree;
ISzAlloc allocTempImp;
allocTempImp.Alloc = SzAllocTemp;
allocTempImp.Free = SzFreeTemp;
// wrap file in a CIFile
CIFile input(sevenZipFile);
CNel7ZipInStream inStr(&input);
#ifdef RZ_USE_NEW_LZMA
CLookToRead lookStream;
lookStream.realStream = &inStr;
LookToRead_CreateVTable(&lookStream, False);
LookToRead_Init(&lookStream);
CrcGenerateTable();
CSzArEx db;
SzArEx_Init(&db);
// unpack the file using the 7zip API
SRes res = SzArEx_Open(&db, &lookStream.s, &allocImp, &allocTempImp);
if (res != SZ_OK)
{
nlerror("Failed to open archive file %s", sevenZipFile.c_str());
return false;
}
if (db.NumFiles != 1)
{
nlerror("Seven zip archive with more than 1 file are unsupported");
return false;
}
UInt32 blockIndex = 0xFFFFFFFF; /* it can have any value before first call (if outBuffer = 0) */
Byte *outBuffer = 0; /* it must be 0 before first call for each new archive. */
size_t outBufferSize = 0; /* it can have any value before first call (if outBuffer = 0) */
size_t offset;
size_t outSizeProcessed = 0;
// get the first file
res = SzArEx_Extract(&db, &lookStream.s, 0,
&blockIndex, &outBuffer, &outBufferSize,
&offset, &outSizeProcessed,
&allocImp, &allocTempImp);
// get the length of first file
size_t nameLen = SzArEx_GetFileNameUtf16(&db, 0, NULL);
ucstring filename;
filename.resize(nameLen);
// write filename into ucstring
SzArEx_GetFileNameUtf16(&db, 0, &filename[0]);
// write the extracted file
FILE *outputHandle = fopen(destFileName.c_str(), "wb+");
if (outputHandle == 0)
{
nlerror("Can not open output file '%s'", destFileName.c_str());
return false;
}
UInt32 processedSize = (UInt32)fwrite(outBuffer + offset, 1, outSizeProcessed, outputHandle);
if (processedSize != outSizeProcessed)
{
nlerror("Failed to write %u char to output file '%s'", outSizeProcessed-processedSize, destFileName.c_str());
return false;
}
fclose(outputHandle);
IAlloc_Free(&allocImp, outBuffer);
// free 7z context
SzArEx_Free(&db, &allocImp);
#else
InitCrcTable();
CArchiveDatabaseEx db;
SzArDbExInit(&db);
// unpack the file using the 7zip API
SZ_RESULT res = SzArchiveOpen(&inStr, &db, &allocImp, &allocTempImp);
if (res != SZ_OK)
{
nlerror("Failed to open archive file %s", sevenZipFile.c_str());
return false;
}
if (db.Database.NumFiles != 1)
{
nlerror("Seven zip archive with more than 1 file are unsupported");
return false;
}
UInt32 blockIndex = 0xFFFFFFFF; /* it can have any value before first call (if outBuffer = 0) */
Byte *outBuffer = 0; /* it must be 0 before first call for each new archive. */
size_t outBufferSize = 0; /* it can have any value before first call (if outBuffer = 0) */
size_t offset = 0;
size_t outSizeProcessed = 0;
// get the first file
res = SzExtract(&inStr, &db, 0,
&blockIndex, &outBuffer, &outBufferSize,
&offset, &outSizeProcessed,
&allocImp, &allocTempImp);
// write the extracted file
FILE *outputHandle = fopen(destFileName.c_str(), "wb+");
if (outputHandle == 0)
{
nlerror("Can not open output file '%s'", destFileName.c_str());
return false;
}
UInt32 processedSize = (UInt32)fwrite(outBuffer + offset, 1, outSizeProcessed, outputHandle);
if (processedSize != outSizeProcessed)
{
nlerror("Failed to write %u char to output file '%s'", outSizeProcessed-processedSize, destFileName.c_str());
return false;
}
fclose(outputHandle);
allocImp.Free(outBuffer);
// free 7z context
SzArDbExFree(&db, allocImp.Free);
#endif
// ok, all is fine, file is unpacked
return true;
#else
return false;
#endif
}
bool CPatchManager::unpackLZMA(const std::string &lzmaFile, const std::string &destFileName)
{
#ifdef RZ_USE_SEVENZIP
nldebug("unpackLZMA : decompression the lzma file '%s' into output file '%s", lzmaFile.c_str(), destFileName.c_str());
CIFile inStream(lzmaFile);
uint32 inSize = inStream.getFileSize();
#ifdef RZ_USE_NEW_LZMA
if (inSize < LZMA_PROPS_SIZE + 8)
{
nlwarning("Invalid file size, too small file '%s'", lzmaFile.c_str());
return false;
}
// read the compressed file in buffer
auto_ptr<uint8> inBuffer = auto_ptr<uint8>(new uint8[inSize]);
inStream.serialBuffer(inBuffer.get(), inSize);
uint8 *pos = inBuffer.get();
pos += LZMA_PROPS_SIZE;
// read the output file size
size_t fileSize = 0;
for (int i = 0; i < 8; ++i)
{
if (pos >= inBuffer.get()+inSize)
{
nlassert(false);
return false;
}
fileSize |= ((UInt64)*pos++) << (8 * i);
}
// allocators
ISzAlloc allocImp;
allocImp.Alloc = SzAlloc;
allocImp.Free = SzFree;
CLzmaDec state;
LzmaDec_Construct(&state);
// allocate and decode props and probs
SRes res = LzmaDec_Allocate(&state, inBuffer.get(), LZMA_PROPS_SIZE, &allocImp);
if (res != 0)
{
nlwarning("Failed to decode lzma properies in file '%s'!", lzmaFile.c_str());
return false;
}
// allocate the output buffer
auto_ptr<uint8> outBuffer = auto_ptr<uint8>(new uint8[fileSize]);
// in and out file sizes
SizeT outProcessed = fileSize;
SizeT inProcessed = (SizeT)(inSize-(pos-inBuffer.get()));
LzmaDec_Init(&state);
// decompress the file in memory
ELzmaStatus status;
res = LzmaDec_DecodeToBuf(&state, (Byte*)outBuffer.get(), &outProcessed, (Byte*)pos, &inProcessed, LZMA_FINISH_ANY, &status);
// free memory
LzmaDec_Free(&state, &allocImp);
if (res != 0 || outProcessed != fileSize)
{
nlwarning("Failed to decode lzma file '%s' with status %d", lzmaFile.c_str(), (sint)status);
return false;
}
#else
auto_ptr<uint8> inBuffer = auto_ptr<uint8>(new uint8[inSize]);
inStream.serialBuffer(inBuffer.get(), inSize);
CLzmaDecoderState state;
uint8 *pos = inBuffer.get();
// read the lzma properties
int res = LzmaDecodeProperties(&state.Properties, (unsigned char*) pos, LZMA_PROPERTIES_SIZE);
if (res != 0)
{
nlwarning("Failed to decode lzma properies in file '%s'!", lzmaFile.c_str());
return false;
}
if (inSize < LZMA_PROPERTIES_SIZE + 8)
{
nlwarning("Invalid file size, too small file '%s'", lzmaFile.c_str());
return false;
}
// alloc the probs, making sure they are deleted in function exit
size_t nbProb = LzmaGetNumProbs(&state.Properties);
auto_ptr<CProb> probs = auto_ptr<CProb>(new CProb[nbProb]);
state.Probs = probs.get();
pos += LZMA_PROPERTIES_SIZE;
// read the output file size
size_t fileSize = 0;
for (int i = 0; i < 8; i++)
{
if (pos >= inBuffer.get()+inSize)
{
nlassert(false);
return false;
}
fileSize |= ((UInt64)*pos++) << (8 * i);
}
SizeT outProcessed = 0;
SizeT inProcessed = 0;
// allocate the output buffer
auto_ptr<uint8> outBuffer = auto_ptr<uint8>(new uint8[fileSize]);
// decompress the file in memory
res = LzmaDecode(&state, (unsigned char*) pos, (SizeT)(inSize-(pos-inBuffer.get())), &inProcessed, (unsigned char*)outBuffer.get(), (SizeT)fileSize, &outProcessed);
if (res != 0 || outProcessed != fileSize)
{
nlwarning("Failed to decode lzma file '%s'", lzmaFile.c_str());
return false;
}
#endif
// store on output buffer
COFile outStream(destFileName);
outStream.serialBuffer(outBuffer.get(), (uint)fileSize);
return true;
#else
return false;
#endif
}