更新 2.88
2026/6/13
v2.88.0BETAMINOR
Lulu
魔法 DLL(FFX):候選顏色、速度、計時器與向量編輯的數值工作臺
- :
Extras -> Magic DLLs (FFX) / Role Candidates現在包含一個可編輯的Candidate Value Workbench,掃描所選的 DLL 以尋找float32、vec3f/vec4f與push imm8/imm32數值,將候選項分類為 alpha/顏色/比例/速度/計時器/旗標/計數,並讓使用者輸入新的十進位/浮點/comma-vector 數值、Stage Patch或透過 DLL 輸出一個Apply To Output。Host Context / InitMagicPRX Fields區塊現在也獲得輔助:選取一個主機欄位,列出 DLL 中的具體 u32 出現處,並修補一個實際偏移參考。注意事項:名稱仍為候選項,且每次變更仍需進行 RT2 測試以確認視覺/遊戲語意。編輯器版本提升至2.88.0.0。驗證:dotnet build FFXProjectEditor\FFXProjectEditor.csproj -c Release -o work\_build_magicdll_value_workbench_probe --no-restorewith 0 errors / 366 baseline warnings
v2.87.1
v2.88.1BETAPATCH
Lulu
魔法檢視器網頁版:中央階段的執行期模擬候選項
- :檢視器現在擁有一個
Simulate模式,將材質幻燈片行為取代為由反向結構鏈(sub_800530/590/950、sub_80CD60、sub_817200、root+84/root+88、疊加層插槽與 Phyre 承載)引導的連續循環。ps3data\magic材質被視為視覺素材,而非時脈/影格清單;HUD 顯示階段、根遊標、程式碼/資料回呼以及重複的 DLL 別名。注意事項:這是一個Runtime Simulation Candidate,比Cycle Surface更為真實,但仍非 frame-accurate 時序、完整的運算碼直譯器或 RT2 對回呼/影格 in-game 的關聯。編輯器版本提升至2.88.1.0。驗證:node --check RuntimeTools\FFXMagicViewerWeb\app.js; HTTPhttp://loopback:8766/index.html?magic=0688200; Chromium headless clickedSimulateon desktop and 390px mobile with no page errors/console errors, no mobile horizontal overflow, screenshots atwork/magic_viewer_runtime_simulation_0688.pngandwork/magic_viewer_runtime_simulation_0688_mobile.png; builddotnet build FFXProjectEditor\FFXProjectEditor.csproj -c Release -o work\_build_magic_runtime_sim_2881 --no-restorewith 0 errors / 366 baseline warnings
v2.88.0
v2.88.1.1BETAREVISION
Wakka
Arena+ pre-RT2:透過 NPC 為新的 DLL 選項提供的版本化研究套件
- :repo-persisted 研究/RE,無產品行為變更。對 Monster Arena/Arena+ 檔案集進行版本管理:新增分頁/創造物、DLL 插入、暗黑 Aeon/Penance 擊敗旗標、NPC 選項路由、最終偵察,以及
nagi0700pre-RT2 檔案。關鍵發現:Monster Arena 擁有者位於事件nagi0700中;w0E::f05透過Now what?字串Common.displayFieldChoice [013B]建構[4A]選單,w0E::f07透過SgEvent.showModularMenu [401D]開啟選擇器,透過Battle.launchBattle [7002]啟動戰鬥,並透過0x0300..0x0322標記已擊敗的創造物Common.setMonsterArenaUnlocked [0210]。編輯器版本提升至2.88.1.1。護欄:research-only/pre-RT2;請勿展開ArenaUnlocks[35+],請勿編輯nagi0700.ebp,也請勿在即時追蹤前插入原始選單行。驗證:Test-Path+rg針對檔案、KB 以及交接錨點;建置dotnet build FFXProjectEditor\FFXProjectEditor.csproj -c Release -o work\_build_versioning_28811 --no-restorewith 0 errors / 366 baseline warnings. — Jarvis
v2.88.1
v2.88.1.2BETAREVISION
Lulu
魔法 DLL:similar-spell 模式研究,以進行更安全的顏色/速度搜尋
- :repo-persisted 研究/RE,不改變產品行為。交叉比對
AiCommandMetadataCatalog.Generated.cs(979列,689與moveAnim)、覆蓋層 CSV(581列)以及magicFiles\FFX\magic_####.dll二進位檔,以根據實際視覺載體而非僅法術名稱進行分組。關鍵發現:Power/hits/status 存在於命令列中;視覺效果存在於moveAnim;基本 Fire/Thunder/Water 使用較簡單的nz9/u5家族,而冰/治療/Flare-like 效果則使用更廣泛的 PPP 家族;Cure/Potion 以及許多混合效果復用視覺效果;Death證明 same-name 法術可以指向不同的 DLL;常見的Deathmagic_0098和Mega Deathmagic_0351共享覆蓋層/紋理槽/大小,但不共享雜湊/有效載荷;克隆0714/0715仍然是稜鏡 Flare 的正確路徑,無需觸及原版 Fira/Thundara。防護措施:pppColor/pppColMove/pppAccele、浮點數和推送仍然是候選項,直到 RT2/探針證明顏色、速度或時間語義。編輯器已升級至2.88.1.2。驗證:通過Test-Path/rg記錄錨點;構建work\_build_magic_patterns_28812,0 個錯誤/366 個基線警告
v2.88.1.1
v2.88.1.3BETAREVISION
Seymour
60fps / FPS 解鎖研究:分離畫面生成、畫面節奏,以及 engine-exact 60
- :repo-persisted 研究/RE,無產品行為變更。檔案
docs/reverse/FFX_60FPS_UNLOCK_FEASIBILITY_RESEARCH_2026-06-13.md結論指出,沒有證據顯示安全解鎖 one-value 30→60 幀率上限;正當路徑為visual 60透過外部畫面生成/內插、改善 30fps 畫面節奏、以內部內插在 30Hz 模擬上進行 60Hz 渲染,以及將完整engine-exact 60fps作為長期目標/research-only 工作線。交叉證據:UnX 透過乘以FFX_GameTick實作速度加速,而非以 60fps 維持正常時間;Special K/UnX 警告外部 30fps 上限可能影響讀取,且部分選單以 60 幀執行;此倉庫已有 DINPUT8/main-thread、一個 Present 鉤子,以及 MSEQframeRate=7680 (30fps*256),但魔法/戰鬥/過場動畫時序尚未 frame-accurate。安全下一步:在 read-only/fps-scout中建立一個FfxHooksDllFfxDinput8Probe,於任何修補前測量 Present、tick、MSEQ 遊標與遊戲模式。編輯器升級至2.88.1.3。驗證:透過Test-Path/rg記錄錨點;建置work\_build_fps_research_28813結果為 0 錯誤 / 366 基準警告
v2.88.1.2
v2.88.1.4BETAREVISION
Seymour
深入 gameplay-60 研究,過場動畫/FMV 允許維持 30fps
- :repo-persisted 研究/RE,無產品行為變更。報告
docs/reverse/FFX_GAMEPLAY_60FPS_DEEP_RESEARCH_2026-06-13.md回答了使用者的新範圍:過場動畫可以維持 30fps,遊戲過程纔是目標。結論:這從第一個里程碑移除了主要的影音同步類別,但並未將問題轉變為簡單的幀率上限交換;遊戲過程仍需要針對地圖、戰鬥、MSEQ、攝影機、CTB、魔法/VFX、選單、讀取和小遊戲進行個別處理。研究詳述了四條路線:visual 60透過幀生成/插幀,幀節奏/VRR/Present doctor,60Hz 渲染疊加於 30Hz 模擬,搭配內部插補器,以及完整的engine-exact 60fps作為長遠目標,直到偵查證明時鐘可隔離。安全的下一個技術步驟:一個 read-onlyfps-scout,包含 CSV/摘要,針對呈現節奏、心跳/時脈、遊戲模式、MSEQ 遊標,以及 UnX/SpecialK 相容性,在所有修補之前。編輯器更新至2.88.1.4。驗證:透過Test-Path/rg文件錨點;建置work\_build_gameplay60_research_28814結果為 0 個錯誤 / 366 個基準警告
v2.88.1.3
v2.88.1.5BETAREVISION
Lulu
魔法 DLL:真實的 Hex-Rays 反編譯揭示 TWO 效果架構 + 已證實的主機欄位
- 之上:repo-persisted RE(在
.i64中反編譯 + 重新命名/註解),無產品行為變更。越過 position-based 命名(MagicDllSemanticAnalyzer啟發式),I 實際反編譯了magic_0084和magic_0148在 IDA 中。關鍵發現:語料庫具有 ≥2 種不同的架構,而 slot-kind 簽名進行 NOT 區分(兩者在每個插槽中都有code):家族 A 「self-contained 粒子」(magic_0084:本地 1023 粒子池 + 256 封包環,無dat_et根;插槽 1 是繪製滴答;插槽 4 重寫自己的覆蓋表 以推進階段——也在magic_0688中確認)和 家族 B 「根/record-interpreter」(magic_0148:通過 host+3212 分配 1,024,000 字節的根,通過 host+2860 實例化,並直接調用 host+2864=sub_80CD60和 host+2884=sub_80BEA0)。將約 20 個主機欄位從candidate提升為 經由反編譯的 cross-DLL 調用證明(host+672 角色,+884/+888 計時器,+900/+904/+908 階段/開始/進度,+2860 實例化,+2864 解釋器,+2872/+2876 Ego 物件,+2908 make-packet)並發現新的 host+3216(空閒) 配對 host+3212。文件:docs/reverse/FFX_MAGIC_DLL_DECOMPILED_FAMILIES_2026-06-13.md。編輯器升級至2.88.1.5。護欄:仍然 byte-level RE,名稱描述角色(非原始符號);slot-kind 簽名是一個弱代理——真正的家族分類器是「插槽 0 是否調用 host+2860?」。驗證:2 個.i64保存在magicFiles\FFX中,附帶重新命名+註解;重新命名17/17(0084)和10/10(0148)OK
v2.88.1.4