コマンドラインオプション¶
コマンドラインオプション¶
吉里吉里のコマンドラインオプションは通常のコマンドラインから指定するほかに、
( krkrrel.exe ) または
( -userconf ) で設定ファイルに保存することができます。
オプションが読み込まれる順序は
- 吉里吉里本体に埋め込まれたオプション
- 吉里吉里コアと同じディレクトリにある .cf ファイル (ファイル名は吉里吉里コアと同じ)
- 「エンジン設定」(-userconf)が出力した、データ保存場所にある .cfu ファイル (ファイル名は吉里吉里コアと同じ)
- コマンドラインに指定されたオプション
となります。.cf ファイルや .cfu ファイルについては、存在しない場合は単に無視されます。後に読み込んだ指定ほど優先されます。
コマンドラインのオプションは基本的に '-' (ハイフン) に引き続き、オプションの名前が来ます。そのあとそれに引き続き '=' を書き、オプションの値を書きます。
たとえば -cdvol というオプションの値が direct ならば、-cdvol=direct と指定します。
「起動オプション」や「デバッグ関連のオプション」や「システム互換性関連のオプション」を除けば、ほとんどは環境依存の問題を解決するための微調整を行うオプションです。
環境依存の問題の解決については
も参照してください。
Note: Releaser や -userconf では、吉里吉里の実行可能ファイルや外部の設定ファイルを書き換えてこれらのオプションを変更できますが、通常はデフォルトのままで問題ありません。作品を制作する側固有の環境で問題があるということで、これらのオプションをデフォルトの物でないものに変えたままの実行可能ファイルや設定ファイルを一般に配布することはおすすめできません (もちろん -datapath のように配布形態や使用形態にしたがって設定すべきオプションもあります)。
下のリストの中で「動的に変更可能」という表記がある物は、System.setArgument メソッドで変更が可能な物です。それ以外のオプションは動的に変更を行うことは出来ません。
起動オプション¶
吉里吉里の特定の機能のみを呼び出して使うために以下のオプションがあります。
- -userconf (エンドユーザ向け設定ツールの起動)
本体に内蔵されているエンドユーザ向け設定ツールを起動します。 - -about (著作権情報ダイアログボックスの表示)
「バージョン・著作権・環境情報」のダイアログボックスを表示します。 - -sel (「フォルダ/アーカイブの選択」ダイアログボックスの表示)
「フォルダ/アーカイブの選択」ダイアログボックスを表示します。data.xp3 などのデータは自動検出されません。
コマンドラインパラメータとして(先頭にハイフンをつけずに)フォルダを指定すると、そのフォルダが初期状態で選択された状態で「フォルダ/アーカイブの選択」ダイアログボックスを開くことができます。
- -printdatapath (データ保存場所の出力)
データ保存場所 (-datapathオプション) の設定内容と改行を標準出力に出力し、終了します。このオプションは、吉里吉里本体と連携してセーブデータの管理を行う外部アプリケーションなどが利用するためにあります。
データ保存場所のうち、$(exepath) などの特殊な文字列は、置き換えられた後の状態で出力されます。
吉里吉里本体は GUI アプリケーションのため、コマンドプロンプトから単に吉里吉里実行可能ファイルに -printdatapath オプションを指定して起動しても何も表示されません。出力内容を取り込むにはパイプやリダイレクトを用いてください。
- -startup (起動スクリプトの指定)
最初に実行するスクリプトファイル名を指定します。
指定がない場合は、startup.tjs が実行されます。
- -nostartup (起動スクリプトの自動実行を抑止 / KRKRZ_REPL ビルド向け)
指定すると、startup.tjs ( および -startup で指定された起動スクリプト ) の自動実行を抑止します。-repl / -replfile 系のエージェント駆動で、ウィンドウを開かず静止状態で起動し、REPL から明示的にスクリプトを呼び出して処理を開始したい場合に利用します。
設定可能な値は '1', 'yes', 'true', 'on' ( 有効 ) または値なし ( 有効 )、'0', 'no', 'false', 'off' ( 無効 ) です。指定しないと無効です。
起動スクリプトが無効でも -nostartup が指定されているときはウィンドウが作られなくても即終了しません。
システム全般のオプション¶
- -datapath (データ保存場所)
吉里吉里が様々なデータを保存する場所(フォルダ)の設定です。
設定可能な値は文字列で指定します。
単純にフォルダ名をフルパスで指定することもできますが、通常は以下の特殊な文字列を埋め込んで使います。
- $(exepath)
System.exePath(吉里吉里コアのあるフォルダ名)に置き換えられます。 - $(appdatapath)
System.appDataPath(ユーザのホームフォルダ)に置き換えられます。このフォルダは通常、隠しフォルダになっています。 - $(personalpath)
System.personalPath(マイドキュメントフォルダ)に置き換えられます。 - $(vistapath)
OSがVista以降の場合に$(appdatapath)に、Vista未満の場合に$(exepath)に置き置き換えられます。 - $(savedgamespath)
System.savedGamesPath(ゲームのセーブデータ用フォルダ)に置き換えられます。(1.1.0以降)
デフォルトでは「$(exepath)\savedata」となっています。この設定は、インストーラなどを特に用いずにプログラムを zip 等で圧縮・アーカイブして配布し、ユーザにそれを展開して頂いてすぐにプログラム実行、という配布形態に適した設定です。
しかし、このデフォルトの設定では、Program Files 以下にプログラムを配置した場合、Program Files 以下に書き込む権限がない、Windows XP 等の「制限ユーザ」等でプログラムを起動した場合に、ファイルを書き込むことができずにエラーになる可能性があります。
「$(appdatapath)\アプリケーション名」や「$(personalpath)\アプリケーション名」のような名称にすれば、ユーザごとのフォルダに書き込まれることになりますのでこういう問題は発生しにくくなりますが、セーブデータ保存場所の見通しが悪くなるのでユーザがとまどうかもしれません。
このオプションで指定されたデータ保存場所は、吉里吉里起動時に、もし存在していなければ作成が試みられます。作成が失敗してもそこで終了とはならずに処理が続行しますので、エラー処理はユーザのスクリプト内で(データが保存できないなどの例外を捕捉することにより)行ってください。
「エンジン設定」で行った設定は、このデータ保存場所で指定したフォルダの中に作成されます。そのほか、各種ログも、標準ではこのフォルダの中に作成されます。
- -contfreq (処理ウェイト)
トランジション時などの処理をウェイトをかけながら指定の周期で呼び出すことにより、CPU使用率を低減させるかどうかの設定です。
設定可能な値は '0' (ウェイトをかけない) あるいは正の整数で、このオプションを指定しないと '0' が指定されたものと見なされます。正の整数を指定した場合は Hz 単位の周期を指定することができます。
このオプションの影響を受けるのはトランジションや System.addContinuousHandler で登録した Continuous ハンドラです。
'0' にすると、トランジションを実行中などにCPUを使い切って処理を行います。
数値を指定すると、その周期で処理を行うようになり、余った時間はCPUを休ませることになります。これにより、他のアプリケーションへの影響や、CPU温度の上昇、コンピュータの消費電力を抑えることができます。低い数値を指定すればするほどこの効果は高まります。ただし、低い数値を指定するとトランジションなどがなめらかでなくなる可能性があります。
waitvsync オプションで垂直同期待ちを行うと、Continuous ハンドラが垂直同期のタイミングに合わせて駆動されるようになり、contfreq オプションの設定内容は無視されます。
このオプションは動的に変更することが可能ですが、変更が反映されるのは次にトランジションや Continuous ハンドラの動作がとぎれた時です。
- -eventexceptionlimit (毎フレーム系イベントの連続例外上限)
onDraw や Timer のハンドラなど、毎フレーム繰り返し発火するイベントが例外を投げ続けたときのガードです。発火元ごとに連続例外回数を数え、上限に達するとその発火元を自動停止して WARNING ログを出します。
設定可能な値は正の整数で、このオプションを指定しないと '10' が指定されたものと見なされます。'0' を指定するとガードは無効になります。
主に REPL 駆動など「例外で終了しない」構成で、同じ例外が毎フレーム延々と発生し続けるのを防ぐためのものです。
- -memusage (メモリ使用量)
メモリ使用量の設定です。
設定可能な値は 'normal' (通常) あるいは 'low' (低い) で、このオプションを指定しないと 'normal' が指定されたものと見なされます。
「低い」を選択すると「通常」を選択したときよりもメモリを節約して使用するようになります。しかし「低い」を選択すると、吉里吉里内部の様々なキャッシュ機構が制限されたり、 TJS2 のハッシュ表のサイズが制限されるため、パフォーマンスは低下します。また、「低い」を選択すると、「グラフィック-画像キャッシュ制限」は強制的に「キャッシュを行わない」の設定であると見なされます。
- -laxtimer (タイマイベント許容量制限)
一度にシステムに蓄えられるタイマイベントの数 ( 最大発生許容量 ) を制限し、タイマイベントが溜まりすぎて処理できなくなる状況を回避するかどうかの設定です。
設定可能な値は 'no' (しない) あるいは 'yes' (する) で、このオプションを指定しないと 'no' が指定されたものと見なされます。
処理の非常に遅いコンピュータや、非常に重たい処理をタイマで駆動するような場面などでは、タイマによって発生したイベントに対応しきれず、操作などに吉里吉里が応答しづらくなる場合があります。このオプションで 'yes' を指定すると、システムに蓄えられるタイマイベントの最大発生許容量を常に 1 ( Timer クラスの capacity プロパティが 1 の状態 ) に固定します。これによりシステムが処理しきれないようなタイマイベントの発生を抑えることができますが、通常、タイマの精度や正確性は失われます。
- -lowpri (低優先度)
優先度を、トランジション時などに低くするかどうかの設定です。
設定可能な値は 'no' (しない) あるいは 'yes' (する) で、このオプションを指定しないと 'no' が指定されたものと見なされます。
'yes' にすると、トランジションを実行中など、吉里吉里のメインスレッドが連続して CPU を使用する場面になると、メインスレッドの実行優先度を下げるようになります。これにより、トランジション中の音飛びや、トランジション中に他のアプリケーションが操作しづらくなるなどの症状が改善される場合があります。
- -exceptionexe (例外時起動エディタ)
例外発生時に起動するエディタを指定します。
- -exceptionarg (例外時起動エディタオプション)
例外発生時にエディタを起動する時に指定するオプションを指定します。
単純に引数を指定することもできますが、通常は以下の特殊な文字列を埋め込んで使います。
- %filepath%
例外の発生したスクリプトのファイルパスに置き換えられます。 - %line%
例外の発生した行番号に置き換えられます。
入力関連のオプション¶
- -wheel (マウスホイール回転検出方法)
マウスホイールの回転をどのように検出するかの設定です。
設定可能な値は 'no' (使わない) あるいは 'dinput' (DierctInput) あるいは 'message' (ウィンドウメッセージ) で、このオプションを指定しないと 'dinput' が指定されたものと見なされます。
「使わない」を選択するとマウスホイールは使用不可能になります。「DirectInput」を選択するとDirectInputを使用するようになります。「ウィンドウメッセージ」を選択するとDirectInputを使用せずにマウスホイールの回転を検出するようになります。設定を変えると、マウスホイール関連の不具合が改善される可能性があります。
- -joypad (パッド使用可否)
ゲームパッド(ジョイスティック)を使用するかどうかの設定です。
設定可能な値は 'no' (使わない) あるいは 'dinput' (使う) で、このオプションを指定しないと 'dinput' が指定されたものと見なされます。
「使わない」を選択するとパッドは使用不可能になります。パッドを正常に検出できない場合、あるいはパッドを正常に使用できない場合に「使わない」の設定にしてください。
- -paddelay (パッドキーリピートディレイ)
ゲームパッド(ジョイスティック)のキーリピートまでの時間をミリ秒単位で指定します。
設定可能な値は正の数あるいは-1で、-1を指定するとキーリピートを行わなくなります。このオプションを指定しないと 500 が指定されたものと見なされます。
このオプションは動的に変更可能です。
- -padinterval (パッドキーリピート間隔)
パッド(ジョイスティック)のキーリピートの間隔をミリ秒単位で指定します。値が小さいほどリピートが高速になります。
設定可能な値は正の数で、このオプションを指定しないと 30 が指定されたものと見なされます
このオプションは動的に変更可能です。
- -controlime (IME状態制御)
IME(日本語などの変換入力ソフト)の状態制御(有効か無効かなどの制御)を行うかどうかの設定です。
設定可能な値は 'yes' (行う) あるいは 'no' (行わない) で、このオプションを指定しないと 'yes' が指定されたものと見なされます。
「行わない」を選択すると、「IMEを通じて入力を行う日本語などの言語の入力ができない」といった不具合を回避できる可能性があります。
サウンド関連のオプション¶
- -wsdecpri (PCM デコードスレッド優先順位)
PCM のデコードを行うスレッドの優先順位です。
設定可能な値は '0' (アイドル(最低)), '1' (低い), '2' (通常以下), '3' (通常), '4' (通常以上), '5' (高い) のいずれかで、このオプションを指定しないと '1' が指定されたものと見なされます。
優先順位を高くすると PCM ( 無圧縮 wave や OggVorbis 等 ) の再生中の音飛びが軽減される場合がありますが、トランジションがなめらかでなくなったり、操作への応答性が悪くなる可能性があります。
ちなみにここで指定するのは通常時のデコードの優先順位で、緊急時 ( バッファにたまっている残りデータが短くなってきたとき ) は自動的に必要な優先順位を確保します。
- -wsfreq (サウンド出力周波数)
サウンド出力(ミキサ)のサンプリング周波数の設定です。
設定可能な値は 正の自然数で周波数を Hz 単位で表し、このオプションを指定しないと '44100' が指定されたものと見なされます。
とくに WDM 系サウンドドライバを用いる環境 (Windows2000, XP以降 など) では、設定を変更しても再生状態に変化がない場合もあります。
- -wspreinit (オーディオデバイス先行初期化)
設定可能な値は 'yes' (する) または 'no' (しない) で、このオプションを指定しないと 'yes' が指定されたものと見なされます。
'yes' の場合、起動時にオーディオデバイス (miniaudio エンジン) を先行して初期化します。'no' の場合は従来通り、最初のサウンド再生時に初めて初期化します。
従来のように最初のサウンド再生時に初めてデバイスを開くと、デバイスオープンにかかる時間の分だけ再生開始が遅れ、音の先頭が欠けてしまうことがあります。'yes' (既定) にしておくと起動時に初期化を済ませておくため、この頭切れを防げます。
何らかの理由で起動時のデバイスオープンを避けたい場合 (不安定なサウンドドライバなど) は 'no' を指定してください。
グラフィック関連のオプション¶
- -gclim (画像キャッシュ制限)
画像キャッシュに使用するメモリの最大値の設定です。
設定可能な値は 'auto' (自動) または整数の値で、整数の値を指定する場合は画像キャッシュに使用するメモリを MB 単位で指定します。このオプションを指定しないと 'auto' が指定されたものと見なされます。
吉里吉里はいったん読み込んだ画像を素早くアクセスできるように画像をキャッシュする機構を持っています。それに使用するメモリの制限値を指定します。
'auto' を指定すると、コンピュータに実装されている物理メモリの量によって自動的に値が決定されます。
'0' を指定するとキャッシュは行いません。
吉里吉里実行中にスワップが頻繁に発生するようであれば、この値を小さく指定するか、'0' を指定すると改善される可能性があります。
- -fsres (フルスクリーン時の画面解像度)
フルスクリーン時の画面解像度の設定です。
設定可能な値は 'auto' (自動), 'proportional' (縦横比が同じ解像度) , 'nearest' (最も近い解像度) , 'nochange' (解像度を変えない) のいずれかで、このオプションを指定しないと 'auto' が指定されたものと見なされます。
'auto' を選択すると、最も適している画面解像度を自動的に選択して使用します。この場合は、縦横比が同じ解像度のうち、プログラム内で指定されている解像度にフィットする解像度があればそれを選択しますが、そのような解像度がない場合は解像度を変えずにエンジン側で拡大表示をします。この設定の場合は、-fszoom (フルスクリーン時のエンジンによる拡大表示) オプションに 'no' (しない) が指定されていても、常に 'outer' (モニタ内にフィットさせる) であるとみなされます。
'proportional' を選択すると、画面の縦横比が非フルスクリーン時と同じ解像度のうち、プログラム内で指定されている解像度と同じかそれよりも大きく、もっとも近い解像度が選択されます。
'nearest' を選択すると、プログラム内で指定されている解像度と同じかそれよりも大きく、最も近い解像度が選択されますが、非フルスクリーン時と同じ縦横比の解像度が選択される保証はありません。ブラウン管モニタや、画面のアスペクト比を保ったままでの拡大表示に対応している液晶モニタなどでは、この設定が適している場合があります。
'nochange' を選択すると、非フルスクリーン時の解像度のまま、解像度を変更しなくなります。
このオプションは動的に変更することが可能ですが、値が反映されるのは次回フルスクリーンにしようとしたときです。
- -fszoom (フルスクリーン時のエンジンによる拡大表示)
フルスクリーン時に、エンジンによる画面の拡大をどのように行うかどうかを指定します。
設定可能な値は 'inner' (モニタ内にフィットさせる), 'outer' (モニタいっぱいに拡大する), 'no' (しない) のいずれかで、このオプションを指定しないと 'inner' が指定されたものと見なされます。
'inner' を選択すると、必要であれば、エンジンによる拡大を行います。必要な場合とは、画面解像度がプログラム内で指定された解像度と異なる場合です (もし画面解像度がプログラム内で指定された解像度よりも低い場合は縮小処理になります)。この際、プログラム内で指定されている解像度の縦横比を維持した状態での拡大を行いますが、モニタの縦横比とこの縦横比が異なる場合、上下、または左右に隙間ができる可能性があります。この隙間は常に真っ黒な状態で表示されます。
'outer' を指定すると、'inner' を指定したときと同じく、必要であればエンジンによる拡大を行います。しかし、'inner' と違い、モニタの縦横比とプログラム内で指定されている縦横比が異なる場合、上下や左右の隙間ができないようにめいいっぱいまで拡大を行います。このため、隙間はできませんが、モニタ外に画面がはみ出す可能性があります。この設定では、たとえば 16:10 のモニタに 16:9 のコンテンツを表示する際などに、隙間をださずに、めいいっぱいまで拡大させて表示することが可能になります。もちろんこれにより、左右にはみ出す領域が発生しますので、このような表示を想定したコンテンツを制作するのならば、はみ出す部分には重要な UI や文字を表示しない、といった対策が必要になります。
'no' を選択すると、必要であっても、エンジンによる拡大は行いません。この場合は、画面解像度がプログラム内で指定された解像度と異なっていても、エンジン側による拡大は行われません (その結果、画面中央に画像が小さく表示される可能性があります)。
モニタの本来の解像度とグラフィックカードの出力する信号の解像度が異なる場合、液晶モニタなどではモニタ側で拡大表示を行う場合がありますが、モニタ側で拡大処理をした上で、さらにエンジン側でも拡大表示を行うと二重に拡大が行われることになり、画像が汚くなる場合がありますので注意してください (-fsres の「自動」オプションは、このような二重の拡大表示を防ぐ組み合わせを自動的に選択します)。
このオプションは動的に変更することが可能ですが、値が反映されるのは次回フルスクリーンにしようとしたときです。
- -gsplit (画像演算の分割処理)
画像演算を細かく分割して行うかどうかの設定です。
設定可能な値は 'yes' (行う), 'int' (インターレース分割), 'bidi' (双方向分割), 'no' (行わない) のいずれかです。WINVER ビルドでは指定しないと 'yes' が指定されたものと見なされますが、SDL3 ビルドでは指定しないと 'no' が指定されたものと見なされます ( GDI 単一スレッド時代の CPU キャッシュ局所性最適化が SDL3 / OpenGL 環境ではドライバ同期 / dispatch オーバーヘッドの方が支配的になり、特に全面動画再生で大幅に低速化するため )。
吉里吉里は CPU のメモリキャッシュを有効的に使用するために、画像を描画するときに細かい領域に分割しながら演算を行います。環境によってはこれが画面のちらつきにつながるようです。そのような環境では 'no' を指定することによりちらつきを抑えることができる可能性がありますが、描画のパフォーマンスが低下する可能性もあります。ダブルバッファリングを有効にした場合は、分割処理を行わないことの意味が薄いため、分割処理を行う設定にすることをお勧めします。
'int' を指定すると画像の演算の単位を一つおきに処理しますが、画面更新時に縞模様が見える事があります。'bidi' を選択すると画像の演算の順番において、上→下、下→上 を繰り返すようになります ( 'yes' の場合はつねに上→下 )。
- -smoothzoom (拡大表示時のスムージング)
Window.setZoom などで表示内容の拡大表示を行う場合や、-fsres オプションで吉里吉里が画面の拡大(縮小)表示を行う場合に、スムージング(拡大時の補間)を行うかどうかの設定です (Layer.affineCopy 等での拡大縮小とは関係ありません )。
設定可能な値は 'no' (行わない), 'yes' (行う) のいずれかで、このオプションを指定しないと 'yes' が指定されたものと見なされます。
スムージングを行うと、画像がなめらかになりますが、若干ぼけた感じになります。スムージングを行わないと、画像はシャープになりますが、ギザギザが目立つようになります。
環境によっては、スムージングを行わない方がパフォーマンスが低下する可能性があります。また、スムージングが効かない環境がある可能性があります。
サードパーティー製の描画デバイス ( Window.drawDevice プロパティで設定するデバイス ) によってはこのオプションの影響を受けない物もあるかもしれません。
このオプションは動的に変更することが可能ですが、すぐに値が反映される保証はありません。
- -aamethod (アンチエイリアス文字描画方式)
アンチエイリアス文字描画方法の設定です。
設定可能な値は 'auto' (自動), 'res4' (リサンプリング4×4), 'res8' (リサンプリング8×8), 'api' (Windows API) のいずれかで、このオプションを指定しないと 'auto' が指定されたものと見なされます。
'auto' の場合は現バージョンでは 'api' を自動的に選択します。
'res4' または 'res8' では、数倍の大きさ (4×4 または 8×8) で文字を描画し、それを縮小することでアンチエイリアスを実現します。res4 の方が res8 よりも高速ですが、精度は低くなります。
'api' では GetGlyphOutline API を用いてアンチエイリアス文字を描画しますが、いろいろと不都合の多い API のようで環境によっては正常に描画できない可能性があります。
- -jpegdec (JPEG画像デコード精度)
JPEG画像のデコード(展開)の精度の設定です。
設定可能な値は 'high' (高い), 'normal' (標準), 'low' (低い) のいずれかで、このオプションを指定しないと 'normal' が指定されたものと見なされます。
'high' を指定するとデコードは低速になりますが、画質は高くなります。'low' を指定するとデコードは高速になりますが画質は低くなります。しかし、見た目ではほとんど違いはありません。
- -drawthread (描画スレッド数)
描画処理時に、使用するスレッドの数の設定です。
設定可能な値は任意の数値もしくは'auto' (自動)のいずれかで、このオプションを指定しないと '1'が指定されたものと見なされます。
'auto'を指定すると、OSの認識するプロセッサ数と同数のスレッドが自動的に割り当てられます。
描画スレッドを複数設定することで、マルチコア環境での描画パフォーマンスを向上させられる可能性がありますが、逆にパフォーマンスが低下する場合もあります。
描画面積が大きい処理、Affine系の高負荷な処理、演算の重いレイヤ合成処理などに適用することで、良好な結果を得られる可能性があります。
マルチスレッドを使用するように設定しても、描画処理の負荷が軽くマルチスレッド化の効果が得られないとシステムが判断した場合は、マルチスレッドで実行されない場合があります。
- -bitmapallocator (ビットマップメモリ確保方式 Ver 1.1 以降)
ビットマップ用のメモリをどのようにして確保するかを指定します。
設定可能な値は 'globalalloc' (GlobalAllocで確保), 'separateheap' (分割ヒープを使用), 'malloc' (mallocを使用)のいずれかで、このオプションを指定しないと 'globalalloc' が指定されたものと見なされます。
separateheap を使用することでメモリのフラグメンテーションを軽減し、メモリ不足エラーの問題を回避できる可能性があります。
- -bitmapheapsize (初期分割ヒープサイズ Ver 1.1 以降)
ビットマップメモリ確保方式で分割ヒープを使用を選んだ場合の初期サイズを指定します。
設定可能な値は 'auto' (自動(推奨)), '0' (自動的に拡大), '64' (64MB), '128' (128MB), '256' (256MB), '512' (512MB), '1024' (1024MB), '2048' (2048MB)のいずれかで、このオプションを指定しないと 'auto' が指定されたものと見なされます。
通常 auto で問題ありませんが、初期値を調整することでメモリのフラグメンテーションを軽減し、メモリ不足エラーの問題を回避できる可能性があります。
- -drawdevice (起動時の DrawDevice 選択 / SDL3 ビルド限定)
SDL3 ビルドにおいて、起動時に使用する既定の DrawDevice を選択します。
WINVER ビルドでは無視されます。
設定可能な値:
- **'sdl'**: SDL_Renderer 経由の [SDLDrawDevice](../reference/SDLDrawDevice.md) ( backend 自動選択 )
- **'sdlogl'**: OpenGL ES 直接版 ( PBO 経由・Canvas 非対応の純粋版 ) ( `TVP_USE_OPENGL=ON` 時のみ )
- **'ogl'**: OpenGL ES + Canvas / Texture / Shader / Offscreen を含むフル機能版 [OGLDrawDevice](../reference/OGLDrawDevice.md) ( `TVP_USE_OPENGL=ON` 時のみ )
指定しなかった場合、TVP_USE_OPENGL=ON ビルドでは sdlogl、それ以外では sdl が選択されます。未知の値を指定するとフォールバックして既定値が使用されます。
- -renderer (SDL3 backend の明示指定 / SDL3 ビルド限定)
SDLDrawDevice が利用する SDL_Renderer の backend 名を明示します。
( 例: direct3d11, vulkan, opengl, software 等 )。
指定しなかった場合は SDL3 の自動選択に任されます。
SDL3 ビルド + SDLDrawDevice ( = -drawdevice=sdl か既定 ) 使用時のみ意味を持ちます。
- -mediaengine (動画のハードウェアデコード / Windows 限定)
VideoOverlay のオーバーレイ再生 ( vomOverlay ) で、
mp4/H.264/HEVC/wmv/asf などの MF-native 形式を Media Foundation ( IMFMediaEngine ) で
ハードウェアデコードするかどうかを指定します。
設定可能な値は 'yes' (既定, ハードウェアデコードを使う) または 'no' / 'off' / 'false' / '0' (使わない) です。'no' を指定すると全形式が ソフトウェアデコード ( MF SourceReader / pl_mpeg / movie-player ) になります。
webm ( VP8/VP9 ) と mpeg ( MPEG-1 ) は Media Foundation にデコーダが無いため、この
設定に関わらず常にソフトウェアデコードです。また vomMixer モード ( 追加画像合成 ) は
常にソフトウェア合成経路になります ( VideoOverlay の
mode プロパティ参照 )。
CPU 機能関連のオプション¶
以下のオプションはすべて設定可能な値は 'yes' (使用可能であれば使用する), 'no' (使用可能であっても使用しない), 'force' (強制的に使用する) のいずれかで、オプションを指定しないと 'yes' が指定されたものと見なされます。
CPU の認識トラブルが起こった場合に 'no' に設定するとその機能を用いません。
'force' は、その CPU 機能を検出しなくても強制的に使用するようになりますが、CPU にその機能がついていない場合はもちろん正常に動作しません。
吉里吉里本体には -cpummx -cpucmov -cpusse -cpuemmx のオプションのみが影響を与えます。OggVorbis デコーダ (wuvorbis.dll) には -cpusse と -cpummx と -cpu3dn のオプションが影響を与えます。そのほかの(サードパーティーの)プラグインの中にも CPU 機能の設定の影響を受けるものがあるかも知れません。
- -cpummx (MMX)
- -cpu3dn (3DNow!)
- -cpusse (SSE)
- -cpucmov (CMOVcc)
- -cpue3dn (Enhanced 3DNow!)
- -cpuemmx (EMMX (MMX2))
- -cpusse2 (SSE2)
- -cpusse3 (SSE3)
- -cpussse3 (SSSE3)
- -cpusse41 (SSE4.1)
- -cpusse42 (SSE4.2)
- -cpusse4a (SSE4a)
- -cpuavx (AVX)
- -cpuavx2 (AVX2)
- -cpufma3 (FMA3)
- -cpuaes (AES)
デバッグ関連のオプション¶
- -debug (デバッグモード)
吉里吉里をデバッグモード ( → Debug ) で動作させるかどうかの設定です。
設定可能な値は 'no' (無効), 'yes' (有効)のいずれかで、このオプションを指定しないと 'no' が指定されたものと見なされます。
有効にすると、吉里吉里はデバッグモードで動作し、いくつかのデバッグ支援機能が有効になりますが、通常のモードよりも実行速度は低下します。
- -forcelog (ファイルへのログ)
コンソールのログをファイルに出力するかどうかの設定です。
設定可能な値は 'no' (出力しない), 'yes' (既存のファイルに追加して出力する), 'clear' (既存のファイルをクリアしてから出力する) のいずれかで、このオプションを指定しないと 'no' が指定されたものと見なされます。
- -logerror (エラー時のファイルへのログ)
エラー時にコンソールのログをファイルに出力するかどうかの設定です。
設定可能な値は 'no' (出力しない), 'yes' (既存のファイルに追加して出力する), 'clear' (既存のファイルをクリアしてから出力する) のいずれかで、このオプションを指定しないと 'yes' が指定されたものと見なされます。
- -loglevel (ログ出力レベル)
起動時のログ出力レベルをオーバライドします。
設定可能な値は 'debug', 'info', 'warning', 'error', 'off' のいずれかです ( 大文字小文字を区別しません )。指定したレベル以上のログのみが出力されます。
指定しない場合のデフォルトは、MASTER ビルドで warning、それ以外の Release ビルドで info、Debug ビルドで debug です。配布バイナリで一時的に詳細ログを採取したい場合に使用します。
- -repl (対話型 TJS シェルの有効化 / KRKRZ_REPL ビルド向け)
起動時に対話型の TJS REPL ( Read-Eval-Print Loop ) を有効化します。
設定可能な値は 'yes', '1', 'on', 'true' ( 有効 ) または値なし ( 有効 )、'no', '0', 'off', 'false' ( 無効 ) です。指定しないと無効です。
REPL の操作方法や .help 等の特殊コマンドの詳細は REPL ガイド を参照してください。KRKRZ_REPL=OFF でビルドされた exe では無視されます。
- -replfile (REPL ファイルチャネルの有効化 / KRKRZ_REPL ビルド向け)
外部エージェント / 自動テスト向けに、コンソール経由ではなくファイル経由で REPL コマンドを受け付けるチャネルを有効化します。指定したディレクトリ内の入出力ファイルを介して TJS 式を実行できます。
設定可能な値は通信用ディレクトリパスを文字列で指定します。'no', '0', 'off', 'false', 空文字 を指定すると無効になります ( 既定 )。
-repl ( コンソール版 ) と独立して起動でき、両方同時に利用することもできます。詳細は REPL ガイド を参照してください。
- -replsocket (REPL ソケットチャネルの有効化 / KRKRZ_REPL ビルド + Linux 系限定)
abstract namespace の Unix ドメインソケット経由で REPL コマンドを受け付けるチャネルを有効化します。1 行 = 1 コマンド ( TJS 式 ) を受け取り、1 行 JSON で応答します。
設定可能な値はソケット名を文字列で指定します。環境変数 KRKRZ_REPL_SOCKET でも指定できます。
-repl / -replfile と独立して起動でき、同時に利用することもできます。Linux 系以外のビルドでは無視されます。詳細は REPL ガイド を参照してください。
- -memoverlay (メモリ状態オーバレイ表示 / SDL3 ビルド限定)
起動時から画面右上にエンジンのメモリ状態 ( File / Bitmap / Sound / Krkrz / SDL 各アロケータの使用量とプロセス RSS / VSize 等 ) をリアルタイム表示するオーバレイを有効にします。
設定可能な値は '1' (有効), '0' (無効) のいずれかで、このオプションを指定しないと '0' が指定されたものと見なされます。
実行中の動的切替は System.setMemoryOverlay または REPL の .memoverlay で行えます。WINVER ビルドでは無視されます。
- -padoverlay (ゲームパッド状態オーバレイ表示 / SDL3 ビルド限定)
起動時から画面左上にゲームパッドの 16 ボタンマトリクスと 6 軸アナログ値をリアルタイム表示するオーバレイを有効にします。
設定可能な値は '1' (有効), '0' (無効) のいずれかで、このオプションを指定しないと '0' が指定されたものと見なされます。
実行中の動的切替は System.setPadOverlay または REPL の .padoverlay で行えます。WINVER ビルドでは無視されます。
- -drawstatslog (DrawStats の周期ログ出力 / SDL3 ビルド限定)
KRKRZ_DRAW_STATS=ON ビルドかつ MemoryOverlay 表示中、500ms ごとに DrawThreadPool 利用統計をログに出力します ( 実機などで画面表示が速く流れて読めない場合に利用 )。
設定可能な値は '1' (有効), '0' (無効) のいずれかで、このオプションを指定しないと '0' が指定されたものと見なされます。実行中の動的切替は System.setDrawStatsLog からも行えます。
KRKRZ_DRAW_STATS=OFF ビルドではフラグが立つだけで何も起きません。
- -memstatinterval (メモリ統計の周期ダンプ)
正の整数を指定すると、その秒数ごとに System.dumpHeap 相当のメモリ統計をログに出力します。
既定値は 0 ( 無効 )。短い周期 ( 1〜数秒 ) の指定はログ量と性能への影響が大きいので、調査時のみ使用します。KRKRZ_ENABLE_PERIODIC_DUMP=OFF でビルドした場合は無視されます。
- -memstatonexit (終了時のメモリ統計ダンプ)
設定可能な値は '1' (有効), '0' (無効) のいずれかで、有効指定時はエンジン終了時にメモリ統計を 1 回ダンプします。既定値は '0'。
KRKRZ_ENABLE_PERIODIC_DUMP=OFF でビルドした場合は無視されます。
- -cachelistonexit (終了時のキャッシュ一覧ダンプ)
エンジン終了時に Storages の file 層 / decode 層キャッシュエントリ一覧をログにダンプします。終了直前に何が cache に残っていたかを調査する用途に使います。
設定可能な値は次のいずれか:
- **'1' / 'all'**: file 層 + decode 層の両方
- **'file'**: file 層のみ
- **'image'**: decode 層のみ
- **'0' / 'none'**: 無効 ( 既定 )
実行中に一覧を見たい場合は Storages.dumpFileCacheList / Storages.dumpImageCacheList を利用してください。
- -textencodingwarn (テキストエンコーディング自動フォールバックの警告表示)
BOM のないテキストファイルを既定のエンコーディング ( 通常 UTF-8、KRKRZ_USE_SJIS ビルドでは Shift_JIS ) として解釈できなかった場合、エンジンはもう一方のエンコーディングでの再解釈を試みます ( 自動フォールバック )。このオプションは、そのフォールバックが発生したときに対象ファイル名を warning ログに出力するかどうかの設定です。
設定可能な値は '1' (出力する), '0' (出力しない) のいずれかで、このオプションを指定しないと '0' が指定されたものと見なされます。
エンコーディングが混在したプロジェクトではログが埋まるため既定では出力しません。文字化けの原因調査時に有効にしてください。
システム互換性関連のオプション¶
- -arcdelim (アーカイブデリミタ)
アーカイブデリミタ (アーカイブストレージ名と、アーカイブ内ストレージ名の間を区切る文字) を指定します。
設定可能な値は '>' ('>'を使う), '#' ('#'を使う) のいずれかで、このオプションを指定しないと '>' が指定されたものと見なされます。
アーカイブデリミタは、吉里吉里2 2.19 beta 14 で、従来の '#' から '>' に変更されました。
2.19 beta 14 未満で動作していたアプリケーションはこの変更のため動作しなくなる可能性がありますが、このオプションでデリミタを '#' に変更することで動作させることができます。
- -evalcontext (後置'!'演算子の動作)
TJS2の後置'!'演算子の動作を指定します。
設定可能な値は 'this' (this上で式を評価), 'global' (global上で式を評価) のいずれかで、このオプションを指定しないと 'this' が指定されたものと見なされます。
TJS2の後置'!'演算子は式をglobalコンテキスト上で実行していましたが、2.21 beta 9 より、this コンテキスト上で実行するようになりました。
2.21 beta 9 未満を想定しているアプリケーションでは、この設定を「global上で式を評価」にしないと動作しない可能性があります。
- -holdalpha (Layer.holdAlpha プロパティのデフォルトの値)
Layer.holdAlpha プロパティのデフォルト値を指定します。
設定可能な値は 'false' (偽), 'true' (真) のいずれかで、このオプションを指定しないと 'false' が指定されたものと見なされます。
吉里吉里2 2.23 beta 4 で、各種演算関数に指定していた hda (アルファチャンネルを保護するか) オプションがなくなり、代わりに Layer.holdAlpha プロパティが作られました。この時点では Layer.holdAlpha のデフォルト値は真でした。Layer.holdAlpha が真の場合は過去のアプリケーションの動作に影響を与えません。
吉里吉里2 2.23 beta 5 で、このデフォルト値が偽になりました。吉里吉里2 2.23 beta 5 未満を想定しているアプリケーションを動作させたい場合は、このオプションに「真」を指定しないと正常に動作しない可能性があります。
- -unaryaster (前置'*'演算子の動作)
TJS2の前置'*'演算子の動作を指定します。
設定可能な値は 'default' (2.25以降の動作), 'compat' (2.25未満の動作) のいずれかで、このオプションを指定しないと 'default' が指定されたものと見なされます。
TJS2の前置''演算子は、プロパティオブジェクトそのものを、プロパティハンドラを介さずに取り出す演算子でしたが、2.25 beta 1 より、この機能を持つ演算子は前置の'&'となり、前置''演算子はプロパティオブジェクトのプロパティハンドラを動作させるための演算子となりました。2.25 beta 1 未満を想定しているアプリケーションでは、この設定を「2.25未満と互換」にしないと正常に動作しない可能性があります。
- -wsvolfactor (ボリュームカーブ)
設定可能な値は '3322' (2.31 2011/6/14以降の動作), '5000' (2.31 2011/6/14未満の動作) のいずれかで、このオプションを指定しないと '3322' が指定されたものと見なされます。
音量のボリュームカーブは、2.31 2011/6/14 より、より直感的なカーブになりました。
- -readencoding (スクリプト読込み文字コード)
設定可能な値は 'Shift_JIS' (吉里吉里2互換の動作), 'UTF-8' (吉里吉里Zの動作) のいずれかで、このオプションを指定しないと 'UTF-8' が指定されたものと見なされます。
スクリプトを読み込むのに使用する文字コードです。
- -ignoretouch (タッチイベントの無効化 1.3.0以降)
設定可能な値は 'false' (偽), 'true' (真) のいずれかで、このオプションを指定しないと 'false' が指定されたものと見なされます。
'true'を指定するとタッチイベントを無効化して、代わりにマウスイベントを発生させます。