-
Публикации
91 -
Зарегистрирован
-
Посещение
Все публикации пользователя Naomi
-
f# практикую, пару задач решить хотела.
-
Я поняла. Видела пост, где ты писал о такой проблеме. Скорей всего мне и достались такие тексты. У меня была проблема с форматированием текста, когда я его открывала. Сейчас в порядке все. У тебя есть опыт с Хаскеллем?
-
Переводим сразу все в ANSI, делаем массовую замену #\n? на #\n и обратно в utf8. Тогда только отпадет лишний 0x3F, про который я писала. А портящие текст переводы строк при редактировании у меня перестали теперь появляться почему-то (раньше была эта проблема). Пользовалась notepad++.
-
Ребят, у меня текстов вообще нет. Это поделка из того, что кинули, а там самая малая часть текстов + кривая. Почти ничего не переведено. Я сама вставила левые тексты. Готовые тексты должны быть следующими: все тексты (без id) должны иметь правильное количество разделителей сообщений. Если хотя бы одного нет, будет несовпадение с количеством id. А таких несовпадений уйма, приходится в сравнивать, вставлять (в случаях, когда вместо текста коды, это ужас). В любом блокноте делаете подсчет разделителей и смотрите, чтобы их количество совпадало с количеством строк в файле с id (+1 пустая строка в конце иногда, ее не считать разумеется). Потом переводы. Оставлять вариант с кодами символов [c:164***/] и рядом с ним перевод не нужно. Такие сообщения можно легко составить здесь и перевести: http://primetorubl.esy.es/slovar.php (сделал ByBus вроде). Переносы строк: на видео заметно, что после переноса стоит еще пробел (такой пробел не ставят и смотрится не красиво, впрочем мне все равно). Кодировка: почти все тексты, которые у меня, были в utf8 (w/ BOM). mcdtool будет ругается на этот символ, потому тексты нужны в utf8 без бома. Однако, когда я сразу конвертировала все тексты в нужную кодировку, паковаться они все равно не хотели. Как выяснилось, если перевести в ansi, в самом начале появлялся символ 0x3F (?). Так, что это тоже править нужно будет, такое было почти со всеми файлами.
-
Сутки пытаюсь добиться glow эффекта текста в главном меню. Все тщетно. Перепробовала кучи мапперов, самый продвинутый оказался этот онлайновый. Но mcdtool ругается на тип данных. В общем без глоу текста в мэйн меню, ребята. на скринах паддинг глифов стоит 2 7 2 7, я бы рекомендовала для Archangelsk 2 9(10) 2 9(10) ставить, при 2 2 2 2 буквы друг на друга лезут. Такие дела. Ушла спать, шрифты потом скинуть могу.
-
Если для игры установлена проверка кэша на неродные cpk файлы, то надо будет выключить проверку целостности кэша. Хотя игра не онлайновая, так что навряд ли будет стим проверять файлы.
-
Ну ок. Патч все равно будет весить меньше. Кто займется запаковкой текста?
-
Компресованный файл весит 700 мб (он же оригинальный). 2гб это без сжатия, потому что игра не может загрузить в память все файлы из сжатого архива (по крайней мере у меня так). Это из-за отсутствия сортировки. Сейчас посмотрю сколько будет весить патч на для замены 100 кб.
-
Нет. Весь текст это 10% от всего размера первого cpk. Если не меньше.
-
Ничего. Людям придется качать 2гигабайтный cpk архив, где заменены только 10% файлов.
-
Так когда еще flatz выложил тулзы, можно было уже тексты собирать. Просто сейчас никто не знает, как скормить игре только измененные файлы, не перепаковывая весь cpk в 2 гигабайта. К слову, но толку от этого нет:
-
По началу я хотела использовать массив строк путей файлов: array<String^>^ files = ::Directory::GetFiles(SelectedPath, "*.ext"). Далее из цикла пока i < files->Length, брала файлы из каталога. Но что если в каталоге будут еще другие каталоги с файлами. Тогда я стала использовать массив FileInfo из-за SearchOption::AllDirectories: Однако, что, если я хочу распаковывать файлы не просто в новый выбранный каталог в рабочей директории, а в новый каталог + весь путь до распаковываемого файла (с вычетом пути до рабочей директории, то бишь без C:\Users\Nickname\Desktop\WorkDir, например). Тут я не стала заморачиваться: поставила условие, если File->Directory->Parent не совпадает с рабочей директорией, то мы создаем для него этот каталог под именем, как у Parent, только в папке, куда распаковываем файлы. Но этот вариант не оптимален, потому что крайним будет подкаталог 2 уровня, а если распаковываемый файл например лежит в подкаталоге выше 2 уровня, то в новой папке потом будет неправильная иерархия файлов и каталогов.
-
Да, осталась работа по упаковке текстов. Кстати, я тоже заметила лимит файлов вне архива. Скрипт проверки выдал, что 38 файлов максимум. После 38 игра крэшится.
-
Да. То бишь кидаешь например папку, взятую из data000.cpk, возле самого .cpk и игра съест содержимое папки. Я проверила, работает. Нашла баг, wtb файлы неправильно перепаковываются, исправляю. Исправлено[/post]
-
CRI cpk maker скуден по настройкам: Китайский может менять кодировку: Дело в том, что у меня после упаковки файлов, в игре после интро роликов происходит ничего, игра даже не крэшится, просто черное окно. С оригинальными data***.cpk она работает. Ты клал dat и dtt файлы возле cpk архива или в папку с названием архива? Писала на c++/cli (хотя там 90% у меня это .net). Опыта мало, после qt, для практики села за winforms. Версия перевода была старая, которую скинули (id и тексты отдельно). Версия была не полная, еще и разделители во многих текстах утеряны. Новых текстов мне так и не дали, так бы давно уже исправила кривые строки, кодировку и раскидала по dat. В любом случае, с новым cpk игра запускается, но показывать main menu отказывается. Кстати, если займешься этим, не забудь нарезанную текстуру используемых символов запаковать в .wtb, а в wtb в .dtt (связанные dtt и dat файлы имеют одинаковые названия). Нарезанная текстура появляется после создания нового mcd. Upd. megayandex По мелочи исправлений.
-
Выкладываю утилиту по работе с тулзами flatz'a. Экспорт glyphs и fonts пока недоступен. charsetgen и bxm, думаю, не пригодятся. Так, что любой может брать тексты и паковать их. Не рекомендую распаковывать папки, у которых внутри есть каталоги с таким же именем: я не знаю как реализовать на .net возврат строки пути по маске или начиная с имени рабочей директории, а иначе весь cpk можно разом было бы перепаковать. Если есть идеи, отпишите + еще нужно кому-то написать скрипт для quickbms для добавления файлов в cpk без распаковки (пока что есть только либра cpkmaker.dll 1.36 + скрипт билда cpk из каталогов). Если найдете баги - пишите. http://bit.ly/1mT29Z4 flatz, чем собирал cpk и с какими параметрами, если собирал?
-
Тексты запакованы в mcd файлы, mcd в dat, dat в cpk. Сам .cpk огромный архив игровых ресурсов. Первый cpk, например, у меня распакованный весит 2.33 Gb. То бишь правильно будет написать cpk репакер, который будет заменять конкретные dat файлы в cpk архиве. Есть один китайский паблик cpk viewer (который может внутри cpk заменять файлы). Но он у меня на win8 не хочет работать. Есть еще для PES2014 или 13 такой же repacker, но он не понимает cpk от MGR.
-
Да. Я разобралась уже с этим. Пока вас не было, я смотрела, в каких dat лежат какие mcd, чтобы быстрее паковать было, когда тексты скинут. Позже могу скинуть тулзу по всей перепаковке.
-
Лавры? Я только наткнулась на тред и посмотрела, что там за текстурки, да ролики распаковать можно и просто интересно стало.
-
Flatz имеет исходники своих тулз на питоне. Очевидно, что он, в случае ошибок, все равно бы исправил их и собрал ресурсы игры. Я пробовала на виртуалке и другом компьютере репаковать. Результат один: WindowsError: [error 2]. mcdtool использует texconv для конвертации текстур tga в dds. Параметры запуска mcdtool это repack [mcd file old] [mcd file new] [text file] [fonts directory]. [fonts directory] это каталог, где лежит файл fonts.txt, в который прописаны пути шрифтов для каждого номера шрифта. Если не прописывать [fonts directory], что должно означать, что файл fonts.txt находится в одной директории с mcdtool.exe. Однако на самом деле в таком случае тулза его не съест, но новый mcd создаст. Этот новый mcd будет точной копией старого, что неправильно. Если же [fonts directory] указана, то тулза ест fonts.txt далее проверка номера шрифта и его директории, берем файл шрифта .fnt по этой директории, в .fnt прописано имя текстуры .tga, тулза ест текстуру. И вот далее я не имею представления, что создает эту ошибку. WindowsError: [error 2]. Это вроде как The system cannot find the file specified. Бывает, что нужно указать путь до питона в переменные среды, но питон стоит, пути прописаны. Так что дело в самом коде mcdtool.py скорее всего. Но могу ошибаться.
-
Haoose и дал. Там не все файлы и многие с ошибками. Использую твои шрифты. Они подходят. Однако перепаковка с ошибкой, поэтому сейчас новые dat файлы не собрать. Я закину чуть позже сюда архив со всеми батниками.
-
Нет. То о чем ты говоришь, это то, что при открытии файла в блокноте ты получаешь обычный стринг без переносов. Однако на самом деле он имеет переносы. Если ты откроешь в нормальном редакторе этот файл, то он отобразиться понятным видом. Конец каждой строки будет обозначен редактором символом переноса, но если сохранить файл в таком виде, то он сломается. Заново его открыв в блокноте, ты увидишь форматированный текст. И такой новый форматированный текст не примет mcdtool при репаке. А проблема текстов, что мне скинули в том, что там просто отсутствует разделитель сообщения вида "-----------------", да еще файлы в utf-8 (w/ BOM). Поэтому сообщений выходит по количеству меньше, чем количество id этих сообщений. Благо ипсравить это легко, нужно просто взять разделители из оригинального файла и вставить их в неправильный файл при компаринге. Я думаю, таких файлов окажется немного, мне и так скинули не все тексты. К тому же они выглядят не редактированными. Так там Playstation move переведено как Pайstation Move. Фиксированный шрифт из кодов можно заменить своими строками с кириллицей. Нужно только, чтобы шрифт был похожим. Другой способ это указать этим кодам другие символы. Скорей всего они лежат в конфигах bxm, но конкретно где, неизвестно, хотя найти можно. Если кому не лень будет можно и интро ZoneOfGames сделать прописывать в интро игр, как это делают репакеры.
-
Киньте в личку кто-нибудь линк на тексты с переводами. Сразу склею их и подготовлю для них dat файлы. upd. Получила часть. upd1. У некоторых файлов количество id и сообщений не совпадает. Сейчас разберусь в чем дело. upd2. Сравнила с оригиналом. Несовпадение из-за отсутствия разделителей сообщений в некоторых местах в переведенных файлах.
-
Есть кто сможет декомпилировать exe, скомпиленную на python 2.7?
-
У строк есть свои оффсеты. Например вот message_id:1591061390 состоит из двух строк (num_blocks) Каждая строка сообщения описывается отдельно (в каждой следующей написано количество printable_characters предыдущей) Если mcdtool выставляет свои оффсеты (правильно или нет), то это не страшно. В любом случае это даже не проверить, потому что mcdtool выдает ошибку при перепаковке с использованием шрифтов. Haoose, ты пробовал скормить шрифты mcdtool?