更新 2.43
2026/6/9
v2.43.0BETA
Seymour
EncounterTable:儲存按鈕 + per-group 危險編輯 + 全域危險預設(功能 1+4)
EncounterTableExplorer現在是一個完整的遭遇編輯器,而非 read-only 檢視器。EncounterTableGroupRow與EncounterTableFormationRow現在為部分ObservableObject:Danger(每羣組,0–255)和Weight(每陣形,0–255)可透過互動滑桿進行編輯;更改Danger會立即寫回group.Danger並更新友好標籤(No encounters / Rare / Normal / High / Maximum);更改Weightauto-recalculatesgroup.TotalWeight。Per-group 預設:No encounters (0) / Normal (50) / Intense (128) / Maximum (255)按鈕。儲存:💾 Save btl.bin呼叫EncounterTable_File.Write()(slot-only、byte-local 修補),首次儲存時建立btl.bin.bak;↩ Restore vanilla將備份複製回來。全域危險:「編輯與儲存」卡片中的四個預設按鈕(⚡ No encounters / Normal / Intense / Maximum)可一次應用於 ALL 羣組跨 ALL 地圖,並顯示受影響羣組數量的回饋。DataModel持有_loadedEncounterFile和_encounterFilePath,以重複使用已解析的物件而不需 re-reading 該檔案。編輯器建構零錯誤
v2.42.0
v2.43.1BETA
Seymour
ffx-hooks.dll 階段 0:C++ 引擎鉤子層骨架(PolyHook2, x86)— DLL 載入 in-game 且未崩潰,共用記憶體已就緒,鉤子暫被註解,等待 IDA
- 新的 C++ DLL
RuntimeTools/FfxHooksDll/與現有ffx-probe.dll共存(NOT 是否取代它?):模組載入器(dinput8.dll)從modules\automatically. Phase 0 scope:dllmain.cppskeleton — on load, waits 2s (thread + Sleep, never hooks directly in DllMain), gets theFFX.exebase, creates the shared memory blockLocal\FFXHooksBlock_v1(256 bytes: magic/version,musicOverrideTrackIndex,musicSeq,elementFlagsExt), and writes to%TEMP%\ffx-hooks.log. No real hooks installed in this phase — gate: game opens normally + log appears with[ffx-hooks] Fase 0 skeleton loaded. Commented stubs:hooks/MusicHook.cpp(thiscallFFX_FmodMusic_PlayTrackByIndex, Phase 1 — pendingRVA_FMOD_PLAY_TRACKfrom IDA),hooks/ElementHook.cpp(inline hook for element flags Earth/Wind/Dark bits 0x20/0x40/0x80, Phase 2). VS2022 projectFfxHooksDll.vcxproj(Win32 only — game is x86; vcpkg manifest mode withpolyhook2:x86-windows+zydis:x86-windows). Scriptbuild_hooks.ps1with-Deploy(copies tomodules\):簡單的cl.exe模式,沒有 PolyHook2(階段 0)或透過 MSBuild+vcpkg(階段 1+)的-WithPolyHook。shared/ffx_addresses.h將所有 RVA 集中為帶註解的 PLACEHOLDERS(每個 IDA 執行 RVA 任務)
v2.43.0