各種ツール

Last-modified: 2017-11-23 (木) 18:36:53

$マクロ展開

$マクロ展開後用いる。

CG圧縮

CG の圧縮と ALD リンクに用いる。

ビットマップを QNT に変換し、リンクして ALD に格納するまでの作業を通しでやる場合の手順

以下のサンプルを例にとってやってみよう。美しいイラストは私の筆によるものだ。コピーでも加工でもお好きなように使うがよろしい。

まず、cglink_sample_main.bmp を 1.bmp と改名して BMP ディレクトリに置く。
次に、cglink_sample_mask.bmp を 1.bmp と改名して BMP ディレクトリ内の SP サブディレクトリ内に置く。

設定ファイルである DIR.HED をテキストエディタで開き、以下のように書き換えてみよう。

#ALICECG2
ゲーム名GA.ALD
1,BMP,BMP,QNT,QNT

1行目の役割は不明。たぶん、アリスソフトのスタッフが旧いバージョンのツールと混同しないよう、設定ファイルによって異なるバージョンのファイルを弾くようになってるんだろう。version2 しか知らない人にとっては全くもってどうでもよい一行だ。
2行目は出力する ALD ファイル名だ。(ゲーム名)+GA.ALD というスタイルで名付けよう。このゲーム名は、プロジェクトファイル内で定義されているゲーム名と同じものでないといけない。
さて、3行目だ。カンマごとに区切られた5つの要素が記述されることになっている。

  1. 1つめ。パッケージの序列らしい。ALD アーカイブが ~~~GA.ALD 一つしかないときは、この項は例外なく 1 と書かなければならない。~~~GB.ALD といった別アーカイブが併存する場合は、2 と書く場合も出てきそうだ。しかし、GA GB の二つが併存するゲームというのは、System3.x 時代のアリスソフトのゲームでは珍しくなかったけど、System4 になってからは見かけなくなった気がする。正確な理由はわからない。おそらく、分けることによるメリットはあまりなく、煩わしさばかり増えるから一つのパッケージで済ますようになったのではなかろうか。
  2. 2つめ。元画像が置かれているサブディレクトリの名前を書く。今回は BMP ディレクトリに置いてあるので、BMPと書けばよい。画像を置くディレクトリの名前は何だってよかった訳だ。
  3. 3つめ。元画像の拡張子を書く。BMP 以外に対応する拡張子があるのかどうかは明らかではない。まぁ BMP しか使えないとなるとアリスソフトの絵描きのハードディスクがパンパンになってしまいそうなので、何らかの圧縮形式にも対応しているのだろう。
  4. 4つめ。出力する画像を置くサブディレクトリの名前を書く。これ以上書くこともない。
  5. 5つめ。出力する画像の形式を書く。QNTPMS の二択のようだ。PMS は確か System3.x の頃にアリスソフトの中では主流だった形式で 256 ~ 65536 色が扱えるんだったかな。PMS はどうも System4 とは相性が悪い気がするし、QNT を選んでおけば 24bit フルカラーを普通に扱えるので、QNT にしておけば何の問題もないだろう。

以上だ。簡単だろう?ここまで来たら後は AliceCG2.exe を実行するだけだ。出てきたウィンドウに目を通そう。エラーが出てない事を確認できれば、それ以上する事はない。

QNT ディレクトリにはメイン画像とマスク画像が統合された QNT 画像が置かれ、AliceCG2.exe と同じディレクトリに ゲーム名.ALD というアーカイブが置かれているはずだ。ALD アーカイブをゲームの実行ファイル System40.exe と同じ場所に移動しておこう。

その他

