GUST NOTCH? DIARY

FLLIB

プチコン大喜利」応募作品その2です。

これは何かというと、

ファイル一覧を GRP リソースに保存して利用するためのライブラリ、および、ファイル一覧保存フォーマットの提案。

です。動画は……あまり意味ないので作りません。QRコードもちょっと保留。とりあえず、概要と解説のみを。

  • 背景

プログラム中から特定のリソースファイルの有無を確認したい場合や、ランチャーなどを作ろうとした場合、ファイルの情報が必要となりますが、プチコンにはプログラム中からファイル情報を取得する命令が準備されていません。
これまでだと、DATA 文などに直接記述する手法がとられていましたが、ファイル数が多くなると記述が困難となってきます。
データファイルと入出力をもう少し汎用化できないか?と思い、ファイルの情報を保存するための仕様と入出力のためのライブラリを作成してみました。
本当はプチコン自体にファイル情報を取得する命令が追加されて、こういうものが必要なければいいのに、ということで「あったらいいなと思ったり思わなかったり」部門です。
実は、作成開始後に TFC の存在を知ったのですが、私のはあくまでもライブラリがメインで、ファイル管理機能などはありません。応募時のファイルセットは

  1. PRG:FLLIB - ファイルリスト管理ライブラリ
  2. PRG:FLLIBMIN - FLLIB の最小化版(ライブラリ部分を104行に圧縮)
  3. PRG:FLTOOL - ファイルリスト管理ユーティリティ
  4. PRG:FLFCP - FLLIB を利用したファイル交換プログラム
  5. GRP:PRESENTS - プレゼント素材の情報が入ったファイルリスト情報サンプル

の5つのファイルでした。このうち FLTOOL はファイルリストの作成と管理をメインとしたプログラムで、「ファイル管理」機能はありません。あくまでも「ファイルリスト管理」プログラムです。FILES の結果を利用します。FLFCP は、FILECOPY の、DATA 文を利用するかわりに GRP ファイルリストを用いる、FLLIB を使用したサンプルプログラムです。ちなみに、大喜利のページに載ってるスクリーンショットは FLTOOL のものです。

(仕様部分は別ページを作成したので削除しました。2012-11-10)

さて、このプログラムの弱点は、結局 GRP:FILELIST の有無を確認する手段がないので、ファイルリストがある前提ではプログラムを書けない、ということ。なので、自前のファイルリストの情報を必要とするプログラムぐらいでしか使えないと思っています。だからサンプルに作ったのがファイル交換プログラム、というわけでした。ファイラーやランチャーを作ろうとする人が興味を持って使ってくれれば、少なくともファイル名の部分は互換性を保てるようにはなります。FILESでとれる情報がそれだけなので、他はバッサリと捨てました。必要だったら拡張領域を使えばいい、ということで。

こんなものが必要なくなるように、ファイルアクセスのための命令を追加して欲しいと、切に願うのでした。
(2012-11-10追記)
解説ページ作りました。QRコードもあります。