格式速查

遊戲檔案是怎麼組成的

想自己動手改、或寫自己的工具,先從這裡認識檔案格式。 每一頁的數字都是從實際檔案量出來的,沒有推測。

遊戲檔案的三層結構

絕大多數遊戲資源都遵守同一個模式,搞懂這三層,其他就是細節:

1. 封裝 —— 幾百個檔案裝進一個 .big(全遊戲共 224 個)
2. 壓縮 —— 取出來的項目常常還包一層 QFS
3. 內容 —— 解開後往往是純文字:版面腳本、CSV 賽程、球員資料

先看這兩個

什麼改得動、什麼還不行 誠實版現況表:哪些已完全解開、哪些只解一半、哪些短期不會有解。省得往死路鑽 ✓ 可用
遊戲檔案地圖 224 個封裝檔在哪、裝什麼。從「我想改什麼」反查到檔案,含目前還改不了的誠實邊界。 ✓ 可用
執行檔裡剩下的原始碼痕跡 零售執行檔留著 68 條 EA 的原始碼路徑與緊貼著它們的內部名稱表: 守備任務 50 格、受傷分類 27 種、投打節奏四種對局各一組、連線是延遲鎖步。 不用字串鄰接,用指標陣列去驗;48 條主張裡 29 條被自己人打掉。 ✓ 可用
二十年工具清冊 2005-2010 社群留下的 88 個工具的盤點與分類清冊。本站教你「讀」的格式,這裡有人做出了「寫」; 含 EA 原廠的音訊編碼器,以及一條本站自己撤回的 60Hz 說法 ✓ 可用

基礎:每個修改都會用到

本站怎麼量的 本站每個數字都寫著「量到的」,但那要先知道量的是哪一份檔案 —— 同一個檔名在不同模組包裡可以差 2,200 倍。這一頁給出量測對象的 指紋(檔數/大小/SHA-256)、名詞的精確定義(同一個詞用兩種算法是本站踩過最多次的坑)、 以及一支三十秒就能確認你我量的是不是同一份的腳本。 也寫清楚本站量不到什麼 只看不動 ✓ 可用
BIGF 封裝格式 16 bytes 檔頭、目錄結構、mixed endian 陷阱,以及絕不能整包重新打包的原因。 ✓ 可用
QFS / RefPack 壓縮 怎麼辨識、四種指令編碼,以及不用寫壓縮器就能合法壓回去的技巧。 ✓ 可用

介面

FEL 版面語法 選單、HUD、轉場全是純文字版面腳本。看懂就能改遊戲裡幾乎所有介面。 ✓ 可用
ingame.big 47 個版面檔對照 想改哪一塊畫面,先從這張表找到對的檔案。 可以直接搜尋 —— 打「好壞球」「暫停」「重播」都找得到。 ✓ 可用
版面檔裝在哪些封裝檔 全遊戲 332 個版面檔、141,767 行、2,044 個畫面, 分在六個封裝檔裡。附一個叫 .big 但其實不是封裝檔的例子。 ✓ 可用
介面座標圖 把版面檔裡的座標畫成圖,一眼看出哪個東西在畫面哪裡。 附「座標是絕對值」的一萬八千個元素實測證據。 ✓ 可用

資料

兩套球員編號 每位球員同時掛兩個無關的號碼:四位數決定大頭照與播報語音, c### 決定臉皮。而本站測試機的臉皮檔只有 894 個(原版 504 個), 901 以上一個都不存在。 ✓ 可用
王朝存檔長什麼樣 30 個存檔全部剛好 2,239,688 個位元組。沒有加密、沒有壓縮, 而且任兩個球隊的存檔有 98.9% 到 99.85% 相同 (30 個存檔、435 組全部比過)。 ✓ 可用
為什麼你加不了新球隊 因為球隊名字不是資料,是欄位名 —— 而那張表頭清單一字不差地也存在主程式裡。附七個停在 2004 年的化石欄位名。 ✓ 可用
播報員為什麼不唸新球員的名字 因為那是 2005 年錄好的音,不是合成的。 EA 原廠錄了 1,673 個號碼的名字;本站測試機的語音庫有 4,343 個, 多的是模組加的。 ✓ 可用
語音檔頭的 16 個位元組 2008 年那篇社群教學說「用 WinHex 在第 2、3 欄填編號」。 本站把兩份原版的 6,995 個檔頭全部量過,把每一格是什麼弄清楚了 —— 順便發現那句話差了一格 ✓ 可用
球員資料檔全欄位清單 46 欄 + 29 欄逐欄列出,含實測值域。 順便解開身高與生日兩個編碼很怪的欄位(身高 +48 = 英吋)。 ✓ 可用
球員代號對照表 守位、球種、走場音樂那些數字代表什麼。 只寫能用遊戲自己的檔案佐證的,佐證不了的照實說。 ✓ 可用
球員資料檔 attrib / pitcher 改能力前必讀:它其實是 CSV、每格帶索引前綴,而且大部分「能力值」不是 0-99。 ✓ 可用
總設定檔 datafile 攝影機在哪、每種聲音多大聲、打擊物理參數 —— 全在同一個 4.4 MB 純文字檔, 而且 EA 把攝影機欄位的名字也寫在裡面 —— 兩張表,一張管打擊 116 欄、一張管守備 128 欄。 21,548 行全部解析完,沒有一行讀不懂。⭐ 兩個語言版本的欄位名字一樣、編號整個重排, 守備那張表零個編號相同 只看不動 ✓ 可用
資料檔總覽 database 23 個檔裡有 19 個是純文字,而且表頭自己會說明每一欄是什麼。 哪種資料放在哪個檔,一次看完。 ✓ 可用
賽程 schedule.big 9 個賽程表、CSV 格式與換年度原理 —— 目前寫在賽程教學的「原理」一節。 ✓ 見教學

