コンテンツにスキップ

プラグインについて

プラグインとは

吉里吉里に接続して、吉里吉里の機能を拡張するために使われます。

現段階で、吉里吉里で使用可能なプラグインの種類には3つあり、

  • Susie Plug-in (画像読み込みとアーカイブアクセス)
  • WaveSoundBufferで再生可能な形式を拡張するためのプラグイン
  • そのほかの吉里吉里専用のプラグイン

となっています。

プラグインを使用する場合は Plugins.link メソッドを使用して吉里吉里本体に接続する必要があります。

プラグインの検索

Plugins.link メソッドでは、指定されたプラグインを以下の順序で探します。

  1. 吉里吉里本体と同じフォルダ
  2. 吉里吉里本体以下と同じフォルダにある plugin (Windows の 64bit 版では plugin64) フォルダ内
  3. 自動検索パス

プラグインフォルダの名前 (プラットフォーム別)

実行環境 プラグインフォルダ
Windows 64bit 版 (WINVER / SDL) plugin64/
Windows 32bit 版 plugin/
Linux / その他のデスクトップ (64bit を含む) plugin/
macOS 実行ファイルと同じフォルダ (アプリバンドルの Contents/MacOS)
Android なし (プラグインは静的リンク)

重要 (2026-10 の変更)

plugin64/ を使うのは Windows の 64bit 版だけです。Linux などでは 64bit 版でも plugin/ を探します。これは CMake のインストール先 (plugin/) と同じ規則で、Linux の動作は以前から変わっていません。

  • Linux などで実行ファイルの横に plugin64/ があると、起動時に「探索しない」旨の警告をログに出します。中身は plugin/ へ移してください。
  • 実際に探すフォルダは、起動ログの pluginPath: の行で確認できます (SDL 版)。
  • gcc / clang (MinGW 等) でビルドした Windows 64bit の SDL 版だけは、探索先が plugin/ から plugin64/ に変わりました (MSVC 版はもともと plugin64/)。

自動検索パスが、アーカイブ内などローカルファイルとしてアクセスできない場所にあると、吉里吉里はプラグインを吉里吉里本体と同じフォルダに展開しようとします。これが問題を起こすことがあるため、プラグインは「吉里吉里本体と同じフォルダ」か「吉里吉里本体以下と同じフォルダにある plugin フォルダ内」に置くことを強く推奨します。

Windows で 32bit版/64bit版のプラグインを読み分けるためにも plugin/plugin64 フォルダ内に置くことは重要です。

また、吉里吉里の設定ツール ( Releaser や -userconf オプション ) は、プラグインごとの埋め込みオプションの情報を収集するためにプラグインを探しますが、以下の順序で探します。

  1. 吉里吉里本体と同じフォルダ
  2. 吉里吉里本体以下と同じフォルダにある plugin フォルダ内

SDL 版の -userconf は、プラグインに隣接する <プラグイン名>.options.json を「吉里吉里本体と同じフォルダ」と「プラグインフォルダ」から読みます。

吉里吉里の設定ツールは自動検索パスまでは検索しないため、設定項目を含むプラグインは「吉里吉里本体と同じフォルダ」か「吉里吉里本体以下と同じフォルダにある plugin フォルダ内」に置かなければなりません。

プラグインの自動読み込み

吉里吉里はプラグインを自動的に検索して起動時に読み込む機能があります。自動的にプラグインを読み込ませたい場合は、プラグインの拡張子を dll から tpm に変更する必要があります。

吉里吉里は起動時 (startup.tjsを実行する直前) に、以下のフォルダから拡張子 tpm のファイルを探し、プラグインとして自動的に読み込みます。

  • 吉里吉里本体と同じフォルダ
  • 吉里吉里本体以下と同じフォルダにある plugin (Windows の 64bit 版では plugin64) フォルダ内

吉里吉里は探したプラグインを名前で昇順に並び替え、その順序でプラグインを読み込みます。たとえば、aaa.tpm は aab.tpm よりも先に読み込まれます。これはプラグインのおいてあるフォルダには影響せず、プラグインの名前にのみ影響されます (吉里吉里本体と同じフォルダに z.tpm があっても、plugin フォルダ内に a.tpm があれば a.tpm が先に読み込まれます )。プラグインの読み込み順序を規定したい場合は、プラグインのファイル名を変える必要があります。

プラグインの作成について

吉里吉里のソース中に、吉里吉里付属のプラグインのソースがありますので参考にしてみてください。

