
コミックメーカー3ランタイムの実行するには、システムライブラリと呼ばれるファイルが必要です。システムライブラリは"comicrt3.cml"という名前のファイルで、コミックメーカー3の配布パッケージに同梱されています。
このドキュメントでは、システムライブラリの構造と機能を解説し、独自のシステムを構築するためのヒントを提供します。
コミックメーカー3のインストールフォルダにあるシステムライブラリを変更することはやめてください。
自分で作成したシステムライブラリを、コミックメーカー3のインストールフォルダにおくと、コミックメーカー3ランタイムで動作するすべての作品がその影響を受けてしまいます。
別のフォルダを作り、その中にコミックメーカー3ランタイムと自作システムライブラリ、実行したいコミックパッケージをコピーして、コミックメーカーシステムとは独立した形で運用してください。
システムライブラリ(comicrt3.cml)は、コミックパッケージなどと同様にパッケージ化されたデータファイルです。作成するにはLinkage file utility Rev.8以降または専用のツールが必要です。
パッケージのヘッダは"CM3LIB"です。正確には"43 4D 33 4C 49 42 00 00"を指定する必要があります。
システムライブラリには最低限以下のファイルをパッケージする必要があります。
| system.cf3 | システムブックを含んだコミックファイル |
|---|---|
| _keywait_char.png | キー入力待ちカーソルの画像 |
| _pagewait_char.png | ページ切り替え待ちカーソルの画像 |
| _smallimage.bmp | セーブファイル内にサムネイル画像が存在しないときに代替表示する画像 |
ランタイムは画像ファイルを参照する際、上記ファイルであっても、先にコミックパッケージ内を検索をして、見つからない場合にシステムライブラリ内を検索する仕組みになっています。
そのためシステムライブラリに含まれるファイルと同名のファイルがコミックパッケージ内に入っていると、コミックパッケージ内のファイルを参照して表示するようになります。
システムライブラリ内で使用されるファイル、変数、レイヤーなどは、名前に"_"で始まる名前を付けます。
これによって、コミックファイル内で使用する名前とバッティングすることを防ぎます。
尚、"_"で始まる名前には、ランタイム自身が定義しているものもあることを留意しておいてください。システムライブラリは、ランタイムの使用する名前とバッティングしないように注意しなくてはなりません。
システムブックは、ゲームのシステムメニューの制御やシステム規定の動作を実行させるためのコミックスクリプトです。
システムブックは"_system"という名前で定義されます。
システムブックの中に最低限必要なページは以下の通りです。各ページは必ずサブルーチンからの復帰コマンドを使って、呼び出し元に戻るように記述しなければなりません。
| _init | システムの初期化を行います(起動時) |
|---|---|
| _reload | システムの初期化を行います(動作中) |
| _timer | カウントダウンタイマーの表示を行います。 |
| _ignore | 何もしません。呼び出し後直ちに復帰します。 |
システムブックの"_init"ページは、システムの初期化を行うために使用するページです。"_init"ページはスタートページより前に実行されます。
"_init"ページでは、システム用のレイヤーの作成、システム機能の呼び出し用ボタン(メニューボタンなど)の作成、システム用の変数の初期化などを行います。
"_init"ページの最後には、必ずページ復帰コマンドを入れてください。ランタイムはスタートページをコールスタックに入れてから"_init"ページを実行しますので、このコマンドを実行することによって実行ページがスタートページに切り替えられます。
システムブックの"_reload"ページは、セーブファイルに記録された実行状態を復元したときに呼び出されます。"_init"ページと同じようにシステムの初期化を行ってください。
カウントダウンタイマーの表示を行います。
選択肢の表示コマンドやしばらく待つコマンドなどでカウントダウンタイマーの表示オプションが指定されているとき、キー入力待ち状態になる直前に呼び出されます。
タイマー表示用のダイナミックレイヤーを作成して直ちに復帰してください。
このページでは何もしません。何もしないことに重要な意味があるページです。
このページにはサブルーチンからの復帰コマンドのみを記述してください。
システムブックで使用するダイナミックレイヤーには、AttrID(属性指定値)を1000〜1999の範囲で設定します。
それ以外のAttrIDはコミックファイルやランタイムで使用するIDと重複し不具合が発生する可能性があります。
Copyright (c) 1997-2007 Masaya Hikida