跳轉到內容

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                           "dawxyz-ha-ha@noway.com"
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 技術級別。

 

腳註

 

參考文獻

華夏公益教科書