現段階では、「その他の吉里吉里専用のプラグイン」の仕様は固まっていません。将来仕様が変更されても、ソースレベルでの互換性は保たれるとおもうので、バイナリレベルでの互換性が失われた場合でも、吉里吉里本体に合わせて再構築すれば使えるようになるとは思います。

Susie Plug-in について

Takechin 氏作の画像ビューア「Susie32」用のプラグインを利用することができます。

00IN 形式 (画像用プラグイン) と 00AM 形式 (アーカイブ用プラグイン) を使うことができますが、以下の制限、あるいは吉里吉里独自の仕様があります。

  • 吉里吉里は拡張子で画像の形式を判断するため、本来の拡張子 ( GetPluginInfo 関数が返すもの ) と違う拡張子がついたような画像に対応できない ( アーカイブは対応形式をすべてチェックするので拡張子が異なっていても OK )
  • 32bpp のビットマップはアルファチャンネル付きのビットマップとして見なされる
  • 一部、受け付けられないビットマップ形式がある (RLE 圧縮された物や BITFIELDS が指定されているものなど )
  • Susie プラグイン経由での画像読み込みやアーカイブアクセスは、吉里吉里がネイティブに扱う画像形式や xp3 アーカイブに比べてパフォーマンスがかなり低くなる
  • アーカイブ中のファイルはメモリ上に展開されるため、大きなファイルを扱うには不向き
  • アーカイブ内アーカイブには未対応
  • Mac binary には未対応

また、Susie plug-in の規格に完全に対応していないプラグインの中には、吉里吉里と相性の悪いプラグインも存在します。

吉里吉里付属のプラグインについて

吉里吉里Z に標準で同梱されているプラグインの一覧です。各プラグインのソースコードは wamsoft 配下の各リポジトリで管理されています。

クラスを追加するものはリファレンスの各クラスのページを、既存クラスを拡張するものは拡張先クラスのページの「プラグイン拡張」節を参照してください。

全プラットフォーム共通

