跳转到内容

Trainz/Config.txt 文件

来自维基教科书,开放世界开放书籍
logo
Trainz 注解参考

Trainz 初学者入门
目录 | 开始乐趣 | AM&C | 创作 | 书内参考资料 ORP 参考资料:  • 索引 • 容器 • 种类 • 标签 | 附录  • 版本

Config.txt 文件

[编辑 | 编辑源代码]
此页面简要介绍了 Config.txt 文件,这是 Trainz 中一个非常重要的数据定义元素,面向普通用户和初学者。


这是对Trainz config.txt 文件的介绍,它是一种 ini 文件,用于跟踪和初始化 Trainz 数据定义和数据库系统中的几乎所有资产

年轻的读者可能不太熟悉 INI 文件的概念,但这种技术仍在现代应用程序中使用,尽管许多曾经保存在 ini 文件中的设置数据现在被放入了 Windows 注册表项,其余部分通常隐藏在一个普通的 Trainz Windows 用户无法访问的文件夹中。{{efn| 在 C:\ 根目录中搜索 *.ini 会发现 ini 文件仍然存在,甚至在 Microsoft Windows C:\Windows (系统) 文件夹及其子文件夹中。较新的 Windows 通常会将用户控制的应用程序选择放置在 \Users\User's-LogInName\...\AppData 文件夹中的 .ini 文件中 - 因此,Trainz 在 Windows 2000 和 Windows ME 版本之前就存在,连接了 Windows NT 版本,[注释 1] 如果这种技术对 Trainz 有用,Trainz 将会继续使用。

然而,Trainz 无法使用注册表,因为在典型的 Trainz 版本中内置了超过 130,000 个资产,有些可能达到这个数字的两倍 - 还没有算上来自 下载站 或第三方网站的免费或付费内容,以及使用注册表来记录即使是新增的内容,都会很快让 Windows 注册表变得极其缓慢,这与注册表的最初设计目标背道而驰,该目标本应通过隐藏各种内容,让普通用户无法接触并修改设置,从而使 Windows 应用程序启动速度更快并提高可靠性(从软件支持人员的角度来看)。(没错,这就是家长式思维!) 总而言之,现在注册表已经存在了十多年,Window 进程切换速度要快得多,应用程序也更加信任注册表,因此它们能够减少自启动操作的保护测试。

  然后还有第二个问题,Trainz 资产 ini 文件是 .txt 文件,大多数 Trainz ini 文件很快就会消失 - 它们的 根文件夹 只是暂时存在,作为一个包含 数据定义 集的文件,它们通常被压缩到其他经过部分处理、组织和索引的文件中(参见 chump 文件),Trainz 数据库在 运行时 GUI 模块和 CM 中使用这些文件。这种处理过的“资产状态”被称为提交,这意味着根文件夹中的临时文件被捆绑在一起并插入到 Trainz Asset Data Base (TAD) 中,准备包含在路线或会话中,或者由 CM 操作(例如检查依赖项 或依赖资产)进一步引用。

所以我们现在要解决一个重要的入门问题。

Trainz 资产到底是什么? [注释 2]???

Trainz 元素、Trainz 活动以及你想做的任何事情,除了卸载 Trainz 安装之外,都取决于 KUID 和资产。一个你驾驶的会话,用你使用的路线(地图、虚拟世界)填充你完成的任务,这些都是通过编程'Scriplet' (references),它的消息列表(HTML 或文本资产),当然还有 机车车辆 - 基本上所有可以定义为代码的项目,或 Trainz 某一部分的整体的一部分的元素,都是资产。我们使用 Content Manager 来管理所有这些,使用由 KUID 唯一标识的 Config.txt 文件,KUID 是一个索引和相互关系标识符,可用于将颜色(纹理或可见皮肤)、网格(皮肤覆盖的形状)、网格集合(例如 火车车厢 的各个部分,车轮、耦合系统转向架转向架、货物架和形状 [另一个网格,可能是网格库资产的一部分],所有这些都包含在颜色文件中,并具有反射属性,使不可见的形状看起来具有真实的形状)。


什么是 config.txt 文件?

[编辑 | 编辑源代码]

Trainz 中的每个资源(或内容项)都从一个文件文件夹设置开始,并且每个部分都由内容创建者定义。在 Trainz 早期阶段,由于技术原因,每种类型也都有一个定义的文件夹和子文件夹结构,其中一些名称受到限制,带有后缀,或者根据传统约定,以某种特定方式定义。一些图形软件包,特别是 Autodesk 的 3ds Max(N3V 的开发人员使用)以及更简单的面向游戏的 Gmax(3ds Max 的子集,以前与 Trainz 捆绑在一起)喜欢使用某些子文件夹安排,而其中许多安排被延续到 Trainz 文件夹组织中。因此,对于一个火车车厢资源,您通常会在其 **根文件夹** 下看到以下子文件夹,根据旧标准(TRS2006 之前),*该文件夹将以 “asset-filename” 标签的值命名*(AssetName),在后来的数据模型中,通常是 用户名 标签的值(Asset_Name):[注释 3] 早期的 Trainz 数据模型(结构)依赖于 *“asset-filename”*,以及后缀 _art、_body 和 _shadow。以 Asset_Name(用户名)为引用,其 “略有不同” 的 asset-filename 将在根文件夹 “Assetname” 内定义以下文件夹结构。

  • Assetname\Assetname_art
  • Assetname\Assetname_body
  • Assetname\Assetname_shadow,它有明显的冗余。

其他一些资源类型,特别是风景资源,可能会有不同的文件夹结构。一个带有灯光(“夜间模式”)的简单建筑物可能会有一个主体子文件夹,但它可能只会将其组成文件保存在其本地根文件夹中,但仍然有旧式文件夹 “*night*”,其中包含在黑暗中显示对象的不同的网格和纹理。这会在路灯下产生光池,商业建筑(如酒吧)的霓虹灯,照明的窗户,汽车展厅大厅内容的清晰视图等等。关键在于,虽然文件层次结构和命名约定在 网格表容器 的引入,以及 asset-filename 标签的减少和最终消除之后不再必要,但活跃的内容创建者仍然会严重依赖那些习惯性的定义以及各个版本发布的 内容创建者指南 中组织事物的方式,直到 TRS2009。出于这个原因,TC3 CCG 由用户社区发布在 Trainz Wiki 上,尽管 N3V 程序员团队表示反对,并且仍然是一个很好的参考资源,当您想知道如何修复资源时可以参考它。

config.txt 文件是将一个自定义的 3D 图形模型的各个部分连接在一起的粘合剂,它定义了这些文件和子文件夹如何通过 Trainz 虚拟世界背后的 Auran JET 3.0 图形引擎解释并组合在一起。它可以引用其他资源,将它们的网格别名化并替换一组不同的纹理,从而改变火车车厢的铁路涂装,完成一个称为重新贴皮的过程。两组纹理都应用于资源的网格,但可见的和顶部的纹理是定义为重新贴皮另一个基础资源的资源中的纹理。配置文件还将一组复杂的资源连接在一起;有时通过直接包含对多个网格的引用,而有时通过 KUID 引用一个部分。这将通过考虑常见的货车来更清楚地说明。这样一个资源包含定义耦合器、制动软管、转向架(转向架)、车轮以及车体的网格。如果车体允许可见的载荷,如料斗车、敞车、平板车或井车,那么资源定义可能会包括与相关载荷类型相关的动画组件,这些组件可以显示出排水或灌装载荷水平的幻觉。其中两种类型通常不采用散装载荷,而是采用离散载荷,如板条箱,Auran 称之为 “普通货物”。它们也可以采用奇形怪状的形状,如农业设备、建筑产品、废料。在火车车厢定义中容纳每一种类型将是浪费精力。相反,每种可能的载荷都有 附件点,为载荷创建不可见的停靠点,并在需要时自定义外观的改变。所有这些部件都需要定义和配置才能协同工作。这些附件点需要与可能 “停靠” 到它的载荷类型以相同的方式定向。这种魔法发生在资源的配置文件中。上面列出的许多部件是通用的,并且对许多车辆来说是通用的,因此它们很可能由自己的配置文件定义,并通过 KUID 引用。所需的内容以及如何指定和收集这些内容取决于资源的 类型

配置文件必须定义各种数据元素,其他数据元素是可选的。这些数据元素在 TrainzBaseSpec 中列出,这是一个 KIND 类数据集合,它可能或必须在每个 Trainz 子资源中定义。子资源是部件、车轮、机车驾驶室、转向架(转向架)、耦合器、连接到交互式工厂的轨道等等,这些部件可能被数量众多的更大资源使用。工厂里的轨道或货车(货车)的车轮就是两个容易理解的例子。

配置文件的味道

[编辑 | 编辑源代码]


以下是来自实际机车资源引擎组件文件文件夹的配置文件的简要示例。声音也是资源的一部分,这个文件将声音(可能适用于其他机车)连接到 “引擎规格” config.txt 文件,该文件通过引用其 KUID “<kuid:32711:100430>” 来调用它(见下文)。引擎规格资源反过来又在机车的 config.txt 文件中被引用,这意味着这个资源既有父资源,也有祖父母资源级别;并且可能还有许多这样的关联。

username                                "0-4-0T Sounds"
description                             "0-4-0T sounds"
category-class                          "ZS"
kind                                    "enginesound"
{{TR|T|trainz-build}}                            2.9
author                                  "Ben Neal original author/ updated and reskinned by Dap"
contact-email                           "[email protected]"
license                                 "You may not sell this package. You may not claim it as your own.
You may repaint it if you wish, just give bdaneal credit for original mesh and textures.
All items are presented as is, no warranty is included nor implied. I doubt this would 
cause any damage to your computer, but if it does bdaneal and/or Dap may not be held liable. 
The contents of this package are copyright 2008 Ben Neal. Thank you for your cooperation."

{{TR|C|thumbnails}}
{
  0
  {
    image                               "preview.jpg"
    width                               240
    height                              180
  }
}
{{TL|kuid}}                                   <kuid:32711:100430>
kuid-table
{
}

强制性标签和容器

[编辑 | 编辑源代码]
注意,在 Trainz 和 MAC 计算机世界交互的过去几年中,此列表一直在快速发展。以前是可选的标签现在在 TrainzOnline Wiki 上显示为 trainz-build 3.4 之后的强制性标签,或者其他类似的标签。此外,DLS 验收测试通常领先于 Trainz 软件版本,因此上传的资源可能会被退回,要求定义这样一个或那样的强制性标签列表。

资源元素包含在 '{' 和 '}' 之间,位于一个 '容器'类型

 

*在 trainzoptions.txt(TR04—TS12)中设置 'freeintcam' 开关参数,或在 TANE 及其之后的版本中选中具有相同功能(**释放内部摄像头**)的复选框,会将键盘箭头从旋转和倾斜功能更改为将摄像头位置向前或向后滑动,或者左右滑动。Freeintcam 模式使用户能够将许多摄像头完全移出驾驶室,或移至更具优势的观看(和鼠标控制)角度。

注释、脚注和参考

[编辑源代码]

config.txt 文件在 Trainz 资源中是普遍存在的,因为没有资源可以在没有这种类型的 计算机科学容器 的情况下定义。在编辑或创建 Trainz 内容时,必须始终牢记关键字-键值对。 TrainzBaseSpec 包含在资源定义 config.txt 文件中最常见的数值和容器。

注释

  1. Windows 98 和早期 Windows NT 极大地增加了操作系统可寻址的硬盘空间 — 磁盘大小已经达到顶峰,而 Windows NT 中的新模式和 Windows 98 中的桥接技术允许使用更大的硬盘。
  2. 故意的 's' ... 编辑器的本地方言。问问任何来自宾夕法尼亚州西部的人!
  3. 新的 Trainz 用户会了解或被提醒,asset-name 标签在 TRS2009 中被弃用,并且从此以后,如果存在该标签,并且资源的 trainz-build 标签值高于 2.8,就会生成错误。这对应于 TC3 技术级别。

 

脚注

 

参考文献

华夏公益教科书