速查 › 二十年工具清冊

二十年工具清冊

2005 到 2010 年,一群人替這個遊戲寫了一整套工具,然後把它們放上網。 本站有一份當年留下來的收藏,這一頁把它全部打開、逐個讀過說明書,再按工作分類整理在這裡。 結論比想像中重要:本站教你「讀」的每一種格式,這批工具裡都有人做出了「寫」。

先修正兩個數字,不然這一頁會建立在假前提上

一、這份收藏常被說成「294 MB」,但其中 64% 不是 MVP 的工具。 最大的兩項是微軟的 DirectX 安裝包(95.6 MB)和一套文字編輯器的繁中版(85.3 MB), 兩個加起來 180.9 MB。扣掉這類通用軟體後,真正的 MVP 專用工具是 88 項、106.2 MB

二、檔案日期不是工具的年份。103 項裡有 65 項的日期是同一年, 那是某一次批次下載留下的時間。工具真正的年份要去它自己的說明書裡找 ——ScheduleUpdater 自述 2007 年 3 月釋出、 Stadium Swapper 寫 2008 年 5 月、MVP Studio 2006 寫 2006 年 9 月。

本站把「數量或大小剛好對得上」列為最弱的一級證據。 拿檔案時間當工具年份,正是同一個陷阱的變形。

這批東西真正的價值:本站會讀,它們會寫

本站把 MVP 的檔案格式一個一個量開,但幾乎全部停在「讀得懂」。 原因很單純:免費工具鏈通常只做單向。以音訊為例, ffmpeg 能解開 EA 的五種 ADPCM 變體(adpcm_ear1r2r3xas,本站量的是 ffmpeg 8.1.1),但一個對應的編碼器都沒有

而這份收藏補的正好是另外那一半:

要做的事本站目前這份收藏裡的寫入工具
音訊(音樂/語音/應援曲)已有教學 sx.exewimpditt.exe
球具(手套、球棒)沒碰過 gfxpakinitstaz.big
開機畫面/授權畫面/讀取畫面已有教學 AllScreensMakerinitialsplashmaker
轉播台(畫面疊加層+轉播音樂)改得動疊加層上的單一元素,沒有整套切換 TVNetworkSelectorOverlaySwapper
隊徽已有教學 Team_Logo_CreatorLogo_Size_Changer
大頭照已有教學Portrait-Makeraddlogo
球衣已有教學MVP Studio 2006 UniEditor
球場槽位沒有這一課(只有速查頁球場檔 stadiumStadium SwapperStadiumFiles 匯出匯入
賽程年份已有教學ScheduleUpdater
存檔內容唯讀解析沒有MVPSavReader 也只讀:把 .sav 匯進去、輸出成網頁,不寫回存檔)

(2026-09-05 訂正:「本站目前」這一欄原本把音訊寫成「只會讀」, 把開機/授權/讀取畫面、隊徽、轉播台寫成「沒碰過」。那是本頁初版時的狀況。 後來本站各補了一課:換掉遊戲的聲音換掉開機畫面換球隊隊徽; 轉播台的疊加層也動得了,見改記分板的顏色關掉轉播畫面右側的跑壘者速度數值, 本站沒有的是「整套換掉、連轉播音樂一起換」。 球場槽位那一格則是反方向的錯:本站只有速查頁,沒有教槽位切換的課,已一併改正。)

兩個從說明書裡讀出來的一手發現

① 那個音訊編碼器是 EA 自己的

收藏裡有一包俄文的 EA 音訊工具組,其中 sx.exe 執行後的第一行自報家門:

sx v3.01.01 (Sound eXchange) Sep 22 2004 ... EAC

EAC 是 EA Canada。這不是社群逆向出來的東西,是原廠內部的取樣格式轉換器流出後被社群拿去用。 它的用法只有兩行:

sx.exe -pcstream 你的.wav -=輸出.asf   WAV 轉成 EA 格式
sx.exe -wave 遊戲的.asf -=輸出.wav     EA 格式轉回 WAV

另一支 wimpditt.exe 走的是另一條路:它直接吃 .mp3.mp2.wav, 輸出 EA 的 SCHl 容器。同一份俄文說明特別註明, 它編出來的其實是更早期(NHL 2003 時代)的版本,但後來的 EA 遊戲照樣讀得懂。

本站 播報與音訊系統 已經量過遊戲裡的九首選單音樂全是 SCHl, 兩邊對得起來。

② 有工具改的不是檔案,是執行中的遊戲記憶體

ScheduleUpdater 的說明書要你先把遊戲開起來、走到選隊畫面, 再切出去執行它,然後才回遊戲。它的更新紀錄裡有一句 「also updated the finding memory address portion of the program」。

換句話說,它是去搜尋遊戲行程的記憶體位址再改,不是改磁碟上的檔。 這解釋了一件事:為什麼它要求那個特定的操作順序, 以及為什麼它在不同版本的遊戲上可能會失效。

同一份說明還提到 3.0 版新增「改完日期後,要不要把所有球員的生日一起平移,讓年齡不變」。 這是很細的體貼,也透露了球員年齡是從生日跟當前日期算出來的,不是存死的。

⚠️ 這不是孤例,所以本頁不寫成「只有一支」。 下面清冊裡的 MVP2005 Editor 也一樣 —— 它的說明書寫著「遊戲沒有在跑會跳訊息」「可能要花幾秒鐘才找到正確的記憶體位址」。 本站掃過手上 11 支社群工具,其中 4 支用到讀寫別的程式記憶體那組功能, 見社群工具怎麼分工。 這裡把 ScheduleUpdater 單獨拿出來講,是因為它的說明書把操作順序寫得最明白。

本站撤回的一條

一條看起來很有說服力、但本站實測站不住的說法

