アップデート 2.219
2026/8/2
v2.219.0.0BETAMINOR
Seymour2026年8月2日
i18n: 7言語の完全翻訳(///適用 (ES/FR/DE/IT + //ステージング) JA/KO/ZH 技術情報
- Lane IFRT-2. 前版:
v2.218.5.0] - 7言語で2,197キー翻訳 、公式用語集(34語: Overdrive→Turbo/Ekstase、 FFX ライブラ→Libra/Analyseなど) ライブラ+ 共通語(40語: UI 保存/Load/開く/Close/Applyなど)+ 自然翻訳を使用。
- ES/FR/DE/IT をサテライトresxファイルに適用 ((Strings.{es,fr,de,it}.resx): 各言語で2,197キー更新。エディタは現在5言語(////) UI の完全を持つ。 (EN/ES/FR/DE/IT).
- JA/KO/ZH をステージング (
work/_i18n_staging_{ja,ko,zh}.json) 日本語/韓国語/中国語の公式語で2, FFX 197翻訳を生成、 NOT esxに適用しない (font-bank 技術情報SlotGlyphMetaテーブルはランタイムのみ存在; 今適用すると間違った文字が表示される)。これはが解決したときに適用する AI の義務 に RT2 なる(docs/ai/SESSION_HANDOFF.md). - 翻訳パイプライン:
work/_i18n_gen_all_translations.py((ラテン翻訳をバッチ生成)+work/_i18n_apply_translations.py((resxに適用)+work/_i18n_gen_asian_staging.py((アジア翻訳をステージングで生成) JSON 技術情報 - ゲート: ビルド0エラー; スイート 379/379 PASS. 6ドキュメントで完全バージョン管理(csproj + + + + CHANGELOG + changelogUS + VERSIONING + PORT_STATUS + SESSION_HANDOFF).
v2.219.0.0BETAMINOR
Lulu2026年8月2日
Magic DLL エディター: UNIVERSAL opcode リゾルバー(pppProgTbl_FP は DLL 自身の .rdata から取得)
- トリガー: ユーザーによる手動スモークテスト —
magic_0117.dllを開くと、ALL のスロットに「opcode未登録 / 生の16進数」と表示された(埋め込みカタログには 0021/0098 しかなく、mag_0117 には Yonishi fp.h がない)。 - RE の発見: ローカルの handler-name テーブル(pppProgTbl_FP)は、DLL 自身の
.rdataに、handler_table_index 順のppp*文字列として存在する — 0021 .rdata == Yonishi fp.h(37/37、順序も同一)。0098 .rdata は PS2 上で35個に対して39個あり、PC が KeZCrct/KeZCrctShp/DrawMdl3/DrawShapeX mid-table を挿入している。共通して、すべての DLL にこの情報がある(12-DLL のサンプル)。 - 修正:
MagicFpHandlerTable.TryExtractFromDll— 解決順序は Yonishi fp.h > DLL 自身の .rdata > 埋め込みカタログ。カバレッジスキャン: 名前付きスロット30,436個(以前は約32K RAW)、RAW 4個、field_map 外の opcode 0個(新たな SEM_PAYLOAD ファミリー7種: pppDrawHook、pppDummyFunc、pppKeOfsMatXYZ、pppMatrixFront、pppNei*PointLight)。 - 具体例: P0 の s11(キー 0x040C)は、0117 では handler #22 = pppDrawMatrixFront(pppMatrixScl ではない — 0117 の順序は #12 以降、正規の順序から分岐している)。
- ゲート: ビルドのエラー0件、MagicDll スイート70/70 PASS(0117/0021/0098 の新規テスト3件)、DLL カバレッジ49/49。
- ドキュメント:
docs/reverse/PPP_RDATA_PPPROGTBL_UNIVERSAL_20260802.md。 ### PATCH
v2.218.5.0
v2.219.0.1BETAPATCH
Seymour2026年8月2日
Dataset-driven ) — データセット駆動ジェネレーターをcomposeに接続:
- シナリオプロファイルが現在
"layout_mode": "pattern"(をサポート(BuildMonsterPattern— dist 105、弧±55-90°、 per-battle バトルごとのシード)— 保持の代わり — パーティ/カメラ CONSTANT + 絶えず変化するパターンのモンスター。 ever-changing デフォルト"preserve"((現在の動作)。テスト済み: remiem x4パターン → プレビューで±60°弧の4モンスター(シード kino00 . 前版:v2.219.0.0] ### MINOR
v2.219.0.2BETAPATCH
Seymour2026年8月2日
MUSIC FINALLY REALLY DISABLED ) — — ついに本当に無効化 + 洞窟グリッド間隔を空ける
- 前版:
v2.219.0.1] - MUSIC (技術情報
ModuleFlagEnabledがフラグの存在のみチ EXISTENCE (ェック(.flag.off) を無視)— 私の以前の.offは無価値だった。修正: (1)arena_plus_music.flag技術情報.bakにリネーム (MusicHook — 即時、再ビルド不要) IMMEDIATE, (2) コード:ArenaPlusMusicFlagEnabledRaw/MusicHookEnabledFromConfigが.flag.off(を尊重するようになった(プロジェクトパターン)。 次回ブートで音楽が戻る。 - 洞窟(Calm Lands)— 詰まったモンスター: キャリアx4グリ same-side ッドが 約29u (mon1-mon2 技術情報 mon1-mon3 29u、 27u — 「スタック」)。グリッド4/5間隔(x4で後ろ78/前116): 洞窟x4が現在 mon1-mon2 技術情報 mon1-mon3 技術情報 mon0-mon1 83u ((マップが4召喚獣を分散して表示)。ボス微調整無効化(中間の召喚獣を衝突させた)。
- Steamデプロイ(フック12:39 + ラボ)。 ### PATCH
v2.219.1.0BETAPATCH
Seymour2026年8月2日
ViewerShell PIN: — : — : ビューアをdescシーンにピン留め(noclipホーム/Aboutブロック)
- 前版:
v2.219.0.0] - 診断: ユーザーがMonster Studioの代わりにnoclip HOME ((About付きメニュー)を見た —
#ffx/monster-studioハッシュが保持されなかった(アプリがホームにフォールバック; スキンだけでは修正されない、ホームには隠されたidがないため)。 WebView2Host.NavigatePinned(url, hash): (1) ドメインガード —NavigationStartingが私たちのオリジン( (http://loopback:8769— Aboutののような外部リンクをブロック)を離れる任意のナビゲーションをキャンセル; (2) ); (2) GitHub); (2) ハッシュ強制 技術情報NavigationCompleted, で、location.hash≠ descハッシュの場合、 re-applies 技術情報ExecuteScriptAsync(経由で再適用(noclipがhashchangeを処理しシーンにナビゲート)。ビューアは決してホームに留まらない: アプリがメニューに落ちても、シェルが戻す。ViewerShellがロード時とReloadでNavigatePinnedを使用。- 直接 開くはず、ホーム/Aboutなし; DIRECTLY 外部リンクブロック)。
v2.219.2.0BETAPATCH
Lulu2026年8月2日
Embedded catalog [98] REGENERATED from the PC .rdata (35→39 handlers) + full effect→table map versioned
- 技術情報 技術情報) (PS2) fp.h 技術情報 SHIFTED 技術情報 PC 技術情報 技術情報(27))/KeZCrctShp(27)/DrawMdl3(32)/DrawShapeX(34) mid-table. 32) PC (34) . n 技術情報
- 技術情報
docs/reverse/PPP_PROGTBL_ALL_20260802.json技術情報 - 技術情報 技術情報 MagicDll 技術情報 PASS (n @28) DrawMdl@28). ### REVISION
v2.219.1.0
v2.219.2.1BETAREVISION
Lulu2026年8月2日
RE ドキュメント: 正規の DB で SEM_PAYLOAD 7件を IDA MCP+pppDrawMatrixFront のデコンパイルにより検証(INFRA、ペイロードなし)
- .i64 に opcode→handler の注釈を5件適用(0x757460 DrawHook / 0x7344D0 KeOfsMatXYZ / 0x737280 NeiChrPointLight / 0x74A2B0 + 0x74AF40 Nei*PointLight ヘルパー) — 既存の名前が正しいことを確認済み(blind-renameしないこと: offset 12 の handler_ptr = pC=描画エントリーフィールドで、MagicHost ヘルパーの可能性がある)。
- pppDrawMatrixFront(0x734CA0)= INFRA: ppvWorldMatrix を a3+128 にコピーし、HUD ポートレート(FFX_BtlUI_HudParty_GetPortrait)を使用 — レコードは読み取られない(NOT)。0117 の s11 はコマンドスロット(名前表示、raw 編集も正しい)。
- ドキュメント:
docs/reverse/PPP_RDATA_PPPROGTBL_UNIVERSAL_20260802.md§6-7。 ### PATCH
v2.219.2.0
v2.219.2.2BETAPATCH
Seymour2026年8月2日
i18n: ES バッチ適用が上書きした441手動翻訳の復元 + ドメイン辞書(136語) FR/DE/IT // による//カバレッジ拡張 + 2つの生リテラル移行。 ViewerShell 技術情報
- Lane IFRT-2. 前版:
v2.219.2.1] - 翻訳後検証中に見つかったバグ: post-translation 技術情報 自動適用( (
_i18n_apply_translations.py) が品質手動翻訳(クローム、 ES 公式語、Mod 説明)を+用語集で上書き。 EN技術情報 修正:work/_i18n_restore_manual_es.py— 491手動キー( (_i18n_tr_es_1..5c.py) ON TOP + 50追加); 50孤児(発明された名前、にプロパティもコードベースに参照もない) Strings.cs を削除して2197/2197整列を維持。 - カバレッジ拡張:
work/_i18n_expand_coverage.py+work/_i18n_domain_dict_{1,2}.py(136 FFX/エディタドメイン語)— に等しいキーのみに適用(冪等) : +495(%→%) ONLY ( +454(%→%) +495 EN (%→%), +454 FR +495 (18.7%→41.2%), DE +454 (19.0%→39.7%), IT +498 (19.3%→41.9%). - 2つの生リテラル(他レーンのファイル) ViewerShell_Control.axaml 技術情報 ViewerHub 技術情報 を移行 — StringsIntegrityTests — が
iniciando…とservidor in-process→U_*キー + のプロパティ Strings.cs + 外科的置換(それらの2行のみ)。 - ゲート: ビルド0エラー; スイート 396/396 PASS (StringsIntegrityTests 。最終カバレッジ: %(手動品質) ES 33.4技術情報 %, FR 41.2%, DE 39.7%, IT 41.9%; JA/KO/ZH // 技術情報) (font-bank).
v2.219.2.3BETAPATCH
Seymour2026年8月2日
i18n: FR/DE/IT/ES coverage expanded (399-term PT→FR/DE/IT dictionary + 22 EN phrases + ES domain) AND index-corruption fix that mixed languages in FR/DE
- Lane IFRT-2
- PT→FR/DE/IT 技術情報
work/_i18n_pt_dict_{a,b1,c1,c2,c3}.py((399語 — UI 動詞、 FFX ゲームプレイ、ワールド、素材/時間/希少性)+_i18n_en_phrases.py((22共通句)+ (インデックス0)をカバーするようになった_i18n_expand_coverage.py技術情報 ( ES (技術情報 - BUG 技術情報 技術情報
_i18n_apply_pt_dict.pyの1回目の実行が(fr,de,it)タプルに対してインデックス1/2/3を使用 FR 技術情報 GERMAN 技術情報 技術情報 DE → がドイツ語の値を受け取り、 ITALIAN がイタリア語の値を受け取った(修正された2回目の実行はキーがもはやと等しくないため上書きしなかった)。 ) EN). 修正:work/_i18n_regenerate_fr_de.pyが正しい順序の全4層(公式用語集 FR/DE / ドメイン 句 )で中立から/をゼロから再生成。 技術情報 EN 技術情報 PT). - 修正後の実際のカバレッジ: ES 50.3% (+372), FR 58.6%, DE 55.8%, IT 59.9% ((このラウンド前の33-42%に対して)。9/9 resx整列(2199キー)。
- ゲート: ビルド0エラー; スイート 396/396 PASS. PT 10.2%(公式語; がエディタの実用中立) PT-BR ; //はまだステージング(フォントバンク) JA/KO/ZH // 技術情報) (font-bank).
v2.219.2.2