ドキュメントの目次

FXO

コマンドライン版(fxo)

GUI と同じ処理を、コマンドから呼べます。v1.6.0 から インストーラーに同梱されているので、FXO を入れればそのまま使えます。
FXO を、画面ではなく文字で打って動かすやりかたです。 同じことができて、まとめて処理したいときや、AI に手伝ってもらうときに向いています。
読みかた

「やさしく」に切り替えると、専門用語を避けた言い方で読めます。手順や数値は同じです。

このページの内容

何ができるか

GUI の FXO と同じ処理を、コマンドから呼べます。同じ `fxo-core` を呼んでいるので、画面でやったことと結果が食い違いません。

v1.6.0 から、インストーラーに同梱されます。GUI を入れれば `fxo.exe` も一緒に入るので、別途落とすものはありません。

8
領域
45
動作
47
打てるコマンド
4
終了コード

v1.7.0 の実物に fxo commands --json を実行して数えた値です(2026-08-22 実測)。内訳は領域配下 45 + 直下 2(commands / path)。

入れかた・呼びかた

インストール先に GUI(`fxo-desktop.exe`)と並んで `fxo.exe` が入ります。既定では `C:\Program Files\FXO\fxo.exe` です。

どこからでも `fxo` と打てるようにするには、PATH へ登録します。管理者権限は要りません(利用者ごとの環境変数だけを触ります)。

fxo path          # いまの状態を見るfxo path --add    # 登録するfxo path --remove # 外す

開き直してください

登録後は、開いているターミナルを開き直してください。既存のターミナルは古い PATH を持ったままです。

書かないのが既定

--apply を付けないかぎり、ファイルを書きません。

書き換える系の動作は、既定が**下見**です。何がどう変わるかだけを出して終わります。納得してから `--apply` を足すと、そこで初めて書きます。GUI の「プレビュー必須」と同じ考えかたです。

fxo tex apply .\stream --mode downscale --max 2048#   → 何がどれだけ小さくなるかを出すだけ。書かない fxo tex apply .\stream --mode downscale --max 2048 --apply#   → 実際に書き換える(既定で .bak を残す。--no-backup で残さない)
  • 書き換えの前に `.bak` を残します(`--no-backup` で無効化できます)。
  • 解析対象のコードやバイナリは実行しません。読むだけです。GUI と同じです。
  • escrow(`.fxap`)は復号しません。暗号化されていることを検出して報告するだけです。

8 つの領域

コマンドは「領域 → 動作」の 2 段です。全部を覚える必要はありません — fxo commands がいつでも一覧を出します。
fxo gun3 動作

銃パックを FiveM リソースに変換し、提供元メタから 1 丁分を切り出し、出来上がりを検査する。

convert
銃パックを FiveM リソースに変換する
donor
提供元メタから 1 丁分を切り出す
inspect
銃リソース 1 つを検査する(I1〜I19)
fxo texテクスチャ5 動作

ytd の中身と VRAM を見て、縮小・再圧縮の効果を先に確かめてから当てる。画像から ytd も作れる。

inspect
ytd を検査する
resize
縮小したらどうなるかを見る(書かない)
encode
再圧縮したらどうなるかを見る(書かない)
apply
ytd を実際に書き換える
convert
画像から dds / ytd を作る
fxo modelモデル5 動作

ydr / yft / ydd の絵を PNG に起こす。メッシュ・LOD・ボーンを数え、読み取りがどこで止まるかを追える。

snapshot
モデルの絵を起こす(一覧の 1 枚絵も作れる)
mesh
メッシュを数える
lods
LOD の段数を見る
bones
ボーンを見る
probe
読み取りがどこで止まるかを追う
fxo rpfRPF10 動作

GTA V の RPF を一覧・取り出し・検査する。鍵の取り出しと取り込み、目録の突き合わせまで。

keys / import / check / where
鍵を取り出す・取り込む・確かめる・出どころを見る
list / names / extract
中身を一覧する・名前だけ吐く・取り出す
verify / hash / diff
辻褄を検査する・ハッシュを出す・目録を突き合わせる
fxo audit監査9 動作

リソースの信頼度・健康診断・衝突・当たり判定・server.cfg・マップ・エモート・EUP・銃を一括で。

resource
リソースの信頼度を測る
health
健康診断
conflict / collision
衝突を探す・当たり判定を見る
servercfg / mapcheck
server.cfg を見る・マップを見る
emote / eup / gun
エモート・EUP・銃をまとめて見る
fxo metaメタ6 動作