場景與聲音

球場檔 stadium 剛安裝好的原版 87 個球場檔每一個都剛好 88 項 (本站測試機那份被模組動過,propdaypropnite 各多一項)。 含日夜版本的真實差異與高風險警告。 ✓ 可用
播報與音訊系統 佔 737 MB 的最大一區。索引檔是純文字,可以自己加總驗算; 這裡的 .big 其實有三種格式。 ✓ 可用

球員的長相

圖片的像素怎麼排 大頭照與臉皮的像素編碼解開了,拿計算機就能驗。 附一個「本站抓到自己工具寫錯兩格」的實例。 ✓ 可用
大頭照 portrait.big 7,544 個項目、7,542 張圖片(另外 2 個是 1 個位元組的殘項)。 兩種格式為什麼都剛好 64 KB, 以及 EA 藏在每一張圖裡的一句話。 ✓ 可用
模型與臉皮 models.big 全遊戲最大的檔(本站測試機 535.9 MB,原版 165.0 MB)。 臉皮的統一規格 —— 原版 504 張零例外, 以及怎麼判斷你手上這份是不是原版 ✓ 可用
動畫 anims.big 243 個動作庫。一半是純文字,另一半是標準目標檔 —— 接起來就能用現成工具讀。 ✓ 可用
文字表 .LOC 遊戲本體畫面上的文字都在這兩個檔裡(內建網站另有一套,見該頁)。格式完全解開 —— 不用開遊戲就能看到每個元素寫什麼字。含 EA 忘了拿掉的開發用字串。 ✓ 可用
EA 自己的繁體中文版是怎麼做的 2005 年 2 月 EA 出過官方繁中版。跟英文版逐檔比對: 913 個共同檔案只有 65 個不同,中文被放進日文的槽位,字型檔脹大八倍。 ✓ 可用
原版與這台機器差在哪 本站的數字大多是從一台裝過台灣模組的機器量的。拿原版逐項對照: 臉皮 504 對 894、大頭照 1,487 對 6,638、語音號碼 1,673 對 4,343。 編號只能用來排除,不能用來認定 —— 三種資源的原廠上限各不相同(臉皮 c606、大頭照 5043、語音 5032)。 ✓ 可用
官方更新檔動了哪些檔 EA 為英文版出過四個官方更新檔(1、2、3、5,沒有 4)。逐一量出它們會覆蓋哪些路徑: 四個加起來只碰 19 個檔,而且球場、球衣、模型、大頭照、動作、音訊、介面版面 一個都沒碰過。所以順序是先更新再裝名冊模組 —— 反過來會被蓋掉。附一個小發現:每一版都要換的那張圖是授權聲明畫面, 同尺寸的 60 張載入畫面全部走 DXT1,只有它是 32 位元無壓縮 —— 為什麼只有這一張不壓縮,該頁標為未解。 只看不動 ✓ 可用
官方繁中版的三個更新檔改了什麼 官方繁體中文版另有三個更新檔。這一頁不是掃安裝程式裡的清單,是 拿沒更新過的安裝跟三個都裝完的安裝,2,389 個檔逐位元組比對只有 19 個檔變了,沒有新增也沒有刪檔,整套 1.4 GB 淨長 6,930 個位元組。 它是 2005 年開季名單更新,不是相容性修正。⚠️ 這個 19 跟上面那個 19 湊巧同數,不是同一組檔 只看不動 ✓ 可用
字型檔 .ffn 12 個點陣字型、兩種檔頭代號,以及一個 把「孤兒資料怎麼產生的」完整證明出來的例子。 ✓ 可用

陸續補齊中

遊戲內部代號對照 原本因「缺原廠出處」暫緩。改用遊戲自己的檔案佐證之後解封 —— 能佐證的照登,佐證不了的照實說。 ✓ 可用

一個五秒鐘的判斷技巧

拿到不認識的檔案,先用十六進位工具看前幾個位元組:

BIGF → 封裝檔 · 10 FB → QFS 壓縮 · 7F 45 4C 46 → ELF(動畫/模型) · 看得懂的英數字 → 純文字,直接改

副檔名會騙人 —— 這遊戲裡叫 .dat 的檔案,好幾個其實是 CSV 文字。