気がついたこと。

  • 元画像のファイル名は 1.bmp 2.bmp のような数字になっている必要がありそうだ。これはソースコード内で呼び出される CG 番号と対応する。この規則を守らなかった場合、QNT 変換はされても ALD パッケージが出てこないようだ。
  • 作成する ALD パッケージが 1 つであるなら、ビットマップが何個あろうと設定ファイルの行数を増やす必要はない。AliceCG2.exe は元画像フォルダをスキャンして中にある画像を総ざらいするようだ。
  • ファイル名は数字である必要があるが、必ずしも連番でなくてもよい、気がする。
  • 上で提供している、私が描いた絵はとても素晴らしい。なんといっても System4 できちんと表示されるからだ。もし、このイラストは表示できるのに自分で描いたイラストは表示できないという人がいたら、プログラムではなく絵を疑ってみるべきだ。メイン画像は 24bit フルカラービットマップ、マスク画像は 8bit ビットマップだ。24bit の方は大抵のツールで綺麗に出力できることだろう。問題はマスク画像だ。フォーマットを変換してくれるフリーソフトを拾ってきて試行錯誤すれば、AliceCG2 がへそを曲げずにきちんと働いてくれるフォーマットも見つかるかもしれない。
  • 当たり前の話だが、画像の使用種類が増えると管理が面倒になる。
    このやり方を好ましく思う人はいるだろうか? ディレクトリごとに種類を分けて置く。
    これは私のDERHEDの中身だ。
#ALICECG2
ゲームGA.ALD
1,BMP,BMP,QNT,QNT
1,BMP\(0-100)WALL_CG,BMP,QNT,QNT
1,BMP\(100-999)BACK_CG,BMP,QNT,QNT
1,BMP\(1000-2000)CHAR_CG,BMP,QNT,QNT
1,BMP\(10000-11000)MSG_CG,BMP,QNT,QNT
1,BMP\(11000-12000)CHIP_CG,BMP,QNT,QNT

WALL=壁紙、back=背景、CHAR=人物、MSG=メッセージウインドウ、CHIP=部品を意味する。
正直それぞれのCGをこんなに使うわけがないが、Z値とかSP番号とかCONST指定とかの都合で
だらしなくしたいから、こういう形式をとっている。
なお、SPディレクトリは、

  • (1000-2000)CHAR_CG、
  • (10000-11000)MSG_CG、
  • (11000-12000)CHIP_CG

のディレクトリにのみある。

NL5

ALDリンクのみのツール。

基本的に、AliceCG2とWavLinkerがあれば、カーソルのald(**RA.ALD)を
制作するくらいにしか使わないツールになるだろう。気の毒に。

使用用途としては
WavLinkerでBGMファイルがリンクできないとか
WavLinkerで圧縮すると音が変わってしまうことがあるときに使う。
(この場合、あらかじめ他のツールでOGGに変換しておくとよい)

使い方

例によってサンプル画像を使いながら試してみよう。これは CG圧縮 の項で使った画像の QNT 版だ。

この画像をダウンロードしたら 1.QNT という名前に変更して、 NL5.exe と同じディレクトリに置いてみよう。ついでに、QNT ファイルをその場で複写して 2.QNT というファイルも作っておこうか。

まず、link.hed というファイルを NL5.exe と同じディレクトリに作成し、テキストエディタで開いて編集する。

1,0001,1.QNT
1,0002,2.QNT

一行の中に、カンマで区切られた 3 つの項目がある(よく見よう、最後の一つはピリオドだ)。
1 つめはアーカイブを示す序数だ。CG 圧縮ツールの設定ファイルに記述したものと同じものと考えてよい。要するに、普通は 1 にしておいて問題ない。
2 つめはリンク番号だ。ソースコードでスプライトに CG を貼り付けるとき、この番号を使う。まぁ、ファイル名と統一しておくのが無難ではないかな。
3 つめはファイル名だ。QNT ファイルを指定しよう。

次に、dir.hed というファイルを NL5.exe と同じディレクトリに作成し、テキストエディタで開いて編集する。

#NL5
ゲーム名GA.ALD
LINK.HED

2 行目が出力先の ALD ファイル名。3行目が先ほど定義した設定ファイル名だ。
実は、LINK.HED は異なる名前で複数作ることができる。書式さえ正しければ、ここで名前を指定してやることでNL5 はきちんと認識してくれるのだ。
また、LINK.HED はサブディレクトリに置くこともできる。1000個の画像ファイルを、設定ファイルや exe ファイルと同じディレクトリに散らかすのはあまり気持ちのよいものではない。そういう場合、NL5.exe の隣に QNT というサブディレクトリを作り、QNT 画像と LINK.HED を入れておき、dir.hed の 3行目を QNT\LINK.HED と記述すればよい。