車両メタ・ハンドリング・ymap・ytyp・ycd・fxmanifest を見る、書き換える、作る。

vehicle / handling
車両メタを見る・ハンドリングを見る/書き換える
ymap / ytyp
ymap を見る/動かす・ytyp の原型を並べる
ycd / manifest
ycd を見る・fxmanifest を作る/確かめる
fxo gen9Enhanced(gen9)2 動作

Legacy / Enhanced の内訳を調べ、Enhanced 形式へ変換する。

audit
世代を監査する
convert
Enhanced 形式に変換する
fxo packパッケージ5 動作

直せるところを探し、リソースとして固める。DLC 統合・SP 衣装の変換・依存の走査も。

optimize
直せるところを探す
package
リソースとして固める
dlcmerge / spconv
EUP の DLC をまとめる・SP 用の服を FiveM 用に直す
scan
フォルダを走査してリソースの依存を見る

AI・スクリプトから使う

`--json` を付けると、標準出力に JSON を 1 つだけ吐きます。進捗も装飾もそこには混ざりません。AI に渡すときや、スクリプトから読むときはこちらを使ってください。

fxo commands --json

`fxo commands --json` は、全コマンドと引数を機械可読で出します。AI に「まず何ができるか調べさせる」ための入口で、名前・必須かどうか・既定値・取りうる値まで入っています。こちらが仕様書を書いて渡す必要がありません。
fxo commands --json > commands.jsonfxo tex inspect .\stream --json | ConvertFrom-Json

どのコマンドでも使える指定

--json
機械可読出力(標準出力に JSON を 1 つだけ)
-q, --quiet
進捗と装飾を止める(報告の中身は減らさない)
-v, --verbose
詳しく出す(重ねられる: -vv)
--color auto|always|never
色の付けかた
--max-decompress <バイト>
解凍の上限(0 = 既定のまま)。解凍爆弾よけ

終了コード

0
成功問題は見つからなかった
1
問題あり動作は完了したが、報告すべき問題があった
2
使いかた違い引数が足りない・値がおかしい
3
実行時の失敗読めない・書けない・壊れている

「見つかった/見つからない」を 1 と 0 で分けているので、CI や自動化から `if` で素直に分岐できます。0 以外=異常終了ではありません。

対話画面(TUI)

引数なしで起動すると、対話画面(TUI)が開きます。領域から辿ると、打つべきコマンドを組み立てて見せます。覚えていなくても手が動きます。

fxo#   → 領域を選ぶと、打つべきコマンドを組み立てて見せます
j / k(↑↓)
選ぶ
h / l(←→)・Tab
領域と動作を行き来する
/
絞り込む。領域をまたいで探します(/extrpf extract
Enter
打つコマンドを出力して抜ける(実行はしません)
q / Esc / Ctrl-C
抜ける

一覧の [W] は「その動作は書き換えうる」印です。--apply を持つ動作に付きます(fxo path だけは PATH を書き換えるので例外的に付きます)。手で表を持たず clap の定義から出しているので、動作が増えても印がずれません。

自動化の中では開きません

パイプやリダイレクトのときは開きません(標準入出力の両方が端末のときだけ)。自動化の中で誤って対話画面に入って止まる、ということが起きないようにしています。CI などで確実に止めたいときは、環境変数 `FXO_NO_TUI` に `1` / `true` / `TRUE` のいずれかを入れてください(それ以外の値だと止まりません)。

起動の絵

対話画面を開いた最初の 1 秒に、走査線がロゴを撫でていく絵が出ます。最初の 3 回だけで、それ以降は黙って画面が開きます。

  • 何かキーを押せば飛ばせます。押したキーは対話画面にそのまま渡りますfxo ⏎ に続けて打った 1 打目が消えません)。
  • q / Esc / Ctrl-C を押した場合は、対話画面を開かずそのまま抜けます。
  • --quiet を付けると出ません(--quiet は「進捗と装飾を止める」指定で、この絵は装飾です)。
  • FXO_SPLASH=never で常に止められます。always にすると毎回出ます(撮影用)。
  • 色が出せない端末・小さい端末・CI では出ません。コマンドを実行するときは決して出ません。

借りたのは考えかただけ

見た目は terminaltexteffects(MIT)の考えかたを借りていますが、あちらは Python なので取り込んではいません。同じ骨格で作り直しています。