Rusted PackFile Manager
RPFM Документация с развёрнутым пояснением интерфейсов и функционала
Автор:
Frodo45127
Расширенный перевод:
vadim
1. Что такое RPFM?
Это
Rusted PackFile Manager, он же
RPFM, инструмент создания модов для современных игр серии Total War.
Прежде чем рассказать о том, что он делает, следует немного объяснить, как работает сам моддинг в играх Total War начиная с игры Empire. Yачиная с этой славной стратегии, большинство данных в играх Total War находится в файлах .pack, упакованных вместе, чтобы их было быстрее и удобней исполнять при активации всего игрового механизма. Эти .pack-файлы представляют собой контейнеры. Внутри них находится тонна файлов с фактическими данными игры. Вот некоторые из этих файлов:
Таблицы DB: содержат большинство модифицируемых вещей игры, таких как статистика юнитов, информация о зданиях, ..... Они всегда находятся в папке db/whatever_tables/table_file.
LOCs: содержит фактический текст, который вы видите на экране во время игры. Да, все эти буквы – текстовая локализация Игры.
Lua/Txt/Xml/...: обычные текстовые файлы. Ничего сложного.
RigidModels: файлы с реальными 3D-моделями почти всего, что вы видите в игре, например юнитов, строений, монстров и т. д.
Изображения UI: иконки, текстуры и т.д.....
Итак, как же выполняется моддинг в современных играх серии Total War? Вы создаёте mod пакет, добавляете некоторые из этих файлов, изменяете их, а затем сообщаете программе запуска, что нужно использовать этот мод с внесёнными вами изменениями. Просто, не так ли? Теперь, что такое RPFM? Это программа, которая позволяет создавать и редактировать эти пакеты, а также редактировать таблицы, локации и т. д. внутри них. Вот, в общих чертах и вся суть процесса моддинга игры.
Но постойте, разве это вам не напоминает что-то? Если вы уже сталкивались с модификацией современной игры Total War, то да.
RPFM был создан как полная переработка старого PFM (PackFile Manager). Дело в том, что PFM работал медленно, содержал ошибки и не обновлялся более полугода, пока кто-то не решил заняться его улучшением. Однако RPFM вышел за рамки своего базового начального софта PFM/на основе которого он и был создан/.
Если вы раньше использовали PFM, то заметите, что у RPFM похожий интерфейс, и большинство функций находятся в тех же местах или рядом с ними. Это сделано для того, чтобы модераторам, которые привыкли к PFM, было легче освоить новый, более качественный инструмент.
Итак, вы хотите попробовать? Тогда прочтите раздел
Начальная конфигурация софта RPFM – данный раздел поясняет первичные доп. Настройки программы RPFM.
И помните, что вы всегда можете получить доступ к этой документации, нажав на Open RPFM Manual в правом нижнем углу экрана самого софта.
2. Начальная конфигурация RPFM /первичные настройки/
После первого запуска RPFM нам нужно настроить несколько параметров.
Сначала вам должно быть предложено обновить схемы. Нажмите "Да". Схемы - это файлы, используемые для редактирования таблиц, поэтому они вам нужны. Помните, что они всегда должны быть актуальными.
Затем нам нужно перейти в
Paths / Settings, после чего появится окно, показанное выше. Кажется, что нужно знать много нового для точной настройки, но на самом деле всё намного проще чем кажется. Итак это пути к файлам игр серии TW, а так же направление к Доп. Инструментарию от разработчиков и к Новому/созданному вами/ паку вашего мода :
Game Folder -
Папка с Игрой: Это направление к папке, в которой находится ваша игра. Не там, где /data, а там, где именно файл.EXE!!! RPFM необходимы данные направления к рабочим файлам игр, так что это необходимо прописать в обязательном порядке.
Assembly Kit Folder -
Папка Assembly Kit: Это папка, в которой находятся инструменты моддинга от разработчиков игр СА.
MyMod's Folder -
Папка MyMod: это путь, где будет храниться ваш MyMod. О MyMod будет рассказано в следующей главе этой документации, а пока вам просто нужно знать, что это путь, который RPFM будет использовать для хранения файлов вашего мода. Рекомендация задать путь к папке имеющей достаточно большой объём.
7-Zip Folder –
Папка с exe файлом 7-Zip: если у вас установлен 7-Zip, поместите сюда папку, в которой находится exe-файл 7-Zip. Это необходимо для поддержки сжатия. Без него, если вы попытаетесь сжать пакет, это не удастся.
Далее, все эти флажки. Вы можете получить объяснение того, что они делают, просто наведя на них курсор мыши, как здесь.
Далее - кнопка "Текстовый редактор". Она управляет всеми настройками текстового редактора, включая его цветовые темы.
И, наконец, кнопка
Shortcuts "
Ярлыки". Нажав ее, вы откроете окно "
Shortcuts ", где можно просмотреть и отредактировать все конфигурации клавиш, используемые в RPFM в данный момент.
Только имейте в виду, что некоторые
сочетания команд применяются только после нового запуска программы, поэтому вам придется закрыть и снова открыть RPFM, чтобы изменения вступили в силу.
Когда вы закончите с настройками, просто нажмите кнопку
Save -
Сохранить. Вы можете восстановить все настройки по умолчанию с помощью кнопки слева (то же самое касается ярлыков с их кнопкой Restore Defaults). Следует учесть, что если какой-либо из путей недействителен, RPFM удалит его при нажатии кнопки Сохранить.
Теперь последний шаг. Он необязательный, но рекомендуемый, и требует, чтобы у вас был установлен
Assembly Kit для ваших игр. Нужно зайти в раздел
Special Stuff и для каждой игры нажать
Generate Dependency Cache. Это создаст специальный файл, который поможет RPFM со справочными данными для столбцов таблицы. Пока что он
не включен для Empire и Napoleon, но должен работать для всех остальных игр.
На этом начальная настройка завершена. Теперь, когда мы закончили настройку RPFM, давайте посмотрим, какие возможности он может предложить.
3. Кнопки и их назначение
В этой главе мы рассмотрим все кнопки общего назначения и скрытые действия, которые есть в RPFM (действия, специфичные для PackedFile, описаны в соответствующей главе), так что вам не придется спрашивать, что они делают. Не забывайте, что в дополнение к этой главе вы можете
навести курсор мыши почти на каждую кнопку RPFM, и в строке состояния внизу появится короткое сообщение, объясняющее, что эта кнопка делает.
3.1 Панель меню
Во-первых, верхняя панель меню. В ней пять меню, о которых будет рассказано в следующих главах. Но чтобы дать вам представление о том, что у нас есть:
•
PackFile ПакФайл: Здесь находятся все основные функции для пак файлов, такие как "Создать", "Открыть" и "Сохранить". Назначение данных функций просто и элементарено/названия отделов полностью описывают их функционал/.
•
MyMod МойМод: Здесь находится все, что связано с использованием функции MyMod.
•
View Вид: Здесь вы можете скрывать/показывать определенные панели пользовательского интерфейса.
•
Game Selected Выбранная игра: Здесь вы выбираете игру, для которой вы модифицируете текущий пакет, если RPFM не смог выбрать ее за вас.
•
Special Stuff Особые функции: Здесь идёт указание на спец функции софта направленные на все установленные игры серии TW.Например на создание кеша для каждой игры и тд.
•
Tools Инструменты: Здесь находятся специализированные инструменты, такие как художник фракций и редактор юнитов.
•
About О программе: Сюда вы попадете, когда захотите прочитать эту документацию, проверить обновление для софта на Patreonе или узнать, какая версия RPFM у вас установлена.
3.1.1 Меню PackFile /пояснение и уточнение функционала разделов/
Здесь мы можем найти основные действия:
•
New PackFile: Создает новый файл PackFile.
•
Open PackFile: открывает один или несколько PackFiles в RPFM.
•
Save PackFile: сохранение изменений, сделанных в PackFile, на диск компа.
•
Save PackFile As Сохранить пакетный файл как: Сохраняет текущий файл PackFile как.
•
Install: Устанавливает открытый в данный момент файл PackFile в папку с данными игры.
•
Unistall: Удаляет открытый в данный момент PackFile из папки данных с игрой.
•
Open Recent…/xxx.pack Открыть недавний.../xxx.pack: Открыть недавно открытый файл PackFile.
•
Open From Content…/xxx.pack Открыть из папки Content.../xxx.pack: Открыть выбранный PackFile из папки Content (Workshop mods) игры. Требуется настройка пути к игре.
•
Open From Data…/xxx.pack Открыть из папки Data.../xxx.pack: Открыть выбранный файл PackFile из папки Data игры. Требуется настройка пути к игре.
•
Open From Autosave…/xxx.pack Открыть из автосохранения.../xxx.pack: Открывает выбранный файл PackFile из папки Autosave. Автосохранения относятся к каждому паку и сортируются от самого нового к самому старому, поэтому если вы хотите загрузить последнее автосохранение, выберите первое.
•
Load All CA PackFiles Загрузить все CA PackFiles: Создает в памяти поддельный PackFile и пытается загрузить в него все данные из каждого Vanilla PackFile игры. Имейте в виду, что это займет некоторое время. Отключается, если у вас загружены зависимости в панели зависимостей.
•
Change PackFile Type Изменить тип файла: Позволяет изменить тип открытого PackFile и настроить для него некоторые параметры.
•
Settings Настройки: Откройте окно настроек.
•
Quit Уйти: Кликнув на этот пункт вы можите выйти из программы RPFM.
Типы файлов Pack /можно увидеть данный столбец кликнув на графу
Change PackFile Type / - так вот Типы файлов это то, что использует для загрузки всех данных игры. Перечислим следующие типы, в том порядке, в котором игра их загружает для работы всех своих процессов:
•
Boot Загрузочный: Используется boot.pack. Не полезен для моддинга. Загружается первым.
•
Release Релиз: Это дефолтный пак файл. В данном расширении например находится пак файл дата/очень важный с данными data.pack/ Используется большинством CA PackFiles. Не полезен для моддинга.
•
Pactch Патч: Используется некоторыми CA PackFiles, особенно в Shogun 2 и более старых играх. Не полезен для моддинга.
•
Mod Мод: Используется большинством модов. Это тот, который вы будете использовать чаще всего.
•
Movie Мув: Используется некоторыми CA PackFiles и некоторыми специфическими модами. Полезен для моддинга. Всегда загружается первым при прочитывании всех пак файлов игры. Этот пак файл с расширением мув всегда будет загружать данные которые находятся в нём первыми в игре/даже первей чем дефолтные оф. паки игры/
В этом меню есть еще несколько опций для настройки PackFiles:
•
Header Is Extended Заголовок расширен: Заголовок файла PackFile расширен (отображается только на арене).
•
Index Includes Timestamp Индекс включает временную метку: В индексе файла PackFile есть метка времени, возможно, дата последнего изменения.
•
Index Is Encrypted Индекс зашифрован: Индекс файла PackFile зашифрован.
•
Data Is Encrypted Data Данные зашифрованы: Данные файла PackFile зашифрованы.
•
Data Is Conpressed Data Данные сжаты: Данные файла PackFile сжаты.
Что касается этих опций, просто примите во внимание, что любой PackFile с включенной любой из этих опций (кроме
Data Is Compressed) не будет распознан программой запуска как мод. И RPFM не поддерживает сохранение PackFiles с включенными
Index Is Encrypted,
Data Is Encrypted или
Header Is Extended.
Если вы не включите опцию
Allow Editing of CA PackFiles/которая напоминаем находится в разделе
Settings -
Настройки/ , RPFM не позволит вам сохранить
Boot,
Release или
Patch PackFiles.
На этом мы закончим работу с меню PackFile. Далее - меню MyMod.
3.1.2 Меню MyMod
MyMod - это функция, помогающая моддерам
хранить данные о своих модах. Система начиналась как почти 1:1 клон функции MyMod в PFM и расширялась с этого момента, так что она должна быть легкой в использовании и для ветеранов.
Для тех, кто в курсе, помните папку MyMod, которую мы задали в настройках? Когда мы создаем MyMod, в этой папке будет создана папка для игры, для которой предназначен мод (если ее не было раньше), а внутри нее - PackFile и папка, обе с названием вашего мода. Каждый раз, когда вы извлекаете что-то из PackFile, оно будет автоматически извлекаться в его папку,
повторяя структуру, которую оно имеет в PackFile. Например, при извлечении таблицы она будет извлечена в папку
mymod_folder/db/table_name/file. Добавление файлов/папок из папки MyMod
также добавит их в зеркальном отражении пути, который они имеют. Например, добавление файла из папки mymod_folder/db/table_name/file_ добавит его в PackFile/db/table_name/file.
Это облегчает отслеживание файлов мода, и вы даже можете поместить эту папку в .git или любую другую систему контроля версий, так как у вас будет распакованный мод, который вы сможете упаковать одним щелчком мыши (ну, несколькими щелчками).
Меню MyMod содержит следующие кнопки:
•
Open MyMod Folder Открыть папку MyMod: Открывает папку MyMod в проводнике файлов по умолчанию.
•
New MyMod Новый мод: Открывает диалоговое окно New MyMod Dialog. Оно описано в этом списке.
•
Delete Selected MyMod Удалить выбранный MyMod: Удаляет выбранный в данный момент MyMod. Это нельзя отменить, поэтому вы получите предупреждение, прежде чем сделать это.
•
Import Импортировать: Импортирует содержимое папки MyMod из открытого в данный момент файла MyMod PackFile в указанный PackFile.
•
Export Экспорт: Извлеките текущий файл MyMod PackFile в папку MyMod.
•
Название игры/yourmod.pack: Откройте ранее созданный MyMod, чтобы редактировать, удалять, устанавливать, .... все, что вы хотите, детка!
Когда мы нажмем кнопку
New MyMod, появится следующее диалоговое окно:
Здесь вы можете настроить MyMod на нужные вам функции. Как только вы закончите, нажмите "
Сохранить", и ваш новый MyMod будет создан и открыт.
И, наконец, несколько замечаний:
• Чтобы иметь возможность использовать импорт/экспорт, необходимо, чтобы ваш MyMod был открыт.
• Только MyMod PackFiles, открытые из
XXX/yourmod.pack, будут пользоваться возможностями MyMod, такими как сохранение путей при добавлении/распаковке файлов. Открытые вручную MyMod PackFiles будут рассматриваться как обычные PackFiles.
3.4 Меню вида просмотра
В данном меню вы можете скрывать/показывать определенные панели пользовательского интерфейса:
•
Toggle PackFile Contents Содержание PackFile: То, что слева, с файлами и папками в нем.
•
Toggle Global Search Глобальный поиск: Панель для поиска материала во всем открытом паке
•
Toggle Diagnostics Диагностика: Панель для отображения результатов диагностики по всему паку
•
Toggle Dependencies Зависимости: Панель для отображения всех загруженных данных в момент направленной зависимости от дефолт папок.
•
Toggle References Референц файл : Референц поиска: панель для отображения найденного референца/ключа названия файла или папки или тд/, или найденных с помощью функции поиска референцов
3.1.4 Меню выбора игры
В этом меню вы можете
изменить текущую выбранную игру. При открытии PackFiles RPFM пытается быть умным и автоматически выбирать игру, но есть некоторые PackFiles, которые одинаковы для разных игр (например, Attila и Warhammer 1 PackFiles идентичны), так что... просто убедитесь, что выбрана правильная игра после открытия PackFile, так как это влияет на работу многих частей программы. Полный список поддерживаемых игр выглядит следующим образом:
•
Pharaoh Dynasties: Полная поддержка.
•
Pharaoh: Полная поддержка.
•
Warhammer 3: Полная поддержка.
•
Тroy: Полная поддержка.
•
Тhree Kingdoms: Полная поддержка.
•
Warhammer 2: Полная поддержка.
•
Warhammer: Полная поддержка.
•
Thrones of Britannia: Полная поддержка.
•
Аttila: Полная поддержка.
•
Rome 2: Полная поддержка.
•
Shogun 2: Полная поддержка.
•
Napoleon: Почти полная поддержка. Отсутствует поддержка генерации кэша зависимостей.
•
Empire: Почти полная поддержка. Отсутствует поддержка генерации кэша зависимостей.
•
Arena: Поддержка PackFiles только для чтения. Неполная схема.
Кроме того, в верхней части есть несколько удобных кнопок для открытия определенных папок в файловом менеджере, установленном по умолчанию в вашей системе:
•
Запустить выбранную игру: Быстрый ярлык для запуска выбранной в данный момент игры.
•
Открыть папку данных игры: Откройте папку данных выбранной игры, если путь к ней указан в настройках.
•
Откройте папку Assembly Kit игры: Открыть папку с набором для сборки выбранной игры, если путь к ней указан в настройках. Только для Rome 2 и более поздних игр.
•
Откройте папку конфигурации RPFM: Очень важное направление и папки с помощью которых можно производить детальную шлифовку данных софта/Откройте папку config RPFM, которая содержит конфиги, ярлыки, схемы, crashlogs, porn,....
3.1.5 Дополнительное меню Спец. элементы
---------------
Это меню содержит... специальные функции, реализованные для конкретных игр. В принципе, сюда попадает любая функция, которая не вписывается ни в одно другое место. Здесь есть:
•
Патч SiegeAI: используется в Warhammer 1 и 2 для создания осадных карт, с которыми может справиться ИИ. По сути, создайте свою карту с необходимыми для работы ИИ вещами, а затем исправьте её в PackFile с помощью этого патча.
•
Build Startpos: Изменение прописей в файле Стартпост или создание нового файла Стартпост.
•
Optimize PackFile: уменьшает размер вашего PackFile и повышает его совместимость с другими модами за счет очистки некоторых элементов в вашем packfile:
При оптимизации вашего пак файла вот что меняется в конфигурации файлов
DB: Удаляет неизмененные строки из ванили. Если таблица пуста, она удаляет ее. Файлы игнорирования называются так же, как и ванильные (если вы не отключите это в настройках).
Loc: Удаляет неизмененные строки из ванили.
Xml: Удалены xml-файлы из папки terrain/tiles, так как они остались после экспорта Терри...
•
Generate Dependencies Cache: генерирует кэш, используемый для таких вещей, как проверка зависимостей, диагностика, ..... Пока не работает для Empire и Napoleon.
•
Live Export Прямой экспорт: Экспортирует все скриптовые и ui файлы из открытого пака в папку данных игры со случайным числом, а также помещает все сопоставления путей в файл в папке exe. Таким образом, вы можете загрузить этот файл в игре, и он позволит вам загрузить указанные скрипты и ui файлы без перезапуска игры.
Также есть функция Rescue PackFile, которую НЕЛЬЗЯ использовать, если вас не проинструктировали как работает данная фича.
3.1.6 Tools Menu Меню Инструментов
Меню с пользовательскими инструментами, интегрированными в RPFM:
Faction Painter: позволяет менять цвета всех фракций в игре.
Unit Editor: позволяет редактировать юнитов
Translator: позволяет переводить описание в локализации
3.1.7 About Menu О программе
Довольно простое и понятное меню:
About QT: показывает информацию об используемой версии Qt (фреймворк, который RPFM использует для пользовательского интерфейса).
About RPFM: показывает информацию об используемой версии RPFM и кредитах.
Check Updates: проверяет, доступна ли более новая версия RPFM.
Check Schema Update: проверяет, доступна ли более новая версия схем schema RPFM, и загружает их.
Check TW Autogen Update: проверяет, доступна ли более новая версия репозитория
lua TW Autogen, и загружает ее.
Схемы schema, о которых я говорил в последнем пункте, позволяют RPFM декодировать и открывать таблицы всех поддерживаемых игр. Более новые схемы означают больше открываемых таблиц. Очень часто после обновления несколько таблиц меняют свою структуру и больше не декодируются. Чтобы заставить их снова работать, схему необходимо обновить.
Примечание – в последних версиях программы осталось только три элемента данного раздела
About QT. About RPFM. Check Updates – все остальные вынесены в отдельное меню обновления версии софта.
3.2 PackFile TreeView Файловое древо Пакфайла
Первый раздел слева – Содержимое Pack файла, если кликнуть на пак раскроется весь раздел с папками и прочими файлами — это и есть
TreeView PackFile/древо пак файла/. Здесь отображаются все файлы внутри нашего/или дефолтного/ PackFiles. Если вам что-то там не нравится, его можно переместить в другое место или даже закрыть. Когда вы щелкните правой кнопкой мыши по любому из файлов или папок в нутрии древа, появится следующее контекстное меню:
Так думаю будет более наглядно и понятно о чём речь.
В контекстном меню перечислены все операции, которые вы можете использовать для изменения своего PackFile. Каждая из данных операций имеет свои горячие клавиши для быстрого исполнения функций. Рассмотрим это меню всё по порядку.
•
Add…/Add File Добавить/ Добавить файл : Позволяет добавить один или несколько файлов в PackFile. Если обнаружены файлы TSV, RPFM попытается импортировать их как таблицы/ locs расширение локации.
•
Add…/Add Folder Добавить/ Добавить папку : Позволяет добавить папку и все файлы в ней в PackFile. Если в данной папке будут обнаружены файлы TSV, RPFM попытается импортировать их как таблицы/ locs
•
Add…/Add from PackFile Добавить/ Добавить из ПакФайла : Позволяет добавлять файлы или папки из другого PackFile в ваш PackFile. Просто выберите то, что хотите добавить, дважды щелкните по нему, и оно будет добавлено в ваш PackFile, сохраняя свой путь и структуру выбранного древа.
•
Create…/Create Folder Создать…/Создать папку: Позволяет создать пустую папку. Из-за особенностей работы PackFiles пустые папки не сохраняются, поэтому, если вы хотите сохранить папку, добавьте в нее файл. Поддерживает структурность древа пути/когда папка в папке/.
•
Create…/Create AnimPack Создать…/Создать Пак Анимации: Позволяет создать пустой AnimPack.
•
Create…/Create DB Создать…/Создать файлы DB: Позволяет создать пустую таблицу DB файла.
•
Create…/Create Loc Создать…/Создать файл Лакализации Loc: Позволяет создать пустой Loc файл. Вы также можете создать его относительный путь с подпапками, написав что-то вроде folder1/folder2/file вместо просто имени файла.
•
Create…/Create Portrait Settings Создать…/Создать файл настроек UI Портретов: Позволяет создать файл настроек портрета. Его можно инициализировать данными из открытого мода.
•
Create…/Create Text Добавить/ Добавить текстовой файл : Позволяет создать пустой текстовый файл. ЛЮБОЙ ТЕКСТОВЫЙ ФАЙЛ (включая lua, xml,...). Вы также можете создать его относительный путь, написав что-то вроде folder1/folder2/file вместо просто имени файла.
•
Create…/Create Quick File Создать…/Создать быстрый файл: Позволяет создать файл на основе контекста выбранной игры. Текущие контексты, в которых это работает:
1.
db/x_tables: создает новую пустую таблицу базы данных последней версии, поддерживаемой выбранной игрой.
2.
text/: создает файл loc.
3.
scripts/: создает скрипт LUA.
4.
variationmeshes/variantmeshdefinitions/: создает файл variationmesh.
•
Open…/Open with Decoder Открыть…/Открыть с помощью декодера: Позволяет открыть таблицу в PackedFile Decoder. Используется только для декодирования новых таблиц, так что не рекомендуется без надлежащих навыков этим пользоваться.
•
Open…/Open Dependency Manager Открыть…/Открыть менеджер зависимостей: Позволяет открыть список зависимостей, включенных в Pack File. Ознакомьтесь со следующей главой, чтобы узнать, что представляет собой этот Dependency Manager Менеджер зависимостей.
•
Open…/Open Containing Folder Открыть…/Открыть содержащую папку: Позволяет открыть папку, в которой находится открытый PackFile (если он находится на диске), с помощью файлового менеджера вашей системы по умолчанию.
•
Open…/Open PackFile Settings Открыть…/Открыть настройки PackFile: Позволяет открыть настройки текущего открытого PackFile.
•
Open…/Open with External Program Открыть…/Открыть с помощью внешней программы: Позволяет открывать PackedFile с помощью внешней программы. Для таблиц и locs файлов выполняется некоторая внутренняя подпрограмма декодинга, чтобы их можно было открыть в excel/calc/программе, с помощью которой открываются ваши tsv-файлы.
•
Open…/Open Notes Открыть…/Открыть заметки Позволяет открыть панель заметок для записи полезной и поясняющей информации, связанной с PackFile мода /например что сделано в данный этап или сессию/.
•
Rename/Move: позволяет переименовать/или изменить расширение файла который выбран в нутрии структуры вашего PackFile.
•
Delete: позволяет удалить все, что выбрано. Если выбран PackFile, он удаляет все файлы из него.
•
Extract: позволяет извлечь все, что выбрано из PackFile. Если выбранное вами сжато/зашифровано, RPFM распакует/расшифрует его перед извлечением, поэтому полученный файл можно использовать.
•
Copy Path: позволяет скопировать путь выбранного элемента в буфер обмена.
•
Merge Tables: позволяет объединить несколько таблиц DB/LOC в одну.
•
Update Table: позволяет обновить структуру таблицы до последней, используемой выбранной игрой.
•
Generate Loc Data: позволяет сгенерировать список отсутствующих записей
loc для вашего мода.
Кроме того, с помощью сочетаний клавиш
Ctrl++ и Ctrl+- вы можете развернуть/свернуть весь
TreeView/файловое древо пака/.
Помните, что доступность этих действий зависит от того, что выбрано, и от загруженных в данный момент схем/
schemas /. Например, вы не сможете ничего добавить, если выбрали PackedFile. Также помните, что если загружен MyMod, некоторые из этих действий могут работать по-другому.
Кроме того, когда вы добавляете,/изменяете файл, он помечается в
TreeView /в файловом древе/ следующим цветовым кодом:
•
Green/Dark Green Зеленый/Темно-зеленый: добавленный файл..
•
Yellow/Dark Yellow Желтый/Темно-желтый: измененный файл.
•
Magenta/Dark Magenta Пурпурный/Темно-пурпурный: добавленный И измененный файл.
Этот цветовой код применяется и к родительским элементам, вплоть до PackFile, поэтому вы легко узнаете, что вы изменили с момента последнего сохранения PackFile.
И последнее, фильтр
TreeView Filter. Это та штука с кнопками внизу
TreeView. Она позволяет вам фильтровать содержимое
TreeView по шаблону (работает с
Regex!). Кнопки под панелью фильтра, где вы пишете шаблон, следующие:
•
Auto-Expand Matches: автоматически разворачивает все совпавшие папки/файлы. Это в сочетании с кучей совпадений (пустой шаблон и +60k файлов в data.pack) может на некоторое время завесить программу, поэтому будьте осторожны, когда вы используете его.
•
AaI: кнопка чувствительности к регистру. Здесь не так много объяснений.
3.2.1 Dependency Manager Менеджер Зависимостей
Dependency Manager Менеджер зависимостей позволяет вам изменять специальный список файлов пакетов, сохраненных в Пак файле вашего мода. Ваши изменённые файлы/которые находятся в вашем Пак файле мода должны грузится первыми нежели дефолтные файлы/родные/ из игры. Это первичное правило для того чтобы ваши изменённые данные работали в игре. Менеджер зависимостей позволяет создать список для жесткого кодирования зависимостей в вашем Пак файле. Проще говоря при помощи данного Менеджера можно создать структуру из изменённых мод файлов и дефолтных/пустых/ файлов – данная структура необходима для корректной и правильной загрузки всего мода, со всеми изменениями в отдельных файлах Пака мода. В его контекстном меню
Dependency Manager (щелчок правой кнопкой мыши) вы можете найти более или менее одинаковые команды для таблицы базы данных.
3.2.2 PackFile Settings Настройки PackFile
Настройки PackFile — это список настроек, для конкретного/например открытого сейчас/ вашего PackFile, которые могут изменить некоторые параметры поведения RPFM только для открытого в данный момент PackFile. Они хранятся внутри PackFile, поэтому каждый раз, когда вы снова открываете этот PackFile, они будут применяться повторно. Список настроек выглядит следующим образом:
•
PackedFiles to Ignore on Diagnostics Check: Это список PackedFiles, которые будут игнорироваться при выполнении диагностической проверки. Вы можете игнорировать целые папки, отдельные PackedFiles, определенные столбцы отдельных PackedFiles и определенную диагностику отдельных PackedFiles. Формат прописи диагностики следующий:
•
db/land_units_tables => Все таблицы в этой папке будут проигнорированы.
•
db/land_units_tables/table1 => Эта конкретная таблица будет проигнорирована.
•
db/land_units_tables/table2;field1,field2 => Будут проигнорированы только эти два поля этой конкретной таблицы.
•
db/land_units_tables;field1,field2 => Только эти два поля из всех таблиц в этой папке будут проигнорированы.
•
db/land_units_tables/table1;;DiagId1,DiagId2 => Будут проигнорированы только эти две диагностики для этой конкретной таблицы.
• Строки комментариев должны начинаться с символа
#.
Специальные ключи, используемые для отключения определенных диагностик:
•
OutdatedTable => Устаревшая таблица.
•
InvalidReference => Недопустимая ссылка.
•
EmptyRow => Пустая строка.
•
EmptyKeyField => Пустое поле ключа.
•
EmptyKeyFields => Пустые поля ключа.
•
DuplicatedCombinedKeys => Дублированные комбинированные ключи.
•
NoReferenceTableFound => Ссылочная таблица не найдена.
•
NoReferenceTableNorColumnFoundPak => Ссылочная таблица/столбец не найдена.
•
NoReferenceTableNorColumnFoundNoPak => Ссылочная таблица/столбец не найдена.
•
InvalidEscape => Недопустимый escape.
•
DuplicatedRow => Дублированная строка.
•
InvalidLocKey => Недопустимый ключ Loc.
•
TableNameEndsInNumber => Имя таблицы заканчивается на число.
•
TableNameHasSpace => В имени таблицы есть пробел.
•
TableIsDataCoring => Таблица является data-coring.
•
FieldWithPathNotFound => Путь/файл в поле не найден.
•
BannedTable => Обнаружена запрещенная таблица.
•
ValueCannotBeEmpty => Значение не может быть пустым.
•
InvalidDependencyPackName => Недопустимый файл пакета зависимостей
•
InvalidPackName => Недопустимое имя пакета
•
DatacoredPortraitSettings => Файл настроек портрета Datacored.
•
InvalidArtSetId => Недопустимый идентификатор набора изображений
•
InvalidVariantFilename => Недопустимое имя файла варианта
•
FileDiffuseNotFoundForVariant => Файл диффузии не найден для варианта.
Files to Ignore when Importing Файлы для игнорирования при импорте: пути здесь будут игнорироваться при импорте в MyMod.
Disable Autosaves for this PackFile Отключить авто сохранение для этого PackFile: для большихPackFiles.
3.2.2 Notes Примечание
Notes - это система простых заметок, хранящихся в PackFiles. Это просто способ хранить нестандартные вещи (например, «этот столбец для X, запомните его при изменении Y!») в ваших PackFiles. Вы можете иметь одну заметку на PackFile. Используйте ее для чего угодно. Для заметок, специальных для файлов, используйте систему
Quick Notes
3.3 Global Search Глобальный поиск
Глобальный поиск позволяет вам выполнять простой поиск (введённый поисковик Regex) по всем файлам
DB/Loc/Text внутри вашего PackFile (и схемы schema текущей выбранной игры), предоставляя вам фильтруемый список результатов в правой части экрана.
Довольно просто, только несколько замечаний:
• Поле поиска станет красным/зеленым в зависимости от того, является ли ваш текст допустимым регулярным выражением или нет (если вы включили опцию регулярных выражений).
• Поля схемы schema не подлежат замене
3.4 Diagnostics Panel Панель диагностики
Панель диагностики позволяет быстро определить возможные проблемы в вашем моде, чтобы вы могли исправить их до того, как они отразятся в игре.
Это довольно просто. Слева направо:
•
Check PackFile: выполняет диагностическую проверку всего PackFile. Если соответствующие настройки включены, это выполняется автоматически и при открытии PackFile.
•
Check Open PackedFile: выполняет диагностическую проверку открытых PackedFiles, оставляя результаты других PackFiles такими, какие они есть.
•
Error: включает показ диагностики ошибок.
•
Warning: включает показ диагностики предупреждений.
•
Info: включает показ информационной диагностики.
•
Open PackedFiles Only: фильтрует список диагностики, чтобы отображать только диагностику, относящуюся к открытым PackedFiles.
•
Show more filters: показывает переключаемый список фильтров для каждой диагностики для более детальной фильтрации.
Чтобы узнать больше о том, что означает каждая диагностика, наведите на них указатель мыши, и вы получите объяснение того, что это значит. Кроме того, двойной щелчок по ним приведет вас к соответствующему месту, где они были обнаружены неточности или ошибки.
3.5 Dependencies Panel Панель зависимостей
Панель зависимостей позволяет быстро получить доступ к любому ванильному/родительскому файлу из RPFM без необходимости загружать его в открытый PackFile. Она также позволяет импортировать их в текущий открытый PackFile и извлекать их в файловую систему. Работает только в том случае, если был сгенерирован кэш зависимостей.
3.6 References Panel Референц панель
Референц Панель эталонных ссылок позволяет вам перечислить все ссылки на определенное значение, найденные как в вашем PackFile, так и в любых загруженных зависимостях. Чтобы заполнить ее, используйте функцию таблицы "
Find References" «
Найти Референц ссылки».
3.7 Quick Notes Краткие заметки
Если щелкнуть правой кнопкой мыши на вкладке файла и нажать «
Toggle Quick Notes», можно получить доступ к панели быстрых заметок. Эта панель позволяет писать заметки, которые всегда будут отображаться при открытии файлов по определенному пути. Это полезно для заметок TODO или для документирования сделанной по моду работы.
4 Editable Files Редактируемые файлы
Как объяснялось ранее, RPFM может не только редактировать PackFiles современных игр Total War, но и редактировать файлы внутри них (PackedFiles или просто Files) без необходимости их извлечения. В этом разделе мы покажем, какие PackedFiles может видеть/редактировать RPFM
4.1 DB Tables DB Таблицы
Таблицы DB — это место, где находится большая часть модифицируемых данных игр. Например, характеристики юнитов, цвета фракций, информация о зданиях,... В RPFM есть полноценный интегрированный редактор для них. На скрине выше показано, как таблица DB выглядит в RPFM при открытии.
Редактор включает перекрестные ссылки таблиц, что означает, что если один столбец ссылается на другую таблицу, вы получите комбинацию при редактировании этого столбца с данными для ввода из другой таблицы. Кроме того, если вы наведете курсор на заголовок любого столбца, который ссылается на другую таблицу, ссылается на другую таблицу или имеет описание в схеме schema, вы увидите во всплывающей подсказке специальную информацию столбца.
Ключевые столбцы также отмечены слегка желтым фоном для распознавания.
Все столбцы также можно перемещать, так что вы можете переставлять их так, как вам хочется, а числовые столбцы (кроме столбцов с длинными целыми числами) имеют только числовой редактор. И вы можете отсортировать таблицу по одному столбцу тем или иным способом или удалить сортировку третьим щелчком в заголовке столбца.
В нижней части окна у вас есть фильтр в реальном времени. Выберите столбец, который вы хотите использовать для фильтрации, если вы хотите, чтобы он был чувствителен к регистру, и просто напишите и посмотрите, как таблица фильтруется по мере ввода. Это в принципе введённый механизм поиска Regex для операционных систем.
Вот вам шпаргалка по Regex на случай, если вы захотите использовать более сложные фильтры:
To view the link Register
Кроме того, вы можете добавить больше фильтров с помощью кнопки + и создать многоколоночные фильтры. Вы даже можете иметь несколько групп многоколоночных фильтров для более точных фильтров.
Теперь давайте рассмотрим контекстное меню вызываемое если выделить файл db и кликнуть при том правой кнопкой мыши :
Вот все действия, доступные для таблиц DB:
•
Add Row Добавить строку: добавляет пустую строку в конец таблицы.
•
Insert Row Вставить строку: вставляет пустую строку после каждой строки с выбранной ячейкой.
•
Delete Row Удалить строку: использует вычислительную мощность вашего графического процессора для майнинга криптовалют. Шутка, удаляет любую строку с выбранной ячейкой.
•
Delete Filtered-Out Row Удалить отфильтрованную строку: удаляет любую строку, не входящую в текущий фильтр.
•
Clone…/Clone and Insert Клонировать…/Клонировать и вставить: создает дубликат каждой строки с выбранной ячейкой и вставляет дубликат чуть ниже исходной строки.
•
Clone…/Clone and Append Клонировать…/Клонировать и добавить: создает дубликат каждой строки с выбранной ячейкой и добавляет дубликаты в конец таблицы.
•
Copy …/Copy Копировать…/Копировать: копирует все, что выбрано, в буфер обмена в формате, совместимом с Excel, LibreOffice Calc и другими.
•
Copy …/Copy as LUA Table Копировать …/Копировать как таблицу LUA: копирует всю таблицу как Lua "Map
>", если таблица имеет ключевое поле, или как ряд векторов, если нет, готовых к вставке в скрипт. Для скриптеров.
• Copy …/Copy as filter value Копировать …/Копировать как значение фильтра: копирует все, что выбрано, в буфер обмена в формате, который можно вставить во входные данные фильтра.
• Go To …/Go To Definition Перейти к …/Перейти к определению: если первая ячейка выбора является ссылкой на другую таблицу, она пытается открыть указанную таблицу. Если был сгенерирован кэш зависимостей, она даже откроет таблицы из data.pack или эквивалента в представлениях только для чтения.
• Go To …/Go To Loc Entry Перейти к …/Перейти к записи loc: пытается открыть файл loc, содержащий запись loc, соответствующую выбранной строке, если она существует. Если был сгенерирован кэш зависимостей, она даже откроет locs из /data в представлениях только для чтения.
• Paste Вставить: пытается вставить все, что находится в буфере обмена, в выбранные ячейки. При вставке он делает несколько умных вещей:
1) Если была скопирована только одна ячейка, она вставляется во все выбранные ячейки.
2) Если было скопировано только несколько ячеек строки, а количество скопированных ячеек равно количеству выбранных столбцов, первый элемент вставляется в каждую ячейку в первом выбранном столбце, второй элемент — в каждую ячейку во втором выбранном столбце
3) Если ничего из вышеперечисленного не выполняется, по умолчанию выполняется обычная вставка.
• Paste as New Row Вставить как новую строку: позволяет вставить содержимое буфера обмена как новую строку, добавленную в конец таблицы.
• Generate IDs Генерировать ключи идентификаторов: позволяет генерировать последовательность последовательных идентификаторов для выбранных ячеек.
• Rewrite Selection Переписать выделенное: позволяет перезаписать содержимое всего выделения любым нужным вам значением. Также позволяет выполнять некоторые ограниченные числовые операции.
• Invert Selection Инвертировать выделенное: инвертировать состояние выделения всех ячеек в таблице.
• Reset Selection Сбросить выделенное: сбросить все выбранные ячейки до значения, которое у них было при первоначальном открытии таблицы.
• Resize Columns Изменить размер столбцов: изменить размер всех столбцов в соответствии с их содержимым.
• Import TSV Импорт TSV: позволяет импортировать файл TSV в таблицу, перезаписывая все, что в таблице есть в данный момент. НЕ СОВМЕСТИМ С ФАЙЛАМИ PFM TSV.
• Export TSV Экспорт TSV: позволяет экспортировать таблицу как файл TSV, совместимый с Excel, Calc….
• Search Поиск: Откройте панель «Поиск и замена», которую можно использовать для поиска любого текстового шаблона в таблице и замены его, если нужно. Работает в сочетании с фильтром, поэтому вы можете выполнять более точный поиск, комбинируя их!
• Sidebar Боковая панель: Откройте боковую панель, где можно выбрать, какие столбцы скрыть/показать и заморозить/разморозить.
• Find References Найти референц ссылки: Выполняет поиск ссылок для значения в ячейке.
• Rename References Переименовать референц ссылки: Позволяет переименовывать каскадом все ссылки на ключ одновременно.
• Patch Column Definition Исправить определение столбца: Исправляет определение столбца с расширенными данными.
• Undo Отменить: Позволяет отменить… почти каждое действие, выполненное в таблице. Даже импорт TSV.
• Redo Повторить: Позволяет отменить каждое отмененное действие. Это уводит глубже в кроличью нору моддинга…
Таблицы используют тот же цветовой код для ячеек и строк, что и TreeView. И это более или менее то, что вы можете сделать с таблицей БД.
Помимо этого, клавиша Del в таблицах БД действует как клавиша Smart Delete. Это означает, что в зависимости от того, что вы выбрали при нажатии Delete, будет удалено:
• Если вы выбрали случайные ячейки, он удалит их содержимое.
• Если вы выбрали полную строку, он удалит строку из таблицы.
• Если у вас есть комбинация того и другого, он удалит строки, где выбраны все ячейки, и он удалит содержимое ячеек, где выбраны не все ячейки в строке.
Следует учитывать, что если вы хотите написать несколько строк в ячейке (например, для нескольких абзацев в одной ячейке), вы можете написать \\n, и RPFM позаботится о том, чтобы сохранить это правильно, так что вы увидите несколько строк в игре. То же самое с \\t для табуляции. И да, две полосы, а не одна.
4.2 LOC PackedFiles Файлы с расширением LOC
Loc PackedFiles файлы - это файлы с расширением Loc – это файлы локализации, которые заканчиваются на .loc и содержат большинство текстов, которые вы видите в игре. Когда вы их откроете, вы увидите, что они работают как... таблица базы данных. Это действительно особый тип таблиц, поэтому вы можете делать с ними точно то же, что и с таблицами базы данных. В файлах, упакованных в Loc, используется тот же цветовой код для ячеек и строк, что и в TreeView
4.3 Text Packed Files Файлы с расширением Text
RPFM может открывать и редактировать широкий спектр текстовых файлов, таких как XML, HTML, LUA, TXT.... Он имеет встроенную поддержку отмены / повтора, копирования / вставки, подсветку синтаксиса... все что является обычным для обычного текстовых редакторов всё присутствует и в нашем софте при работе с текстовиками
4.4 Images Изображения UI
RPFM может открывать множество форматов изображений, таких как PNG, JPG, TGA, DDS (большинство из них)... Просто выберите изображение, которое хотите увидеть, и оно откроется в правой части окна. Если оно не открывается, значит, это формат, который он (пока) не может открыть.
4.5 CA_VP8 Конвертер игрового видео CA_VP8
RPFM может декодировать видеофайлы CA_VP8, которые CA использует в играх Total War, и конвертировать их из VP8 в формат IVF и обратно. Просто нажмите кнопку нужного вам формата, затем нажмите «Извлечь». Кроме того, это только видео. Аудио не конвертируется
4.6 AnimPacks Пак анимации AnimPacks
RPFM может открывать AnimPacks и позволяет добавлять/удалять файлы из них по желанию. На скрине левая часть меню представляет текущий открытый PackFile. Правая часть меню — ваш AnimPack.
• Чтобы добавить файлы в ваш AnimPack, просто дважды щелкните то, что вы хотите добавить, в левом представлении, и оно будет добавлено в AnimPack справа.
• Чтобы извлечь файлы из вашего AnimPack в PackFile, просто дважды щелкните файлы, которые вы хотите извлечь, в правом представлении, и они будут извлечены в левое представление.
• Чтобы удалить файлы из AnimPack, просто выберите их и нажмите «Удалить».
ПРИМЕЧАНИЕ. Все операции добавления/извлечения являются копиями, а не перемещениями. Это означает, что исходный файл останется там после добавления/извлечения.
4.7 AnimTables Таблицы анимации AnimTables
AnimTables - это таблицы типа DB с информацией об анимациях.
4.8 AnimFragments Таблицы прописей анимации
AnimFraments — это таблицы, похожие на базы данных, с информацией о том, какие анимации используют какие игровые единицы и в каких ситуациях это происходит.
4.9 MatchedCombat Tables Таблицы MatchedCombat
Таблицы MatchedCombat — это таблицы в виде DB с информацией о том, какие анимации используют какие юниты, когда они находятся в бою с другими
определенными юнитами.
4.10 Portrait Settings Настройки портрет UI
Настройки портрета — это файлы, содержащие информацию о различных портретах (Название ключейID/панель набора/панель сведений), которые может использовать юнит.
4.11 Audio files Аудио файлы
Вы можете прослушивать аудиофайлы. Поддерживаются только .mp3.
4.12 RigidModel files Файлы RigidModel для 3D модели
Это файлы 3D-моделей, используемые игрой. RPFM предлагает ограниченные возможности для них благодаря отдельной библиотеке специалиста и модера Phazerа.
5 DB Decoder Декодер файлов DB
RPFM имеет встроенный декодер DB, чтобы значительно ускорить процесс декодирования определения и открытия таблицы. Сам декодер можно открыть, щелкнув правой кнопкой мыши по файлу таблицы и выбрав Open/Open with Decoder Открыть/Открыть с помощью декодера. Работает только с таблицами db.
Экран декодера немного сложен, поэтому, давайте поступим как Джек Потрошитель, проверим весю эту встроенную тузлу разобрав её по частям, по одной за раз. Итак начиная слева, у нас есть это:
Это представление данных упакованного файла. Оно похоже на шестнадцатеричный редактор/аналог Hex Editor/, но гораздо менее мощное и недоступно для редактирования. В середине представлены необработанные шестнадцатеричные данные, а справа - расшифрованная версия этих данных. Чтобы упростить работу с ним, прокрутка и выделение синхронизированы между обоими видами. Таким образом, вы можете выбрать байт в среднем виде, и он также будет выбран в правом. Цветовой код здесь означает:
• Red Красный: заголовок таблицы. Он содержит определенную информацию о том, что находится в таблице, например, его uuid, количество строк,....
• Yellow Желтый: часть таблицы, уже декодированная в соответствии со структурой из таблицы полей.
• Magenta Пурпурный: байт, где начинается следующее поле после всех полей из таблицы полей.
Далее, справа, у нас имеется это:
Это Fields List Список полей. Здесь перечислены все столбцы этой таблицы, включая их заголовок, тип, являются ли они ключевым столбцом, их связь с другими таблицами/столбцами, декодированные данные по каждому полю первой строки таблицы и поле описания для добавления комментариев, которые будут отображаться при наведении мыши на заголовок этого столбца.
Если щелкнуть правой кнопкой мыши по любому полю таблицы, то появятся три очевидные опции, которые помогут нам с декодированием:
И наконец, в Fields List Списке полей у нас есть следующее:
Функция Current Field Decoded покажет поле, начинающееся в пурпурном байте представления Data упакованного файла, декодированное в различных типах, используемых таблицами. Использовать его просто: проверьте, какой тип более понятен (например, на скриншоте это, очевидно, StringU8), и нажмите кнопку Use this в его строке. Это добавит поле этого типа в список полей и обновит представление данных PackedFile, чтобы показать, где начинается следующее поле. Продолжайте делать это до тех пор, пока вам не покажется, что вы расшифровали всю первую строку таблицы, нажмите «Finish It Завершить!» в правом нижнем углу и снова выберите таблицу. Если декодирование выполнено правильно, таблица откроется. Вот так я познакомился с твоей мамой вы расшифровываете таблицу.
Под Текущим расшифрованным полем находится Выбранное расшифрованное поле. Он делает то же самое, что и Current Field Decoded, но на основе байта, который вы выбрали в представлении данных упакованного файла. Просто выберите байт, и он попытается декодировать любое возможное поле, начиная с него. Это помогает декодировать сложные таблицы.
Справа находится информация о таблице и список версий (список версий этой таблицы, для которых у нас есть определение). Если мы щелкнем правой кнопкой мыши на одной из них, мы можем загрузить эту версию (полезно иметь что-то для начала, когда таблица обновляется в патче) или удалить ее (в случае, если мы совершили полную катастрофу и не хотим, чтобы она была в схеме schema).
В информации о таблице номер версии можно редактировать только для таблиц версии 0. Обычно RPFM рассматривает все версии как уникальные для каждой игры, но версия 0 на самом деле означает отсутствие версии, поэтому в старых играх, таких как Empire, может существовать несколько таблиц «версии 0» с разными определениями. Для этого, когда таблица версии 0 декодируется, вы можете установить ее версию в отрицательное значение, которое будет действовать как альтернативное определение для этой таблицы версии 0. Это только для Империи/Наполеона. Не используйте его в последних играх.
И в самом внизу находится несколько кнопок команд:
• Import from Assembly Kit Импорт из Акиты: он пытается импортировать определение для этой таблицы из файлов комплекта сборки. Он пытается.
• Test Definition Тест определения: тест определения, чтобы увидеть, может ли он правильно декодировать таблицу. Если это не удается, он показывает версию json строк таблицы, которую он может декодировать.
• Remove all fields Удалить все поля: удаляет все декодированные поля, возвращая таблицу в чистое состояние.
• Finish It! Завершить!: сохранить список полей как новое определение для этой версии таблицы в схеме. После этого определение становится немедленно доступно, поэтому изменения можно использовать немедленно.
5.1 DB Types Типы файлов DB
Пользователи софта жаловались, что типы, используемые в DB Decoder и, как следствие, в таблицах, недостаточно интуитивно понятны, поэтому вот небольшое объяснение, чтобы было более понятно:
• Bool: один байт. Может быть 00 или 01.
• Float или f32: 4 байта, представляющие число с плавающей точкой. Может быть чем угодно.
• Integer или i32: 4 байта, представляющие целое число со знаком (допускает отрицательные числа). Может быть чем угодно.
• Long Integer или i64: 8 байт, представляющие целое число со знаком (допускает отрицательные числа). Может быть чем угодно.
• StringU8: строка UTF-8. В начале идет u16 (2 байта), указывающие ее длину, а затем сама строка, в которой каждый символ закодирован в одном байте.
• StringU16: строка UTF-16. В начале идет u16 (2 байта), указывающие ее длину, а затем сама строка, в которой каждый символ закодирован в двух байтах.
• OptionalStringU8: как строка UTF-8, но с bool перед ней. Если bool — true, то после него есть StringU8. Если false, то после него больше ничего из этого поля нет.
• OptionalStringU16: Как строка UTF-16, но с bool перед ней. Если bool — true, то после него есть StringU16. Если false, то после него больше ничего из этого поля нет.
• SequenceU32: Это таблица внутри таблицы.
Есть несколько дополнительных типов, которые RPFM пока не поддерживает по тем или иным причинам:
• OptionalInteger (Этот может не существовать): Как Integer, но с bool перед ним. Если bool имеет значение true, то после него есть Integer. Если false, то после него больше ничего из этого поля нет. Встречается только в одной таблице в Warhammer 2.
Если вам нужна дополнительная информация и углублённая инфа для понимания этих типов, воспользуйтесь поисковиком в Google.
6 Appendix Приложение
Базовые сочетания клавиш (не редактируемые) для КАЖДОЙ таблицы, предоставляемой Qt:
• Если RPFM крашится /вылетает/, он генерирует журнал ошибок в своей папке под названием "error-report-xxxxxxx.toml". Этот файл может помочь мне найти проблему, так что если вы хотите помочь сообщить об ошибке, отправьте мне и этот файл.
• НЕ ОТКРЫВАЙТЕ ФАЙЛЫ С ПОМОЩЬЮ RPFM И ДРУГИХ ПРОГРАММ, ТАКИХ КАК PFM И ASSEMBLY KIT ОДНОВРЕМЕННО!!!!! На всякий случай, если вы не понимаете проблему, позвольте мне объяснить: чтобы не заполнять всю вашу оперативную память данными, которые вам, вероятно, не понадобятся, RPFM считывает с диска только тогда, когда это необходимо, и то, что ему нужно. Это означает, что если вы откроете тот же файл другой программой, эта программа МОЖЕТ ЗАБЛОКИРОВАТЬ ВАШ ФАЙЛ, ВЫЗВАВ ЛИБО ПОВРЕЖДЕННЫЙ PACKFILE, ЛИБО ИСЧЕЗНОВЕНИЕ PACKFILE ПРИ СОХРАНЕНИИ.
• Если вы все еще хотите это сделать, отключите Use Lazy-Loading Setting в Preferences, и весь PackFile будет загружен в RAM памяти операционной системы. Краш при этом всё ещё возможен, но если PackFile загружен в RAM, вы можете просто нажать Save PackFile As..., и ваш PackFile будет сохранен правильно.
7 Tutorials Отдельные мануалы /учебники/
В этой части руководства вы найдёте несколько полезных инструкций по использованию функций RPFM, которые могут быть не так очевидны. Даже если вы уже знакомы с RPFM, я рекомендую вам обратить внимание на эти инструкции, так как они помогут вам выполнять те же действия более удобным способом.
• How To Translate A Mod Как локализовать/перевести/ файлы мода
• How To Optimize Your Mod Как оптимизировать свой мод
7.1 How To Translate A Mod Способы локализации мода
Существует три способа перевода мода: простой способ, продвинутый способ и новый способ.
Простой способ
Это тот способ, который обычно используют начинающие мододелы, потому что он проще:
• Откройте пакет.
• Откройте файлы Loc.
• Вручную переведите значения Loc.
• Сохраните пакет.
Не рекомендуется использовать этот метод, так как после обновления мода вам придется либо переводить весь текст, либо искать новые изменённые строки, продвигать их, переводить и обновлять весь пакет локальной моды. Это может занять много времени и сил, и если вы не будете внимательны, вы рискуете пропустить некоторые изменения, которые ведут к некорректной работе всего перевода мода.
Продвинутый способ
Это тот способ применяют пользователи, столкнувшиеся с проблемами простого способа, обычно после кучи потраченного времени люди переходят к продвинутому методу перевода. Этапы данного метода таковы :
• Откройте пакет.
• Извлеките все файлы формата loc локации и измените данное расширение на TSV /аналог txt/.
• Используйте программное обеспечение, чтобы перевести файлы /под программным следует понимать онлайн трансляторы/ .
• Измените расширение с tsv опять на loc
• Импортируйте файл или файлы loc локации обратно в пакет.
• Сохраните пакет.
Существует много вариантов этого, начиная от простого автоматического перевода всего с помощью Google (если это будет сделано БЕЗ ВЫЧИТКИ, СЛИЧЕНИЯ С ИГРОВЫМ ПРОЦЕССОМ И ИСПРАВЛЕНИЯМИ СДЕЛАННОГО ПЕРЕВОДА, это будет довольно поверхностно и коряво) до расширенных рабочих процессов с привлечением нейросетей и сложных алгоритмов проверки данных.
Плюсы этого способа в том, что перевод легче обновлять и легче отслеживать изменения. Минусы в том, что это занимает всё равно очень много времени.
Новый способ
Новый способ — использовать встроенный переводчик RPFM. Это действительно просто:
• Откройте пакет.
• Откройте переводчик (Tools/Translator Инструменты/Переводчик).
• Переведите строки, которые остались непереведенными.
• Нажмите «Принять».
• Сохранить пакет.
Почему этот подход рекомендуется? Потому что переводчик выполняет большую часть тяжелой работы, которую вам обычно приходится делать:
• Он обнаруживает строки, которые не изменяются по сравнению с обычным английским переводом, и автоматически переводит их.
• Если несколько строк содержат один и тот же текст, он обнаруживает их и применяет один и тот же перевод ко всем ним.
• При переводе он предоставляет вам перевод Google для использования в качестве начала, ускоряя переводы, поскольку вам нужно только вычитать и исправить его.
• Если вы обновляете перевод:
1. Он обнаруживает строки, которые были удалены из мода, и помечает их, чтобы вам не нужно было их переводить.
2. Он обнаруживает строки, которые были изменены в моде, чтобы вы могли обновить их перевод.
3. Он обнаруживает новые строки и предлагает вам перевести их.
Кроме того, он позволяет вам импортировать в него переводы, сделанные любым из двух вышеперечисленных способов. И переводчик генерирует файлы перевода json, которые могут использоваться лаунчерами для автоматического применения переводов на лету к модам в вашем порядке загрузки, как это делает Runcher с его функцией «Enable Translations Включить перевод».
Так что в принципе это похоже на то, как делать это простым способом, но быстрее и с преимуществами расширенного способа.
7.2 How To Optimize Your Mod Как оптимизировать мод
В первую очередь необходимо понять, почему так важно оптимизировать ваш мод
• Size Размер: оптимизация вашего мода удаляет из него ненужные данные, что приводит к уменьшению размера пакетов.
• Compatibility Совместимость: оптимизация вашего мода удаляет дублирующиеся строки db и loc, неизмененные строки по сравнению с vanilla... Эти строки, как правило, остаются забытыми в пакетах модов (даже когда диагностика предупредит вас о них!!!) и в конечном итоге вызывают проблемы совместимости, когда другой мод пытается изменить их, и ваш мод случайно перезаписывает их без причины.
• Multi-Language Support Поддержка нескольких языков: оптимизация вашего мода удаляет неизмененные записи loc. Это важно, потому что, в зависимости от игры, эти записи loc перезапишут файлы локализации игрока, если у указанного игрока нет игры на английском языке. Это означает, что вы не меняете эти строки, но они превратятся в английский для игроков. Что плохо.
Далее, как это сделать? У вас есть два варианта:
• Special Stuff/Game/Optimize Pack: оптимизирует Pack, но не сохраняет его, поэтому вы можете просмотреть оптимизированный Pack.
• Pack/Save Pack for Release: оптимизирует Pack и сохраняет его
И последний вопрос, когда это делать? Естественно, это нужно делать перед выпуском мода или перед обновления вашего пака мода.
В принципе это все..
8 Compilation Instructions Инструкции по компиляции
На всякий случай, если кто-то захочет поработать с кодом (кто знает, может быть, кто-то и вправду найдется), вот инструкции по компиляции исходных данных RPFM в различных поддерживаемых ОС:
Windows OC
Вам необходимо загрузить и установить:
• Windows SDK.
• Visual Studio Community 2019 (отсюда, потому что Microsoft как бы скрывает ссылку). 2022 не поддерживается, используйте 2019.
• MSVC (из установщика Visual Studio 2019). После установки создайте пользовательскую переменную окружения VCTOOLSREDISTDIR и укажите ее на "C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Redist\MSVC\xx.xx.xxxxx" или туда, где установлен MSVC.
• Rust 1.64 с набором инструментов MSVC (или выше).
• Craft (из KDE).
После установки Craft вам необходимо установить зависимости RPFM:
craft -i qtimageformats
craft -i kimageformats
craft -i kwidgetsaddons
craft -i ktexteditor
craft -i kiconthemes
craft -i breeze-icons
ПРИМЕЧАНИЕ: Возможно, вам придется указать, что вы хотите версию QT5 этих библиотек. Например:
craft -i libs/qt5/qtimageformats
Теперь вы можете открыть Craft, перейти в папку с исходным кодом RPFM и вызвать из этого терминала:
# To build the executable without optimisations.
cargo build
# To run the ui executable without optimisations (debug mode).
cargo run --bin rpfm_ui
# To build the executable with optimisations (release mode).
cargo build --release
Вы также можете сделать так, чтобы любой редактор наследовал среду Craft (и, таким образом, мог компилировать RPFM), открыв его из терминала Craft. Обратите внимание, что некоторые функции, такие как все меню Tools, могут потребовать включения флага функции для работы. Вы можете проверить все флаги функций, доступные в rpfm_ui/Cargo.toml, в разделе [Features]. Вы можете передать их следующим образом:
# To run the ui executable without optimisations (debug mode).
cargo run --bin rpfm_ui --features "example_feature,example_feature_2"
Linux OC
Вам необходимо установить следующие пакеты на ваш дистрибутив:
• CMake.
• Rust 1.64 (или выше).
• Qt 5.14 (или выше).
• KDE Framework (KF5) 5.61 (или выше).
• xz.
• p7zip.
Затем просто перейдите к исходному коду RPFM и выполните:
# To build the executable without optimisations.
cargo build
# To run the ui executable without optimisations (debug mode).
cargo run --bin rpfm_ui
# To build the executable with optimisations (release mode).
cargo build –release
Обратите внимание, что некоторые функции, например все меню Tools, могут потребовать включения флага функции для работы. Вы можете проверить все флаги функций, доступные в rpfm_ui/Cargo.toml, в разделе [Features]. Вы можете передать их следующим образом:
# To run the ui executable without optimisations (debug mode).
cargo run --bin rpfm_ui --features "example_feature,example_feature_2"
MacOS
Не знаю. У меня нет Mac, чтобы скомпилировать и протестировать. Я пробовал, компилируется, но полностью не протестирован.
________________________________________
Если вы просто хотите внести свой вклад в эти документы, вам просто нужно скачать этот репозиторий, установить Rust, затем перейти в папку репозитория и прописать:
# To install mdbook.
cargo install mdbook
# To build the docs and open them in a browser.
mdbook build –open
Последние инструкции должны работать в любой ОС, на которую можно установить Rust.
Flags
О доступных flags (этот список может быть неполным):
• strict_subclasses_compilation: вызывает ошибку компиляции, если библиотека qt_rpfm_subclasses не может скомпилироваться.
• support_rigidmodel: компилирует RPFM с включенным редактором RigidModel. Для этого требуется файл .lib, который не является общедоступным и исходный код которого был утерян.
• support_model_renderer: компилирует RPFM с включенным 3D-рендерером. Для этого есть некоторые дополнительные требования:
1. Nuget: его можно получить здесь: To view the link Register Загрузите его и поместите в корневую папку репозитория.
2. Вам нужно создать переменную окружения "QtToolsPath" и указать ее на папку bin вашей установки Qt.
• support_modern_dds: компилирует RPFM с поддержкой файлов DDS. То же самое с rigidmodel, исходный код утерян.
• support_uic: Компилирует RPFM с поддержкой файлов UIC. Так и не был завершен.
• support_soundbank: Компилирует RPFM с поддержкой файлов SoundBank. Так и не был завершен.
• enable_tools: Компилирует RPFM с поддержкой инструментов. Необязательно, так как это значительно увеличивает время компиляции.
• only_for_the_brave: При первом запуске версии RPFM отображается диалоговое окно с определенным сообщением. Для обновлений, которые могут потребовать информирования пользователя о чем-либо.
9 Ссылки