アセットの管理とサウンド

進捗

アセット管理とオーディオ機能、インプット機能の基本を作成中。
APIだけ気にしつつ、内部実装は少しずつ整理します。

アセット管理

アセットは単一のハッシュテーブルで管理するシステムを設計。
タグ付けでデータの分別が出来るようにする想定。
最初はシンプルにして、後々機能を拡張していきたい。

サウンド

OpenAL, ALUREを使えば再生は簡単。
ソースとバッファの管理をどうしようかと思いつつ、
SDL-mixerのようにチャンネル番号+SE/BGMの形式でAPIを用意しようかと思います。
こちらも必要な機能は後々追加していく予定。

インプット機能

キーボード、マウス、ジョイスティック入力取得を整備。
何気なくMcCLIM*1のリファレンスを眺めつつ考えていましたが、あんまり面白いアイデアも湧かなかったのでポーリング形式でAPIを整備。

キーボードの特殊キーはユーザ定義文字として定義しました。
こんな感じで扱えます。

(if (by:key #¥enter)
  (write-line "enter!"))

そんな感じ。
来週はBGM再生機能を整備しつつ、
内部実装のリファクタでもやっていると思います。