收藏裡有一包叫「speed fix tools」,說明書寫:如果你打的是官方更新檔 4 或 5, 而螢幕更新率超過 60Hz,遊戲會變成超音速。 那一包附的兩支工具都不是改遊戲,是去把整台電腦的 CPU 速度壓下來 (作者說壓到 55% 效果最好)。

本站原本把這一條寫成「2026 年一定會踩到的雷」。那是錯的,已經撤回。

證據指向
班主任在 Windows 與 Mac 兩台實機上玩,都沒有變超音速 直接的反證
執行檔用 QueryPerformanceCounterQueryPerformanceFrequency 那是高解析度計時器 ——用它算時間的遊戲,速度不會綁在畫面更新率上
執行檔裡有 Dynamic VsyncForce VSync Off 遊戲內部本來就在管垂直同步(雖然那是開發者除錯選單,不是玩家設定)

所以正確的說法是:那份說明書描述的是 2007 年前後某些顯卡驅動下的特定狀況, 不是這個遊戲的通則,更不是現在必然會遇到的事。

⚠️ 這一格為什麼會寫錯,值得記下來

本站標了「未驗」,但標籤救不了措辭 —— 「2026 年一定會踩到」這種寫法本身已經是斷言了。

而它之所以能一路寫進頁面,是因為它剛好解釋了本站 當機那課裡 一句沒頭沒尾的「高更新率時降低解析度」 —— 一個能把既有謎團收尾的說法,最容易被放行

那句話的真正來歷本站仍然不知道。把「我找到一個能解釋它的說法」 寫成「我知道原因了」,是同一種錯的第二次。

依工作分類的清冊

下表只列 MVP 專用的部分。同一件事有多支工具時全部列出,因為它們的做法常常不一樣。

分類工具做什麼作者
名冊與能力MVP2005 Editor球員資料總編輯器,本站多數欄位知識的來源。ScheduleUpdater 同一類:要先開著遊戲,找的也是記憶體位址tywiggins
MVPedit另一套編輯器,另有 2006 版
打者/投手/守備 三支評分計算機從真實成績換算成遊戲能力值
EA Speed Analyzer用 Bill James 的有效速度公式推速度值PaulW
音訊sx.exeWAV ↔ EA ASF 雙向轉換(EA 原廠)EA Canada
wimpditt.exeMP3/WAV 轉 EA ASF
IGMusIm、Wumchan場上音樂/打者出場曲的匯入器iansimcox
圖像fshtool、EA GraphicsFSH 貼圖的拆解與匯入
Portrait-Maker大頭照製作,會自己檢查尺寸與色深
Photo Convertereazip+rfshtool 兩支的批次包裝
畫面與轉播AllScreensMaker一次做四種畫面:讀取、CTS、開機、授權compmaniac
initialsplashmaker只做開機畫面(00000000.256compmaniac
TVNetworkSelector、OverlaySwapper整套轉播台切換,含畫面與音樂Sharpshooter(只有 TVNetworkSelectorOverlaySwapper 的說明書只留了作者本名,依上面的原則不列)
球衣與隊徽MVP Studio 2006 UniEditor球衣的匯入、匯出、製作fuzZOne
Team Logo Tools 三件組建立隊徽、打包發布、任意尺寸塞進 FSHfuzZOne
addlogo把隊徽疊到大頭照右下角(命令列)compmaniac
球場Stadium Swapper在有限的球場槽位間切換,不動原檔Sharpshooter
StadiumFiles 匯出/匯入一次處理全部球場 .big 裡的同名檔compmaniac
球具glovebat utilityinitstaz.big(外層解開之後裡面才是 initstay.big):捕手手套、野手手套、球棒。說明書原文誤植成 inistay.big,少一個字母,見執行檔裡剩下的原始碼痕跡
gfxpak上面那包底下真正做事的程式
賽程與王朝ScheduleUpdater改年份、平移日期(改記憶體)tywiggins
Schedule Generator、Balanced Schedule Generator產生賽程
MVPSavReader讀存檔並輸出成網頁
安裝與打包Total Installer Thingy把模組做成安裝程式,原始碼公開go2tom42TiT 那兩份說明書從頭到尾沒有署名,作者取自公開原始碼 go2tom42/Total-Installer-Thingy;它的前身 Installer Thingy 是另一個人的作品,說明書第一行寫「Installer Thingy 2.6 - Krawhitham」,見工具家譜
InstallerMaker 系列四種臉皮/CTS/一般 三類的安裝包產生器compmaniac
bigGUI、eazip.big 封裝檔的圖形介面與命令列工具
其他ResChanger改遊戲解析度,會自動備份執行檔tywiggins
4GB Patch讓 32 位元程式用得到 2GB 以上記憶體

關於作者欄

上表只寫社群 ID,不寫本名、不寫信箱、不寫他們現在在哪裡。 這些說明書裡多半留有當年的聯絡方式,那是 2006 年的資訊, 本站不轉載

但有一件事值得說:這批工具集中在少數幾個 ID 手上。 compmaniac 一個人就做了七、八支,tywiggins 另外七、八支, fuzZOne 包了球衣跟隊徽整條線,iansimcox 包了音訊匯入, Sharpshooter 包了切換類。這個遊戲能被改二十年,靠的是不到十個人。

本站不提供這些工具本體

這一頁寫的是它們做了什麼、怎麼運作、觀念上為什麼那樣設計, 不附任何一支的下載。理由有三個:這些是別人的作品、多半沒有明確授權條款、 而且其中好幾支的原始發布站已經關閉,來源真偽無法驗證。

如果你手上剛好有這些工具,這一頁可以當說明書用。 如果沒有,本站每一課都盡量提供可以自己看懂的腳本作為替代。

📌 重點整理

接下來