更改

添加160字节 、 2021年11月4日 (四) 18:44
文本替换 - 替换“tt>”为“samp>”
第5行: 第5行:  
==介绍==
 
==介绍==
 
===什么是 XNB 文件?===
 
===什么是 XNB 文件?===
 游戏将数据、地图和纹理存储在 <tt>.xnb</tt> 这种压缩数据文件中,它们在游戏的 <tt>Content</tt> 文件夹中。 
+
 游戏将数据、地图和纹理存储在 <samp>.xnb</samp> 这种压缩数据文件中,它们在游戏的 <samp>Content</samp> 文件夹中。 
   −
 例如,对话期间显示的阿比盖尔的头像来自这个文件: <tt>Content\Portraits\Abigail.xnb</tt>。解包这个文件,你会得到 <tt>Abigail.png</tt> 这个图片文件,内容如下:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
+
 例如,对话期间显示的阿比盖尔的头像来自这个文件: <samp>Content\Portraits\Abigail.xnb</samp>。解包这个文件,你会得到 <samp>Abigail.png</samp> 这个图片文件,内容如下:<br />[[File:Modding - creating an XNB mod - example portraits.png]]
   −
(如果你使用 xnbcli 来解包,你通常会得到 <tt>Abigail.json</tt> 文件。 那只是用来打包回 <tt>.xnb</tt> 所需的文件,通常不需要更改它。)
+
(如果你使用 xnbcli 来解包,你通常会得到 <samp>Abigail.json</samp> 文件。 那只是用来打包回 <samp>.xnb</samp> 所需的文件,通常不需要更改它。)
    
===如何将更改应用到游戏中?===
 
===如何将更改应用到游戏中?===
第22行: 第22行:     
==<span id="unpacking">解包游戏文件</span>==
 
==<span id="unpacking">解包游戏文件</span>==
 你无法编辑 <tt>.xnb</tt> 文件其本身,你需要编辑其中的文件。
+
 你无法编辑 <samp>.xnb</samp> 文件其本身,你需要编辑其中的文件。
    
 将文件从中取出叫做 '''解包''';
 
 将文件从中取出叫做 '''解包''';
