WonderWitch.Com
■TOP>ネタ |
カラーリソースの扱い方 スワンクリスタルが出たことですし、遠い昔に自分が作った「OUGON」というゲームをちゃんとした16色カラーにしてみようと思います。まず、モノクロの画像を着色するところから始めたいんですが、元となったビットマップ画像を紛失してしまってました。しかたないので、専用のツールを作り(例によってVBで)、ソースコードからビットマップに復元してみました。 、、、でも、順番が合わないとメチャクチャな絵になってしまいますね。 そこで、ツールを修正。いろいろと姑息な手段を使って、並べ直しました。 【DOWNLOAD】「Cソースコードからビットマップを復元するプログラム」(VisualBasic/ソース付き) 【DOWNLOAD】「Cソースコードからビットマップを復元するプログラム2」(VisualBasic/ソース付き) グラフィックエディタを使って、モノクロ画像を着色します。 16色モードを想定していますので、ここで使える色は15色+透明色です。 、、、、着色が完了したら、16色(4bit)カラーのビットマップで保存します。 次に “bmpcnv.exe”でビットマップをリソースにします。入力するコマンドは、、、 >bmpcnv.exe -m0 (bmpファイル名) です。オプション「-m0」を付けると、16色カラーのプレーン方式でリソース化され、拡張子が“fr”のファイルで保存されます。 16色カラーのリソースには、16バイトのヘッダのすぐ後に、32バイトのパレットデータが格納されています。パレットは1色あたり1ワードです(バイトの上位と下位がひっくりかえってます)。そのあとに 画像データが続きます。 こうして完成したリソースファイルを読み込んで、キャラクターとパレットを設定する関数(read_img)を作りました。そして、フォント関連を16色カラー用の関数に書き換えて(例えば、“font_set_colordata”を“wwc_font_set_colordata”に)、完成したのが、このゲームです。タイトルは「スペラン-X」に戻しました(オーゴンだとカッコ悪いんで)。 【DOWNLOAD】「スペラン-X」(フリーウェア/WonderWitch用/ソース付き) 、、、16色にすることで、見た目がずっと良くなりましたが、ゲームとしてはかなり問題ありますね。3面までしかありませんし。音楽が変ですし。 次回はこのゲームを、もう少し遊べるように改造したいです。 (2002/11/17追記。最新バージョンはこちら) あと、スクリーンショット用の関数も“bs_save_screen”から“bsc_save_screen”に書きかえる必要があります。これを忘れると撮り込み画像が化けます(ハマりました)。 |