QDArc

QuadupleD Archiver

QDArcとは

 Quadruple Dの各オブジェクトが持っているメソッドでは、EXEファイルに入ったリソースからデータを読み出したりする方法が提供されていないため、例えばゲームを作る場合などは、どうしてもEXEファイル以外にBMPファイルの山やWAVEファイルの山を一緒に配布する必要がありますね。

 ネットワークなどで配布するときは、LHAなどのユーティリティを使って、アーカイブにする事で、コンパクトに受け渡しが出来るのですが、実際にゲームで遊ぶ段になって、アーカイブを解凍した途端、圧縮されていない数メガ、数十メガというビットマップがディレクトリに吐き出されたりするのです。

 これはちょっとよろしくない。おまけに、画像データが全部BMP形式では、簡単に中身が覗かれてしまうので、アドベンチャーゲームなどでは興味を削ぐことにもなりかねませんよね。

 そこで、Ver1.50から、こうした嫌な点を軽減するべく、以下の機能を追加しました。

 

QDAファイルの作成

 まず、複数のデータを入れたファイルを一つのQDAファイルにまとめる方法からご説明します。

 Quadruple Dを解凍したディレクトリの、Toolディレクトリに、Archive.exe というプログラムがありますので、それを起動してください。

 次に、ファイルメニューで格納するファイルの指定を選ぶか、エクスプローラから、まとめたいファイルを、ウィンドウにドロップしてください。フォルダをドロップすると、そのフォルダ以下の全てのファイルを再帰的に追加します。

 このように、アプリケーションから扱いたいデータの入ったファイルを指定します。

 ここで、ウィンドウの上の方、メニューの下の灰色の行をご覧区ください。ID と、所在と書いてあるところです。

 IDというのは、QDAファイルからどのデータを取り出すかを指定する際のタグとなる値で、デフォルトでは元となるファイルのパス名を切り落としてファイル名だけを取り出した物となっていますが、255バイト以内で自由に編集できます。

 所在とは、元データがディスク上のどのパス上にあるかという情報です…ってそのままですね。

 次に、アーカイブメニューのアーカイブの作成または圧縮アーカイブの作成を選んでください。セーブダイアログが出て、Quadruple D アーカイブファイルが作成されます。これだけでOK。

 ここで、アーカイブの作成とは直接は関係ありませんが、ちょっと役立つ情報を一つ。

 ファイルメニューのファイルリストの保存で、どのファイルをまとめるか、という指定状況を保存しておけます。ファイルリストの読みこみを行って、ファイルリストを指定することで、以前に作成したQDAファイルと同じ構成のQDAファイルを作成する事が簡単にできます。

 

QDAファイル内のデータを使用する方法

 折角QDAファイルとして必要なデータをまとめても、Quadruple Dのオブジェクトから手軽に扱えない…なんて事はもちろんありません。QuadrupleDで提供されるほとんどのユニットでは、ファイルの読み込みに際し、QDAファイルからの読み込みを行うことが出来るようになっています。

 例えば、アーカイブファイルの作成例で出てきたアーカイブファイルを、demo.qdaというファイル名でセーブしたとすると、その中のlit.bmpをTDGTextureオブジェクトに読みこむには、

Texture.LoadFromFile('lit.bmp', 'demo.qda');

とします。

 

アーカイブ作成・展開ユニットについて

 アーカイブの操作を行うためのユニットが、QDArc.pasです。

 Quadruple D コンポーネント以外からQDArcの機能を用いることができるよう、このユニットについてのリファレンスもご用意しました。

 こちらです