第5行: |
第5行: |
| ==介绍== | | ==介绍== |
| ===什么是 XNB 文件?=== | | ===什么是 XNB 文件?=== |
− | 游戏将数据、地图和纹理 存储在 <tt>.xnb</tt> 这种压缩数据文件中,它们在游戏的 <tt>Content</tt> 文件夹中。 <br> | + | 游戏将数据、地图和纹理存储在 <tt>.xnb</tt> 这种压缩数据文件中,它们在游戏的 <tt>Content</tt> 文件夹中。 |
| + | |
| 例如,对话期间显示的阿比盖尔的头像来自这个文件: <tt>Content\Portraits\Abigail.xnb</tt>。解包这个文件,你会得到 <tt>Abigail.png</tt> 这个图片文件,内容如下:<br />[[File:Modding - creating an XNB mod - example portraits.png]] | | 例如,对话期间显示的阿比盖尔的头像来自这个文件: <tt>Content\Portraits\Abigail.xnb</tt>。解包这个文件,你会得到 <tt>Abigail.png</tt> 这个图片文件,内容如下:<br />[[File:Modding - creating an XNB mod - example portraits.png]] |
| | | |
第18行: |
第19行: |
| | | |
| ===在哪里可以得到帮助?=== | | ===在哪里可以得到帮助?=== |
− | 欢迎 访问 星露谷模组社区 。Feel free to [[ 模组:Community|ask the community]] for help. | + | 欢迎 前往 星露谷 物语[[ 模组: 社区| 模组 社区]] 寻求帮助。 |
| | | |
| ==<span id="unpacking">解包游戏文件</span>== | | ==<span id="unpacking">解包游戏文件</span>== |
− | 你无法编辑 <tt>.xnb</tt> 文件其本身,你需要编辑其中的文件 | + | 你无法编辑 <tt>.xnb</tt> 文件其本身,你需要编辑其中的文件 。 |
− | <br>
| + | |
− | 将文件从中取出叫做 '''解包''' | + | 将文件从中取出叫做 '''解包''' ; |
− | <br>
| + | |
− | 把文件放入其中叫做 '''打包''' | + | 把文件放入其中叫做 '''打包''' 。 |
− | <br>
| + | |
| 有两个主要的 XNB 解包工具可用: | | 有两个主要的 XNB 解包工具可用: |
| | | |
| ===StardewXnbHack=== | | ===StardewXnbHack=== |
− | {{github|Pathoschild/StardewXnbHack#readme|StardewXnbHack}} 是用于解包 XNB 文件的开源且跨平台的工具<br> | + | {{github|Pathoschild/StardewXnbHack#readme|StardewXnbHack}} 是用于解包 XNB 文件的开源且跨平台的工具 。 |
− | 它不能打包回 <tt>.xnb</tt> 不过你会需要 [[模组:创建模组/Content Patcher|创建内容包]] | + | |
| + | 它不能打包回 <tt>.xnb</tt> ,只有在[[模组:创建模组/Content Patcher|创建内容包]] 时才需要打包回去。 |
| | | |
| 如何操作: | | 如何操作: |
| | | |
− | # [[Modding:Player Guide/Getting Started|安装 SMAPI]] | + | # [[ 模组: 使用指南/ 入门#安装SMAPI|安装 SMAPI]] |
− | # {{github|Pathoschild/StardewXnbHack/releases|下载 StardewXnbHack}}(确保你下载的文件适 合 你的系统,例如 文件名 : StardewXnbHack-*-for-windows.zip 而不是 source code!) | + | # {{github|Pathoschild/StardewXnbHack/releases|下载 StardewXnbHack}}(确保你下载的文件适 用于 你的系统,例如 在Windows平台需要下载 : StardewXnbHack-*-for-windows.zip 而不是 source code!) |
| # 解压缩并放进 [[Modding:Game folder|你的游戏文件夹]], 也就是 <tt>StardewXnbHack.exe</tt> 文件位于与 <tt>StardewValley.exe</tt> 相同的目录下. | | # 解压缩并放进 [[Modding:Game folder|你的游戏文件夹]], 也就是 <tt>StardewXnbHack.exe</tt> 文件位于与 <tt>StardewValley.exe</tt> 相同的目录下. |
| # 双击运行 <tt>StardewXnbHack.exe</tt> (Windows)、<tt>StardewXnbHack.sh</tt> (Linux)、 <tt>StardewXnbHack.command</tt> (MacOS) 来解包游戏文件夹中 <tt>Content</tt> 文件夹下的所有 XNB 文件。 | | # 双击运行 <tt>StardewXnbHack.exe</tt> (Windows)、<tt>StardewXnbHack.sh</tt> (Linux)、 <tt>StardewXnbHack.command</tt> (MacOS) 来解包游戏文件夹中 <tt>Content</tt> 文件夹下的所有 XNB 文件。 |
第48行: |
第50行: |
| | | |
| <ol> | | <ol> |
− | <li>{{github|LeonBlade/xnbcli/releases|下载 xnbcli}}. (确保你下载的文件适 合 你的系统,例如 文件名 :<tt>xnbcli-windows-x64.zip</tt> 而不是 source code!)</li> | + | <li>{{github|LeonBlade/xnbcli/releases|下载 xnbcli}} 。 (确保你下载的文件适 用于 你的系统,例如 在Windows平台需要下载 :<tt>xnbcli-windows-x64.zip</tt> 而不是 source code!)</li> |
− | <li>解压缩下载的文件 | + | <li>解压缩下载的文件 : |
− | # 找到你要解包的文件 | + | # 找到你要解包的文件 。 |
− | # 将它放进 xnbcli 的 <tt>packed</tt> 文件夹 | + | # 将它放进 xnbcli 的 <tt>packed</tt> 文件夹 。 |
− | # 双击 <tt>unpack.bat</tt> (Windows)、<tt>unpack.sh</tt> (Linux)、<tt>unpack.command</tt> (Mac). | + | # 双击 <tt>unpack.bat</tt> (Windows)、<tt>unpack.sh</tt> (Linux)、<tt>unpack.command</tt> (Mac) 。 |
| # 检查 <tt>Unpacked</tt> 文件夹,解包后的文件在该文件夹中 (如果你没有一次性解包很多文件,它可能会在屏幕上闪烁并瞬间消失,这很正常!无论如何,请注意检查 <tt>Unpacked</tt> 文件夹。注意 1.4 引入了 xnbcli 无法处理的新数据模型格式;对于某些数据文件,你需要使用 [[#StardewXnbHack|StardewXnbHack]] 才行。) | | # 检查 <tt>Unpacked</tt> 文件夹,解包后的文件在该文件夹中 (如果你没有一次性解包很多文件,它可能会在屏幕上闪烁并瞬间消失,这很正常!无论如何,请注意检查 <tt>Unpacked</tt> 文件夹。注意 1.4 引入了 xnbcli 无法处理的新数据模型格式;对于某些数据文件,你需要使用 [[#StardewXnbHack|StardewXnbHack]] 才行。) |
| </li> | | </li> |
− | <li>编辑解压缩的文件(请参见下文)</li> | + | <li>编辑解压缩的文件(请参见下文) 。</li> |
| <li>如果这是一个数据文件(而不是图像或地图),要替换或编辑该文件,则需要删除 XNB 元数据。当前的 JSON 文件内容应如下所示: | | <li>如果这是一个数据文件(而不是图像或地图),要替换或编辑该文件,则需要删除 XNB 元数据。当前的 JSON 文件内容应如下所示: |
| <syntaxhighlight lang="js"> | | <syntaxhighlight lang="js"> |
第106行: |
第108行: |
| 使用 <tt>.json</tt>, <tt>.png</tt>, 或者 <tt>.tbin</tt> 文件连接到你的 <tt>content.json</tt>. | | 使用 <tt>.json</tt>, <tt>.png</tt>, 或者 <tt>.tbin</tt> 文件连接到你的 <tt>content.json</tt>. |
| | | |
− | 如果你确实想打包,则需要使用 [[#xnbcli|xnbcli]]: | + | 如果你确实想打包,则需要使用 [[#xnbcli|xnbcli]] : |
− | # 找到你要重新打包的文件 | + | # 找到你要重新打包的文件 。 |
− | # 复制到 xnbcli 的 <tt>unpacked</tt> 文件夹 | + | # 复制到 xnbcli 的 <tt>unpacked</tt> 文件夹 。 |
− | # 双击 <tt>pack.bat</tt> (Windows)、<tt>pack.sh</tt> (Linux)、<tt>pack.command</tt> (Mac) | + | # 双击 <tt>pack.bat</tt> (Windows)、<tt>pack.sh</tt> (Linux)、<tt>pack.command</tt> (Mac) 。 |
− | # 移动打包后的 <tt>.xnb</tt> 文件至原来的位置 | + | # 移动打包后的 <tt>.xnb</tt> 文件至原来的位置 。 |
| | | |
− | == 应用更 改== | + | == 进行修 改== |
− | ===数据 Data=== | + | ===数据=== |
− | 每个 XNB 都有自己的格式。 请参阅文档:[[模组:目录#高阶主题]]. | + | 每个 XNB 都有自己的格式。请参阅文档:[[模组:目录#高阶主题]] 。 |
| | | |
− | ===图像 Images=== | + | ===图像=== |
| [[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]]]] |
| 一些定义: | | 一些定义: |
− | * 一个 '''spritesheet''' 是一个 PNG 文件,其中包含小图像(通常以规则的网格图案显示)。每个网格的小图像都称为一个 '''sprite''' 例如,每个游戏内物品都有一个 sprite:<tt>Content\Maps\spring_objects.xnb</tt>. | + | * 一个 '''spritesheet''' 是一个 PNG 文件,其中包含小图像(通常以规则的网格图案显示)。每个网格的小图像都称为一个 '''sprite''' 例如,每个游戏内物品都有一个 sprite:<tt>Content\Maps\spring_objects.xnb</tt> 。 |
| * 一个 '''tilesheet''' 是 Spritesheet 的同义词,用于地图图块。在图集中,每个正方形称为“图块 tile”,大小为 16×16 像素。 | | * 一个 '''tilesheet''' 是 Spritesheet 的同义词,用于地图图块。在图集中,每个正方形称为“图块 tile”,大小为 16×16 像素。 |
− | * 一个 '''portrait''' is a sprite from the <tt>Content\Characters\*.xnb</tt> spritesheets. | + | * 一个 '''portrait''' is a sprite from the <tt>Content\Characters\*.xnb</tt> spritesheets 。 |
| | | |
| Spritesheets 易于编辑: | | Spritesheets 易于编辑: |
− | # [[#unpacking| 解包文件]] 你想要改 变 的。 | + | # [[#解包 游戏 文件|解包]]你想要 更 改的 文件 。 |
− | # 打开已解包的 <tt>.png</tt> 使用一个图像编辑器 (例 如 [http://www.getpaint.net/download.html Paint.NET] on Windows, or [https://www.gimp.org/downloads/ GIMP] on Windows/Linux/Mac). 注意,使用支持透明 度 的图像编辑器非常重要 (ARGB 中的 A:alpha 通道) ,例如 PS ,而不是 Windows 画图 | + | # 打开已解包的 <tt>.png</tt> 使用一个图像编辑器 (例 如Windows平台上的 [http://www.getpaint.net/download.html Paint.NET] ,或是适用于Windows/Linux/Mac平台的 [https://www.gimp.org/downloads/ GIMP]) 。 注意,使用支持透明 通道 的图像编辑器非常重要 (ARGB 中的 A:alpha 通道 ) ,例如 Photoshop ,而不是 Windows 画图 |
| # 直接对图像进行更改。 | | # 直接对图像进行更改。 |
− | # [[#unpacking|重新打包文件]] 然后复制到原位置 | + | # [[# 解包游戏文件|重新打包文件]] 然后复制到原位置 。 |
| | | |
− | 就是这样!你可以 启动 游戏以 查 看 所 做的 更 改 。 | + | 就是这样! 然后 你 就 可以 打开 游戏以看 看你 做 出 的 修 改 了! |
| | | |
| [[Category:模组]] | | [[Category:模组]] |
| | | |
| [[en:Modding:Editing XNB files]] | | [[en:Modding:Editing XNB files]] |
| + | [[ru:Модификации:Редактирование XNB файлов]] |