最後に一つ注意事項。dir.hed の最後の一行は必ず空行にしておこう。アリスソフトからのお約束だ。

以上が済んだら、 NL5.exe を実行しよう。処理対象のファイルが少ないときは一瞬でウィンドウが消え、NL5.exe と同じディレクトリに ゲーム名GA.ALD というファイルが転がっていることだろう。

その他

  • 画像ファイルが大量にある場合、LINK.HED を手作業で作るのはとても面倒くさい作業になる。こういう時はやはりスプレッドシートに限る。MS-Office や OpenOffice や LotusSuperOffice を使おう。あ、玄人はテキストエディタのマクロを書くのかな。

Setup

インストーラ。
実際のインストール/アンインストールを行う Setup.exe と、Setup.exe が用いる Setup.ini を出力する Output.exe の二本立て。

使い方

  1. まず、ゲームが完全にリリース可能な状態になっていることを確認する。
    デバッグプラグインは削除されなければならず、余計なファイルがプロジェクト内の run ディレクトリに残存していてはならない。
  2. プロジェクト内の run ディレクトリをどこか別のディレクトリにコピーする(別にコピーしなくても良いが、出荷用のデータはクリーンな場所に置いておく方が気持ちがよいだろう)。run ディレクトリを GAMEDATA という名前に変更する。
  3. Output.exe を起動する。
  4. ゲーム名を入力し、次に進む。
  5. メモリ使用量を選ぶ。が、128(単位不明)しか選べないらしいのでそのまま次に進む。
  6. 一番上にブランド名を入力する。このブランド名はゲームが実際にインストールされるディレクトリの名前に反映される。真ん中の欄はレジストリが格納される所在を示す。デフォルトで Software\Alicesoft という値が格納されているが、ここをそのまま利用させていtだいても頂いても問題ないだろう。最後の項にはメーカー名を入力する。この値がどこに反映されるのかは判らなかったが、好きに入力しておいて問題ないだろう。 スタートメニューの項目名に反映されるようだ。3つとも入力できたら次に進む。
  7. Mutex名を選ぶ画面になる。インストーラが同時起動しないように排他設定する所なのだろうか。筆者にはよく判らない。Sys40Mutexしか選べないのでどうせ悩んでも仕方ないのだが。まぁ System4 のゲームを二つ同時にインストールする場面など、まず出会わないと思うのでどうでもよいだろう。次に進む。
  8. 最後に、GAMEDATA ディレクトリの所在を聞いてくるので、先ほど完成した GAMEDATA ディレクトリを指定する。OK ボタンを押すと、当該ディレクトリ内の全ファイルのチェックが始まる。このステップは、やや時間がかかる。どうも、ファイル名とファイルの個数だけではなく、ハッシュ値も算出してるような気がする。ファイルの破損ではなく、ディスク読み取りエラーの方を心配してるのではないかな。
  9. 以上の作業が済んだら、メモ帳が起動して完成した Setup.ini を見せてくれる。これは見るだけでよいので、特に何も書き換えることなく閉じてしまってよい。
  10. 以上の手順が済んだら、次に Setup.exe を GAMEDATA ディレクトリと同じところにコピーしよう。GAMEDATA ディレクトリの中ではないよ。

その他

  • Setup.exe を起動し、インストールが可能なこと、インストールしたゲームが起動すること、アンインストールが可能なことを確かめる。
  • Setup.exe と同じ場所に Setup.bmp という画像ファイルを置いておくと、インストーラのど真ん中にでかでかと表示されるようだ。画像サイズはどうやら決め打ちっぽい。アリスソフトのゲームを改めて、画像ファイルを確認しておこう。

Sys40Reg

System4.0 レジストリ変更ツール。

Sys42IDE

System4.0 開発統合環境。

wavLinker

BGM / 効果音 / 音声の圧縮と ALD リンクに用いる。