ゲームラボ誌の記事の間違いについて
(たけちん)
1997/10/16 17:38
ゲームラボ10月号にSusieプラグイン制作講座という記事がありましたが、記事中のアーカイブ用プラグインのAPIに関する解説に間違いがありましたのでここで補足しておこうと思います。
これはもともとドキュメントにちゃんと書いておかなかったのがいけないのですが…
記事中でGetFileに取得するファイルを指定する方法がないと書いてありますが、実はあるんです。
GetFileを呼ぶ前にアーカイブ内のファイルの情報をGetArchiveInfoまたはGetFileInfoで取得します。
取得したfileInfo構造体にはpositionというファイル上の位置と説明されたメンバーがありますが、GetFileを呼ぶ時にはこの値を使ってファイルを指定します。
読み込み元がファイルならこの値をオフセットとして、メモリーからならポインタにあらかじめ加算しておきます。
どうしてこういう構成になっているかというと、ファイル名で指定するといちいちアーカイブの中を検索しないといけないのです。
LHAのアーカイブなどはアーカイブ内のファイルに関する情報がアーカイブ内に分散しているのでいちいち検索するのは非効率的です。
それらのデータをスタティックにプラグイン側が持つのは論外ですし…。それらの情報をハンドルとしてプラグインと本体の間でやり取りする方法もあったのですが、画像を読み込むプラグインのAPIに近い形を選びました。
ということで、GetArchiveInfoしたあとでGetFileInfoをしないでGetFileというシーケンスもありえますし、Susieもマルチスレッドで動作してますのでファイル名をスタティックに持つなんてことはしないようにしてください(^_^;)
APIにはいろいろあらがありますけど(今ならHeapAlloc使うところですが…)いまとなってはいかんともし難いです(^_^;)あぁ、はずかしい(^_^;)
--「ゲームラボ誌の記事の間違いについて」に対するコメント--
タイトル(Subject):
お名前(Your name):
Mail address:
Password:
:入力しておくとあとで削除できます
Your message:
7thBridge P ver0.26 (c)Takechin