Модификации:Редактирование XNB файлов: различия между версиями
Shtompel (обсуждение | вклад) |
м (Замена текста — «tt>» на «samp>») |
||
Строка 5: | Строка 5: | ||
==Введение== | ==Введение== | ||
===Что такое XNB файл?=== | ===Что такое XNB файл?=== | ||
− | Игра хранит свои данные в сжатом контейнере < | + | Игра хранит свои данные в сжатом контейнере <samp>.xnb</samp> формата в директории <samp>Content</samp>. Например, [[Абигейл#Портреты|портреты Абигейл]], отображаемые во время диалога, упакованы в файл <samp>Content\Portraits\Abigail.xnb</samp>. Каждый <samp>.xnb</samp> файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри <samp>Content\Portraits\Abigail.xnb</samp>: |
<pre> | <pre> | ||
Строка 15: | Строка 15: | ||
В примере выше: | В примере выше: | ||
− | * < | + | * <samp>Abigail.png</samp> содержит портреты Абигейл. Отредактировав этот файл можно изменить портреты в игре:<br />[[File:Modding - creating an XNB mod - example portraits.png]] |
− | * < | + | * <samp>Abigail.yaml</samp> содержит метаданные о файле <samp>Abigail.png</samp> (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется. |
===Как внести изменения в игру?=== | ===Как внести изменения в игру?=== | ||
Строка 30: | Строка 30: | ||
==Распаковывание и упаковывание ресурсов== | ==Распаковывание и упаковывание ресурсов== | ||
− | Файлы формата < | + | Файлы формата <samp>.xnb</samp> представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB файлы. Она кроссплатформена и имеет [https://github.com/LeonBlade/xnbcli открытый исходный код]. |
Как это работает: | Как это работает: | ||
Строка 36: | Строка 36: | ||
# Скачивается [https://github.com/LeonBlade/xnbcli/releases xnbcli]. | # Скачивается [https://github.com/LeonBlade/xnbcli/releases xnbcli]. | ||
# Распаковывается файл для редактирования: | # Распаковывается файл для редактирования: | ||
− | ## Находится нужный < | + | ## Находится нужный <samp>.xnb</samp> файл в директории [[Модификации:Директория игры|<samp>Content</samp>]]. |
− | ##Копируется в директорию < | + | ##Копируется в директорию <samp>packed</samp> программы xnbcli. |
− | ## Двойной клик по < | + | ## Двойной клик по <samp>unpack.bat</samp> (Windows) или <samp>unpack.sh</samp> (Linux/Mac). |
# Редактирование распакованных данных (смотрите ниже). | # Редактирование распакованных данных (смотрите ниже). | ||
# Упаковывание ресурсов назад в файл: | # Упаковывание ресурсов назад в файл: | ||
− | ## Двойной клик по < | + | ## Двойной клик по <samp>pack.bat</samp> (Windows) или <samp>pack.sh</samp> (Linux/Mac). |
− | ## Замена оригинального < | + | ## Замена оригинального <samp>.xnb</samp> файла измененным. |
==Редактирование распакованных данных== | ==Редактирование распакованных данных== | ||
Строка 51: | Строка 51: | ||
[[File:Modding - creating an XNB mod - example tilesheet.png|thumb|Пример тайл-листа, который состоит из сетки тайлов как этот: [[File:Modding - creating an XNB mod - example tile 1.png]]]] | [[File:Modding - creating an XNB mod - example tilesheet.png|thumb|Пример тайл-листа, который состоит из сетки тайлов как этот: [[File:Modding - creating an XNB mod - example tile 1.png]]]] | ||
Несколько определений: | Несколько определений: | ||
− | * '''Спрайт-лист''' представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется ''спрайтом''. Например, спрайты многих объектов хранятся в < | + | * '''Спрайт-лист''' представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется ''спрайтом''. Например, спрайты многих объектов хранятся в <samp>Content\Maps\spring_objects.xnb</samp>. |
* '''Тайл-лист''' является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется ''тайлом'' и имеет размер 16×16 пикселей. | * '''Тайл-лист''' является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется ''тайлом'' и имеет размер 16×16 пикселей. | ||
− | * '''Портрет''' спрайты содержащие портреты персонажей. Находятся в < | + | * '''Портрет''' спрайты содержащие портреты персонажей. Находятся в <samp>Content\Characters\*.xnb</samp>. |
Спрайт-листы легко редактируются: | Спрайт-листы легко редактируются: | ||
− | # [[#Распаковывание и упаковывание ресурсов|Распаковывается < | + | # [[#Распаковывание и упаковывание ресурсов|Распаковывается <samp>.xnb</samp> файл]], ресурсы которого будут редактироваться. |
− | # Открывается < | + | # Открывается <samp>.png</samp> файл в графическом редакторе (например [http://www.getpaint.net/download.html Paint.NET] для Windows, или [https://www.gimp.org/downloads/ GIMP] для Linux/Mac). |
# Вносятся изменения в изображение. | # Вносятся изменения в изображение. | ||
− | # [[#Распаковывание и упаковывание ресурсов|Упаковываются ресурсы]] в < | + | # [[#Распаковывание и упаковывание ресурсов|Упаковываются ресурсы]] в <samp>.xnb</samp> файл, и он переносится в исходную директорию. |
Теперь можно запустить игру, и увидеть изменения. | Теперь можно запустить игру, и увидеть изменения. |
Текущая версия на 18:42, 4 ноября 2021
На этой странице объясняется, как редактировать файлы игры для изменения внутриигровых данных, изображений и карт.
Введение
Что такое XNB файл?
Игра хранит свои данные в сжатом контейнере .xnb формата в директории Content. Например, портреты Абигейл, отображаемые во время диалога, упакованы в файл Content\Portraits\Abigail.xnb. Каждый .xnb файл содержит два файла: файл с данными (например, изображение), и файл с метаданными (информация о файле с данными). К примеру, вот что находится внутри Content\Portraits\Abigail.xnb:
Abigail.xnb Abigail.png Abigail.yaml
В примере выше:
- Abigail.yaml содержит метаданные о файле Abigail.png (например, какого он типа). Не нужно беспокоиться об этом файле, так как обычно он не изменяется.
Как внести изменения в игру?
Существуют три способа создания изменений:
- Создать с помощью Content Patcher контент пакет. Таким образом можно изменить XNB файл игры без использования программирования (просто отредактировать файл JSON), а также не заменять оригинальный файл игры.
- Создание SMAPI мода и использование его [API]. Требуются навыки программирования.
- Создание XNB мода и замена оригинальных файлов. Этот метод крайне не рекомендуется; смотрите использование XNB модификаций для получения дополнительной информации.
Где получить помощь?
Сообщество мододелов Stardew Valley дружелюбно. Спросите совета у других мододелов.
Распаковывание и упаковывание ресурсов
Файлы формата .xnb представляют собой сжатый контейнер и не редактируются. Для редактирования ресурсов игры используется программа xnbcli, позволяющая распаковывать и упаковывать XNB файлы. Она кроссплатформена и имеет открытый исходный код.
Как это работает:
- Скачивается xnbcli.
- Распаковывается файл для редактирования:
- Находится нужный .xnb файл в директории Content.
- Копируется в директорию packed программы xnbcli.
- Двойной клик по unpack.bat (Windows) или unpack.sh (Linux/Mac).
- Редактирование распакованных данных (смотрите ниже).
- Упаковывание ресурсов назад в файл:
- Двойной клик по pack.bat (Windows) или pack.sh (Linux/Mac).
- Замена оригинального .xnb файла измененным.
Редактирование распакованных данных
Данные
XNB данные имеют разные форматы. Для детальной информации смотрите раздел Модификации:Индекс#Дополнительно.
Изображения
Несколько определений:
- Спрайт-лист представляет собой PNG-файл, содержащий небольшие изображения (обычно в виде сетки). Каждый квадрат сетки называется спрайтом. Например, спрайты многих объектов хранятся в Content\Maps\spring_objects.xnb.
- Тайл-лист является синонимом спрайт-листа, который содержит в себе тайлы карты. Каждый квадрат сетки называется тайлом и имеет размер 16×16 пикселей.
- Портрет спрайты содержащие портреты персонажей. Находятся в Content\Characters\*.xnb.
Спрайт-листы легко редактируются:
- Распаковывается .xnb файл, ресурсы которого будут редактироваться.
- Открывается .png файл в графическом редакторе (например Paint.NET для Windows, или GIMP для Linux/Mac).
- Вносятся изменения в изображение.
- Упаковываются ресурсы в .xnb файл, и он переносится в исходную директорию.
Теперь можно запустить игру, и увидеть изменения.
Карты
Смотрите Модификации:Карты.