プラグイン 説明
AlphaMovie アルファチャンネル付き動画 ( .amv ) を再生する AlphaMovie クラスを追加します。
clipfile CLIP STUDIO PAINT ファイル ( .clip ) の読み込み・編集・保存を行う CLIP / CLIPWriter クラスを追加します。clip:// でレイヤ画像を直接ロードすることもできます。
csvParser CSV ファイルを解析する CSVParser クラスを追加します。
expat XML を解析する XMLParser クラスを追加します。
extrans wave / mosaic / turn / rotatezoom / rotatevanish / rotateswap / ripple の追加トランジション 7 種を登録します。詳細は トランジション を参照してください。
extNagano 3duniversal / blurfade / scanline / zoomfade / rgbfade / spin / flutter / book / imagewipe / honeyturn / morphing / multiripple の追加トランジション 12 種を登録します。詳細は トランジション を参照してください。
getSample 再生中サウンドのサンプル値を取得するメソッドを WaveSoundBuffer に追加します。
json JSON の読み書き ( evalJSON / saveJSON 等 ) を Scripts に追加します。
KAGParserEx KAG シナリオを解析する KAGParser クラスを追加します ( 本体組み込み版を拡張版で置き換えます )。
krkr_richtext 多言語・装飾対応のリッチテキスト描画を行う RichText クラス群と Layer 拡張を追加します。
layerExAreaAverage 面積平均法による高品質な縮小コピーを Layer に追加します。
layerExBTOA 青成分をアルファ値へ変換するメソッドを Layer に追加します。
layerExImage 明度/コントラスト/色相/彩度の調整やノイズ追加などの画像処理を Layer に追加します。
layerExLongExposure 長時間露光 ( フレーム累積合成 ) 風の効果を Layer に追加します。
layerExRaster ラスタスクロール効果を Layer に追加します。
layerExSave レイヤ画像の非同期セーブ ( PNG / TLG5 ) を Layer / Window に追加します。
layerExVector thorvg による SVG などのベクター描画を Layer に追加します ( GdiPlus 互換 API )。
lineParser 行単位のテキスト解析を行う LineParser クラスを追加します。
minizip ZIP アーカイブの読み込み ( zip:// 自動検索パス ) と作成を行う Zip / Unzip クラスを追加します。
psdfile Photoshop PSD ファイルの読み込み・編集・保存を行う PSD クラスを追加します。psd:// でレイヤ画像を直接ロードすることもできます。レイヤの状態からの合成 (調整レイヤ・レイヤー効果込み) やレイヤ単体の描画、シェイプ / パスのラスタライズも行えます。
saveStruct Array / Dictionary の saveStruct を拡張し、UTF-8 など出力エンコーディングを指定可能にします ( Scripts 参照 )。
scriptsEx スクリプト実行系のユーティリティを Scripts に追加します。
shrinkCopy 高速な縮小コピーを Layer に追加します。
sigcheck ファイル署名のバックグラウンド検証を Window に追加します。

OpenGL ES 描画系

GLES ( ANGLE/glad ) で描画するプラグイン群です。描画先の GL コンテキストは吉里吉里本体の OGLDrawDevice か、Windows では krkrgles の GLESAdaptor が供給します。

プラグイン 説明
krkreffekseer Effekseer のエフェクト ( .efk / .efkefc / .efkzip ) をホスト供給の GL コンテキストへ描画する EffekseerDevice / EffekseerEffect / EffekseerPlayer クラスを追加します。
krkrlive2d Live2D Cubism モデルを再生・描画する Live2DDevice / Live2DModel / Live2DPlayer / Live2DMatrix クラスを追加します。Live2D Cubism Core が必要なため、環境変数 CUBISM_SDK_CORE ( Cubism SDK の Core フォルダ ) が設定されているときのみビルドされます。
krkrgles OpenGL ES ( ANGLE/EGL 経由 ) で描画した結果を Layer へ吸い上げる GLESAdaptor / GLESTexture クラスを追加します。GPU 上で完結するポストエフェクト機構を持ちます。EGL/ANGLE コンテキストを Window.HWND から生成するため Windows 専用です ( macOS / Linux では GL コンテキストは本体 OGLDrawDevice を利用してください )。

Windows ( WINVER ビルド ) 専用

Win32 API に依存しているため、現時点では WINVER ビルドでのみ利用できます。

プラグイン 説明
addFont プライベートフォント ( .ttf / .otf ) の動的追加を行います ( 本体の System.addFont でも同じことができます )。
binaryStream ファイルをバイナリレベルで読み書きする BinaryStream クラスを追加します。
fpslimit メインループの実行頻度に制限をかけます ( 現在は本体の -contfreq オプションで代替できます )。
fstat ファイルサイズや更新日時の取得などを Storages に追加します。基本的なファイル操作 ( fstat / getTime / copyFile / dirlist 等 ) は本体にもあり、どのビルドでも使えます。本プラグインを読み込むと fstat / getTime / currentPath / dirlistEx は作成・アクセス日時や属性まで返す版に置き換わり、属性の設定などの Win32 固有の操作が加わります。
gamepad ゲームパッドを直接扱う Pad クラスを追加します。
httprequest HTTP 通信を行う HttpRequest クラスを追加します。
layerExDraw GDI+ による図形/テキスト描画を行う GdiPlus クラス群を追加します。
memfile メモリ上の仮想ファイル ( mem:// ) を Storages に追加します。
menu ウィンドウメニューを構築する MenuItem クラスを追加します。
messenger 外部プロセスとの WM_COPYDATA ベースのメッセージ交換を Window に追加します。
msgreceiver 外部制御の口 ( WM_COPYDATA 受信 ) を追加します ( 非推奨。messenger を利用してください )。
process 外部プロセスの起動と監視を行う Process クラスを追加します。
shellExecute 関連付けアプリケーションによるファイル / URL のオープンを System に追加します。
stdio 標準入出力へのアクセスを System に追加します。
systemEx OS 情報の取得などのユーティリティを System に追加します。環境変数と URL エンコード ( readEnvValue / urlencode 等 ) は本体にもあり、本体版が使われます。本プラグインに残るのはレジストリ / OS バージョン / 既知フォルダ / DLL 検索パスなどの Win32 固有の機能です。
tftSave レンダリング済みフォントデータの保存機能を System / Layer に追加します。
varfile TJS の変数空間 ( 辞書中の octet ) をファイルとして参照する var:// アクセスを追加します。
win32dialog Win32 ネイティブダイアログを構築する WIN32Dialog クラスを追加します。
win32ole OLE オートメーション / ActiveX を扱う WIN32OLE / ActiveX / JScriptHost クラスを追加します。
windowEx ウィンドウ操作の各種拡張を Window / System / Console などに追加します。最大化 / 矩形 / 拡張イベント / モニタ情報は本体にもあり、どのビルドでも使えます ( 本プラグインを読み込むとプラグイン版で上書きされます )。廃止予定です。
windowExProgress 実行ブロック中でも表示され続けるプログレスバー付きウィンドウ表示を Window に追加します。