第33行: 第33行:  
{{github|Pathoschild/StardewXnbHack#readme|StardewXnbHack}} 是用于解包 XNB 文件的开源且跨平台的工具。
 
{{github|Pathoschild/StardewXnbHack#readme|StardewXnbHack}} 是用于解包 XNB 文件的开源且跨平台的工具。
   −
 它不能打包回 <tt>.xnb</tt> ,只有在[[模组:创建模组/Content Patcher|创建内容包]]时才需要打包回去。
+
 它不能打包回 <samp>.xnb</samp> ,只有在[[模组:创建模组/Content Patcher|创建内容包]]时才需要打包回去。
    
 如何操作:
 
 如何操作:
第39行: 第39行:  
# [[模组:使用指南/入门#安装SMAPI|安装 SMAPI]]
 
# [[模组:使用指南/入门#安装SMAPI|安装 SMAPI]]
 
# {{github|Pathoschild/StardewXnbHack/releases|下载 StardewXnbHack}}(确保你下载的文件适用于你的系统,例如在Windows平台需要下载: 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|你的游戏文件夹]], 也就是 <samp>StardewXnbHack.exe</samp> 文件位于与 <samp>StardewValley.exe</samp> 相同的目录下.
# 双击运行 <tt>StardewXnbHack.exe</tt> (Windows)、<tt>StardewXnbHack.sh</tt> (Linux)、 <tt>StardewXnbHack.command</tt> (MacOS) 来解包游戏文件夹中 <tt>Content</tt> 文件夹下的所有 XNB 文件。
+
# 双击运行 <samp>StardewXnbHack.exe</samp> (Windows)、<samp>StardewXnbHack.sh</samp> (Linux)、 <samp>StardewXnbHack.command</samp> (MacOS) 来解包游戏文件夹中 <samp>Content</samp> 文件夹下的所有 XNB 文件。
   −
 就是这样!它将会把解包的内容放入游戏文件夹下的 <tt>Content (unpacked)</tt> 文件夹。解包出的文件可用于创建 [[Modding:Content Patcher|Content Patcher]] 的内容包。
+
 就是这样!它将会把解包的内容放入游戏文件夹下的 <samp>Content (unpacked)</samp> 文件夹。解包出的文件可用于创建 [[Modding:Content Patcher|Content Patcher]] 的内容包。
    
===xnbcli===
 
===xnbcli===
{{github|LeonBlade/xnbcli#readme|xnbcli}} 是用于打包和解包 XNB 文件的开源且跨平台的工具。它无法解包带有数据模型的 XNB 文件 (例如 <tt>Data\FishPondData</tt> 或者 <tt>Data\Movies</tt>),并且需要手动编辑数据文件才能与 Content Patcher 等模组一起使用。
+
{{github|LeonBlade/xnbcli#readme|xnbcli}} 是用于打包和解包 XNB 文件的开源且跨平台的工具。它无法解包带有数据模型的 XNB 文件 (例如 <samp>Data\FishPondData</samp> 或者 <samp>Data\Movies</samp>),并且需要手动编辑数据文件才能与 Content Patcher 等模组一起使用。
    
 如何操作:
 
 如何操作:
    
<ol>
 
<ol>
<li>{{github|LeonBlade/xnbcli/releases|下载 xnbcli}}。 (确保你下载的文件适用于你的系统,例如在Windows平台需要下载:<tt>xnbcli-windows-x64.zip</tt> 而不是 source code!)</li>
+
<li>{{github|LeonBlade/xnbcli/releases|下载 xnbcli}}。 (确保你下载的文件适用于你的系统,例如在Windows平台需要下载:<samp>xnbcli-windows-x64.zip</samp> 而不是 source code!)</li>
 
<li>解压缩下载的文件:
 
<li>解压缩下载的文件:
 
# 找到你要解包的文件。
 
# 找到你要解包的文件。
# 将它放进 xnbcli 的 <tt>packed</tt> 文件夹。
+
# 将它放进 xnbcli 的 <samp>packed</samp> 文件夹。
# 双击 <tt>unpack.bat</tt> (Windows)、<tt>unpack.sh</tt> (Linux)、<tt>unpack.command</tt> (Mac)。
+
# 双击 <samp>unpack.bat</samp> (Windows)、<samp>unpack.sh</samp> (Linux)、<samp>unpack.command</samp> (Mac)。
# 检查 <tt>Unpacked</tt> 文件夹,解包后的文件在该文件夹中 (如果你没有一次性解包很多文件,它可能会在屏幕上闪烁并瞬间消失,这很正常!无论如何,请注意检查 <tt>Unpacked</tt> 文件夹。注意 1.4 引入了 xnbcli 无法处理的新数据模型格式;对于某些数据文件,你需要使用 [[#StardewXnbHack|StardewXnbHack]] 才行。)
+
# 检查 <samp>Unpacked</samp> 文件夹,解包后的文件在该文件夹中 (如果你没有一次性解包很多文件,它可能会在屏幕上闪烁并瞬间消失,这很正常!无论如何,请注意检查 <samp>Unpacked</samp> 文件夹。注意 1.4 引入了 xnbcli 无法处理的新数据模型格式;对于某些数据文件,你需要使用 [[#StardewXnbHack|StardewXnbHack]] 才行。)
 
</li>
 
</li>
 
<li>编辑解压缩的文件(请参见下文)。</li>
 
<li>编辑解压缩的文件(请参见下文)。</li>
第98行: 第98行:  
*# 打开一个终端(在 MacOS 中,在 Spotlight 中搜索“终端”或者英文“Terminal”)
 
*# 打开一个终端(在 MacOS 中,在 Spotlight 中搜索“终端”或者英文“Terminal”)
 
*# 输入 <code>chmod +x&nbsp;</code>, 并以一个空格结束输入,现在不要按 Enter 键。
 
*# 输入 <code>chmod +x&nbsp;</code>, 并以一个空格结束输入,现在不要按 Enter 键。
*# 拖拽 <tt>unpack.sh</tt> (Linux) 或 <tt>unpack.command</tt> (Mac) 到终端窗口上以输入文件路径。
+
*# 拖拽 <samp>unpack.sh</samp> (Linux) 或 <samp>unpack.command</samp> (Mac) 到终端窗口上以输入文件路径。
 
*# 按 Enter 键。如果操作正确,终端将不会显示任何消息,权限问题应该解决了。
 
*# 按 Enter 键。如果操作正确,终端将不会显示任何消息,权限问题应该解决了。
*# 重新尝试运行 <tt>pack.sh</tt> (Linux) 或 <tt>pack.command</tt> (Mac).
+
*# 重新尝试运行 <samp>pack.sh</samp> (Linux) 或 <samp>pack.command</samp> (Mac).
 
* 如果在 Windows 上遇到无法识别的命令,请执行以下操作:
 
* 如果在 Windows 上遇到无法识别的命令,请执行以下操作:
 
*# 确保你没有误下载 源代码zip!
 
*# 确保你没有误下载 源代码zip!
第106行: 第106行:  
==打包游戏文件==
 
==打包游戏文件==
 
 你不需要打包游戏文件,如果你正在使用 [[模组:Content Patcher|Content Patcher]] 的话。<br />
 
 你不需要打包游戏文件,如果你正在使用 [[模组:Content Patcher|Content Patcher]] 的话。<br />
 使用 <tt>.json</tt>, <tt>.png</tt>, 或者 <tt>.tbin</tt> 文件连接到你的 <tt>content.json</tt>.
+
 使用 <samp>.json</samp>, <samp>.png</samp>, 或者 <samp>.tbin</samp> 文件连接到你的 <samp>content.json</samp>.
    
 如果你确实想打包,则需要使用 [[#xnbcli|xnbcli]]:
 
 如果你确实想打包,则需要使用 [[#xnbcli|xnbcli]]:
 
# 找到你要重新打包的文件。
 
# 找到你要重新打包的文件。
# 复制到 xnbcli 的 <tt>unpacked</tt> 文件夹。
+
# 复制到 xnbcli 的 <samp>unpacked</samp> 文件夹。
# 双击 <tt>pack.bat</tt> (Windows)、<tt>pack.sh</tt> (Linux)、<tt>pack.command</tt> (Mac)。
+
# 双击 <samp>pack.bat</samp> (Windows)、<samp>pack.sh</samp> (Linux)、<samp>pack.command</samp> (Mac)。
# 移动打包后的 <tt>.xnb</tt> 文件至原来的位置。
+
# 移动打包后的 <samp>.xnb</samp> 文件至原来的位置。
    
==进行修改==
 
==进行修改==
第121行: 第121行:  
[[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:<samp>Content\Maps\spring_objects.xnb</samp>。
 
* 一个 '''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 <samp>Content\Characters\*.xnb</samp> spritesheets。
    
Spritesheets 易于编辑:
 
Spritesheets 易于编辑:
 
# [[#解包游戏文件|解包]]你想要更改的文件。
 
# [[#解包游戏文件|解包]]你想要更改的文件。
# 打开已解包的 <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 画图
+
# 打开已解包的 <samp>.png</samp> 使用一个图像编辑器 (例如Windows平台上的 [http://www.getpaint.net/download.html Paint.NET],或是适用于Windows/Linux/Mac平台的 [https://www.gimp.org/downloads/ GIMP])。注意,使用支持透明通道的图像编辑器非常重要(ARGB 中的 A:alpha 通道),例如 Photoshop,而不是 Windows 画图
 
# 直接对图像进行更改。
 
# 直接对图像进行更改。
 
# [[#解包游戏文件|重新打包文件]] 然后复制到原位置。
 
# [[#解包游戏文件|重新打包文件]] 然后复制到原位置。
界面管理员、patroller、结构式讨论监督员管理员、translators
105,853

个编辑