更新 2.37
2026/6/7
v2.37.0BETA
Seymour
怪物 AI 編輯器:一個 PROVEN「如果 HP 低於 X%」條件 (IDA+語料庫) + 222 個已命名屬性字段(「campo 0xNN」結尾)
- Halyson 說要使用 IDA,並猜測「它一定是個組態檔,其中每一行等於一個數字」——兩者都完全正確。RE 在
FFX_recon.i64中:ATEL 原生調度 =handler = *(FuncspaceTables[funcId>>12] + 16*(funcId&0xFFF))(插槽 +0 CALLPOPA / +12 CALL);readChrProperty(0x700F) =0x7A4D70→ 一個field→property開關 (sub_7B2DD0)。Cross-referenced 搭配 FFXDataParser/ScriptConstants.putBattleActorProperty(擁有者直覺到的「組態」)加上語料庫:字段 0x00 = HP(stat_hp,語料庫的 most-read 屬性 — 306 次),0x02 = maxHP(137 次),0x119 = NearDeath(= IDA 案例 281current<max/2)。算術操作碼已證實(* 0x16等)。#11 REAL 已發布: 一個受保護的程式碼片段 「如果 HP 低於 X% → 強制指令」 =HP*100 < maxHP*X慣用語 (corpus-proven 字段 0/2) — 真正的 boss-enrage,不再是猜測(先前的 v2.35.0 版本是通用的,因為 HP 字段未被證實;現在已證實)。命名: 新的FfxLib/Ai/AiChrPropertyNames.cs(222 個已命名字段,與編碼器的 func-name 表格相同公開來源)接入增益/狀態檢測器 → 狀態動作現在顯示「Haste/Protect/StatusPoison/HP/maxHP…」而不是「campo 0xNN」。門--ai2:HP%-狂怒 346/346 + 條件式 346/346;--ai3PASS。文件:docs/reverse/FFX_AI_NATIVE_DISPATCH_AND_CHRPROPERTY_FIELDMAP_2026-06-07.md(+ rename-queue 用於.i64)。老實說: 結構已離線證實,in-game 效果 = RT2; 0xDA/218=HP%×256 的量表存在於 IDA 中,但語料庫並未使用它(I 採用的是 AI 實際使用的路徑,0/2)。由於 Sphere Grid 工作線的 WIP(無關),編輯器建置呈現紅字;我的所有檔案皆為 FfxLib、gate-validated
v2.36.0.1
v2.37.1BETA
Seymour
SPHERE GRID CANVAS: AUTHENTIC 視覺效果(透過編輯器圖集顯示的 REAL FFX 圖示)+ 可讀節點 + LIVE 斷裂警告 + 顏色/圖例/發光/懸停/音效
- 擁有者要求「做得漂亮 + 自動警告」,並指出 v1 只是一個沒有圖示的小圓圈。關鍵發現: 編輯器 ALREADY 擁有 Explorer 華麗的渲染器(
SphereGridPreview_Control+Assets/SphereGrid/icon_atlas.png)——因此 I 偷走了 REAL 圖集(並捨棄了先前加入的 game-icons.net I'd)。現在畫布上:(1) AUTHENTIC FFX 圖示 — 一個彩色球體 + 由icon_atlas.png繪製的AppearanceType精靈(STR/DEF/MAG/HP/MP/白色/黑色/特殊/技能/鎖定)OR 一個文字徽章(AGI/ACC/EVA/LCK…),與 Explorer 完全一樣,透過由SphereGridNodeVisualInfo建構的panel.bin(相同的CreatePreviewVisual/BuildShortLabel邏輯)。(2) READABLE 節點 — 球體約 12 像素(原本是 5.5)+ 預設縮放現在開啟在可讀的層級(不再塞滿 828 個節點)+ LOD(縮小以檢視概覽時顯示點)+ 視口剔除。(3) LIVE 斷裂警告 — 拖曳一個 node <40u OR crossing a link turns it RED instantly + a banner, no Validate click (a cheap check of just the moved node, per frame). (4) category colors + a legend, a pulsing glow on the selection (DispatcherTimer), hover lighting, and sound viaAudioStudio_Service(bundled FFX UI SFX; allowed because the project is PRIVATE — the owner's correction). NO image AI — it's the REAL game sprite already shipping in the editor. Build 0 errors; editor boots without crash
v2.37.0
v2.37.2BETA
Seymour
怪物 AI 編輯器: #8 真實 NAMED 目標(自身 / 敵人 / 盟友 / 角色#N…)— 解析器破解了哨兵
- 遵循「查看解析器」:
FFXDataParser/ScriptConstants.putEnum("btlActor")IS 精確地對應到 target-sentinel 映射 IDA 未傳遞(ATEL 解析器超時)。現在已命名且 corpus-consistent:-13/0xFFF3 = 自身(已證實),-14/0xFFF2 = FrontlineChars(怪物的「敵人」= 玩家角色;最常見的字面哨兵,272 次),-6/-7/-8 = 角色 #1/#2/#3,-15/0xFFF1 = AllMonsters(怪物的「盟友」— 匹配 White Wind→治療怪物),-17 = LastAttacker,-5 = AllActors,-3 = TargetActors,-20 = AllAeons,0x10NN = MonsterType…(敵人/盟友是從怪物的 POV 而來)。所以 🎯 變更目標(v2.33.0)不再只是「複製範例」,而是變成一個 命名的 target-MODE 下拉選單 — 即擁有者從一開始在 #8 中想要的「單一 / 所有敵人 / 所有盟友」;動作列表顯示「alvo: FrontlineChars」;而 反組譯 / 運算元編輯器 則將哨兵(0xFFE9–0xFFFF,明確的範圍)註釋為「(alvo: Self/…)」。新的FfxLib/Ai/AiTargetNames.cs(btlActor,與編解碼器的函式/屬性表具有相同的公開來源);已接入下拉選單 +AiScript_File.OperandGloss。閘門--ai2/--ai3PASS(RT0 byte-identical 保持不變 — 僅註釋,未更改任何位元組);編輯器建置 0 錯誤。老實說: 自身是 byte-proven;其餘名稱來自公開的 RE + corpus-consistent(精細語意 = RT2)
v2.37.1
v2.37.3BETA
Seymour
SPHERE GRID CANVAS:節點隨縮放比例縮放 + 清晰的向量圖示(圖集裁切錯誤)
- 擁有者對 v2.37.1 的回饋:探索者圖集(
icon_atlas.png)錯誤地裁切了其儲存格(Lv1-4 和許多其他醜陋的)且節點在縮放時縮小(screen-constant 大小 → 消失在間距中)。兩個修正:(1) 半徑隨縮放比例縮放 —CurrentNodeRadius = clamp(26×scale, 5..42px),因此 zoom-in = 一個 BIGGER 球體(可讀圖示),zoom-out = 較小(概覽);圖示/文字隨之縮放。(2) 向量圖示 — 回到 game-icons.net(CC BY) 字形(SphereGridIcons.cs、SVG 路徑 →Geometry.Parse),這些字形在任何縮放下都能清晰縮放,無裁切(捨棄了點陣圖圖集):鎖定 = 一個乾淨的 "L{n}" 徽章(Lv1-4 不再被裁切),屬性獲得一個圖示(HP/MP/力量/防禦/魔力/敏捷/Luck/能力),其餘 = 一個縮放的文字徽章(ACC/EVA/MDF/WHT/BLK/SPL/SKL)。保留 category-colored 球體 + 發光/懸停/圖例/live-break-warning/音效。建置 0 錯誤;CC-BY 歸屬在SPHERE_GRID_ICON_CREDITS.txt中
v2.37.2