風薙鳥 ゲーム制作日誌

リソースをひとまとめにして、SFMLから読み込めるように

ゲームライブラリSFMLで、落ち物パズルを制作中です。
今はDXライブラリ時代のソースコードを元に、SFMLで再構築中です。

画像や効果音などの、リソースのファイルをアーカイブ(ひとまとめに)して、ゲーム起動時に読み込めるようにしました。
DXライブラリには、同様の補助ツールや機能があるのですが、SFMLにはないようなので、自作しました。
ローグライクやモンスター育成RPGを作っている時も必要と感じていて、後回しにしていましたが、なぜか急に作る気が湧きました。

このアーカイブは、大きく2段階で構成されています。

1つ目は、コマンドラインツール。
指定したファイルをアーカイブして、ひとつのファイルにします。
アーカイブファイル内には、含まれているファイルの数、それぞれの名前、ファイルサイズも含んでいます。

2つ目は、アーカイブ内のファイルをC++の機能で読み込み、SFMLに渡す処理。
アーカイブに含んでおいた、上記の情報を元に、取りだしたいファイルの範囲を特定します。
それを、SFMLのloadFromMemoryに渡して完了です。