利用者:Chirimen/Mod/リソース

提供: MTM-Gaming
移動先:案内検索

概要

WoT のリソースは画像やサウンドデータ、スクリプトなど、 WoT の動作に必要な様々なデータを指します。


リソースの場所

基準となる場所

リソースは WoT クライアントのインストールフォルダの下、 例えばインストールフォルダが C:\Games\World_of_Tanks であれば C:\Games\World_of_Tanks\res などに置かれます。

基準となるフォルダは WoT クライアントのインストールフォルダです。 それにリソースの場所を示す ./res が続きます。 . はカレントフォルダを表し、この場合は WoT クライアントのインストールフォルダです。 / は Windows のフォルダ区切り文字と同様の意味を持ちます。 今後は Windows のフォルダ区切りも / で表記することにします。

フォント設定ファイルのリソース gui/flash/fontconfig.xml を例にとって説明します。 C:/Games/World_of_Tanks の ./res にあるリソース gui/flash/fontconfig.xml は、 結局のところ C:/Games/World_of_Tanks/res/gui/flash/fontconfig.xml というファイルになります。

複数の場所からの検索

リソースは単一の場所ではなく複数の場所から検索されます。

先の例で gui/flash/fontconfig.xml は ./res 以下だけでなく、./res_mods/0.9.16 以下からも検索されます。 ここで 0.9.16 は WoT クライアントのバージョンです。

検索は ./res_mods/0.9.16 が先に行われ、先に見つかったリソースが使用されます。

つまり、C:/Games/World_of_Tanks/res_mods/0.9.16/gui/flash/fontconfig.xml というファイルが存在すれば、 そちらが使用され、 C:/Games/World_of_Tanks/res/gui/flash/fontconfig.xml は無視されます。

リソースの検索順序は paths.xml で指定されています。

パッケージ化されたリソース

リソースはフォルダの中ではなく、パッケージ化されたファイルの中にあることもあります。

例えば WoT クライアント設定ファイルのリソースは gui/gui_settings.xml ですが、 ./res 以下に gui/gui_settings.xml というファイルはありません。

このリソースは ./res/packages/shared_content.pkg というパッケージ化されたファイルの中に含まれています。 shared_content.pkg は ZIP でパッケージ化されており、内部にフォルダ階層を持っています。

paths.xml 内のリソース検索パスには ./res/packages/shared_content.pkg が指定されているので、 このファイル内にパッケージされた gui/gui_settings.xml がリソースとして取得されます。


リソース関連API

リソースの操作は ResMgr モジュールを使用します。 例えばリソースの読み込みは openSection で、 ディレクトリ階層や XML データ構造を取り扱うことができます。 また、リソース ID やその一部を絶対パスに変換することもできます。 この絶対パスは検索パス中で最初に見つかったパスとなります。