JARVIS-ARENA
アップデート 2.128
2026/6/16
v2.128.0.0MINORJarvis-ARENA
Arena+ Multi Dark Aeon カスタムトークンリゾルバー REDIRECT(スパイクのオプションA)
- レーン。(DLLの新機能:読み取り専用のスパイクに、ドキュメントに記載されているリダイレクトパスが追加されました)
FFX_ARENA_PLUS_CUSTOM_TOKEN_RESOLVER_HOOK_SPIKE.md). フックResolverLogHook現在、2つのモードがあります: (a) LOGGER — 従来の動作、デフォルト; (b) REDIRECT — 以下の方法によるオプトインarena_plus_custom_token_resolver.flag(env:FFXHOOKS_ENABLE_ARENA_PLUS_CUSTOM_TOKEN_RESOLVER). リダイレクトモードでは、vanillaのトランポリンを呼び出す前に、shimはテーブルを参照するcustomToken -> aliasToken(必須の範囲 HIWORD0xA001..0xAFFF); 一致した場合、そのトークンは「vanilla」というエイリアスに置き換えられ、リゾルバーはrow正当なもの。ダウンストリームでは通常のトークンと区別されない;元に戻すには、フラグまたはDLLを削除する。ヘッダー内の新しいAPIhooks/ResolverLogHook.h:**SetCustomTokenRedirects(table, count)(第32章、範囲の有効性)、SetCustomTokenRedirectEnabled(bool),IsCustomTokenRedirectEnabled(),ResolverRedirectHitCount(). 新型サイドカーmods/Spira Reforge/arena/spira-arena-custom-tokens.{json,schema.json}4件のエントリが格納されています(デュオ0xA0010 046->0x00DC0046, trio0xA0020046→0x00DC0046, quartet0xA0030046→0x01AE0046, penta0xA0040046→0x01AE0046). Carregamento no boot viaArenaPlus_LoadCustomTokenRedirects()emdllmain.cpp— busca em$FFXHOOKS_ARENAPLUS_CUSTOM_TOKENS_PATH-><DllDir>/mods/Spira Reforge/arena/spira-arena-custom-tokens.json-><DllDir>/spira-arena-custom-tokens.json; falha em I/O ou parse mantem o hook em modo logger (zero regressao). Build PolyHook PASS 11/11 cpp. RT2 in-game Precisa Testar (espera ate o launcher gerar token custom; ainda nao foi conectado em UI). [anterior:v2.127.0.0]
v2.128.0.1REVISIONJarvis-MAGIC
ロンソ・マナ(先週のRE第6回):ランタイム終了 — o`−1` キマハリのODは、`WalkMenuBlobIndex(blob2,43)==0`; gauge/OD-ready は完全に除外(RT2のログより)`hudSafe=24` テスト)
- (RE/doc + コメント
.i64実際;一切の動作変更はなく、DLLも変更なし — もう一方の部屋では引き続き使用中)。RT2のログを読んだところ、hudSafe=24(%TEMP%\ffx-hooks.log) その迂回路そのものがB0-resolveすでに捕捉済み — バグ#1の因果関係を完結させる。 根拠:B0 resolve a1=2 a2=1 treeId=43 a4=1 ->-1(でringKind=1EringKind=12) とP0 dispatch charge=100 max=100 590=0x0D(OD-ready FORÇADO: このフックはすでに0x590のビットを設定しており、79AF701を返す、6C8、そしてピナmax:=charge) — そしてODは隠れたままだった。 ⇒ OD-ready/charge==max はゲートではない(hudSafe 17–24の締めくくり)。さらに:blob2=0x1B5C8D70= HEAP VIVO のポインタ(system_00(オフラインの空)→ ゲートは、実行時に与えられるブロブのインデックスである。構造的ブレークスルー(記号演算、実行時なし):dword_1134564[N] ≡ unk_C8F8D0[N+1217317]((0x1134564−0xC8F8D0)/4=1217317(その通り) ⇒dword_1134564[0](countがResolve(読む)それは、そのPushMenuTreeEntry(797B80)増加し、そしてdword_1134564[2*v8+1537]これはプッシュされた入力 → このプッシュは、node-defのループに正確にデータを供給するResolveMenuTreeNode(797D60);case 2 subtype=1→unk_112A994[8]=0x112A9B4=blob2. すぐに−1を削減するWalkMenuBlobIndex(blob2,43)==0⇒blob2[2+43]==0xFF(t reeId 43(未登録) または43>=blob2[1](count≤43)。kind=1(sel=1)およびkind=12(sel=12)の両方が−1となったため、これは一次ゲート(二次セレクタではない)である。79BB70(BuildActorCommandMenu) デコンパイルされ、ゲートのライターとして除外された:これはリングバッファ層-A**のみを構築する(ringBase+1144*slot+catOffset、ルーティングbyte241→+120/2→+72/3→+168/4→+296/0xE→+232; ヘッダーdword28&0x1000→+40/&0x800→+56/それ以外→+0)、解決用のblobも書き込まないactor+0xF7C. 測定が1回不足しています (blob2[1]count +blob2[2+43]idx) — **DIAGターンキーパッチ(6行以下、読み取り専用)**を、shimに貼り付ける準備ができたB0-resolveドキュメントの§12.4において、3人の候補者のフィックスが調整済み(B=記述)blob2[2+43], C=パスへのリダイレクトa2=0(Aeonsのように、A=ノードを合成すること)は、1 RT2でのダンプによって決定された。コメント.i64(黄金律、ただし):0x797D60/0x797B80/0x797420/0x7985A0/0x112A9B4. ドキュメント:docs/reverse/FFX_RONSO_MANA_COMMAND_RING_PIPELINE_RE_2026-06-16.md§12. [前項:v2.128.0.0]