楽園:チュートリアル:タイトル画面の作成
概要
ここではらのべえのタイトル画面をオリジナルなものに差し替える方法を解説します。
らのべえの「標準800x600」のテーマのタイトル画面をサンプルとして使用します。
DL
チュートリアル:標準800x600のタイトル画面におまけボタンを追加してみる
タイトル通りです。詳しくはムービーをご覧下さい。ここでは、title.rnfを詳しく解説しておきます。
以下、範囲記述といった場合、start1-end1,start2-end2 系の記述を意味します。 例えば範囲記述で、600-600,603-604,608-608 と書いた場合、600,603,604,608 を意味します。
また、レイアウトファイルでは、;以降はコメントになります。

---- title.rnf ----
pages=1
page.0.layers=612
page.0.inputLayers=612-612
page.0.locate=0
項目   意味
pages   この選択で利用されるページ数。大抵は1。以降?の添え字は0ベースです。
page.?.layers   指定ページで利用されるレイヤーID。範囲記述可。
page.?.inputLayers   入力を許可するレイヤーID。範囲記述。
page.?.locate   0:画面内配置 1:画面外配置
pagesはこの画面で利用するページ数を指定します。 例えばコンフィグ画面やヘルプ画面など、同一画面で複数ページを利用するものも中には存在するためこの項目がありますが、一般的な入力画面は1しかありません。
page.x.layers / page.x.inputLayers / page.x.locate はそれぞれページxの詳細を定義します。ここでは1頁しかないのでxは0だけしかありません。

; らのべえ用ヒント
hint.layer=612
hint.item.0=10,最初から始める
hint.item.1=14,ゲームを終了する
項目   意味
hint.layer   タイトルの入力に利用するレイヤーIDを指定する。
hint.item.?   ?は0〜5。連番で利用すること。引数は「対応する選択アイテムのID, コメント」
ムービー内に解説があるように、ここで指定した項目が、そのままらのべえの「タイトル画面の分岐先指定」に項目として表示されます。 「コメント」もそのまま分岐先の指定に表示されます。
なお、ムービーではここを設定した後、ゲームを一度起動していますが、その必要はありません。 あれだとまるでゲームを実行しないと変更が反映されないみたいに見えますが、そんなことはありません。

; layout
layers=612
; layer 612
layer.612.create=1,559,47,res\g\sy\02\02_001.lvg,16,-2,0,0,0,0,0,0
項目   意味
layers   選択アイテムが関連づけられているレイヤーID。範囲指定可。
layer.LID.create   レイヤーID「LID」のレイヤーを作成する指定。先頭の数値は作成モードです。
作成モード1の凡例は、1, dx, dy, filename, fade, trans, flags, dwParam, sx, sy, sw, sh です。
つまり、これは、 画面上の 559,47 の位置へ、 res\g\sy\02\02_001.lvg を元にして、 フェード値16(0-16の17段階で透明から不透明を表します) 透明色なし(0-255でそのパレット番号を透明色扱いします。-2でなしです) 以降はすべてデフォルト値のレイヤーを作成しています。
もっと平たく言えば、02_001.lvgをそのままレイヤーにして、559,47へ表示しています。

layer.612.items=10-14
layer.612.item.10.create=0,true,false,10,0, 15,res\g\sy\02\02_002.lvg,-2,0,1,-1,-1,-1
layer.612.item.11.create=0,true,Q0≠1,11,0,119,res\g\sy\02\02_003.lvg,-2,0,1,-1,-1,-1
layer.612.item.12.create=0,true,Q0≠1,12,0,223,res\g\sy\02\02_004.lvg,-2,0,1,-1,-1,-1
layer.612.item.13.create=0,true,false,13,0,327,res\g\sy\02\02_005.lvg,-2,0,1,-1,-1,-1
layer.612.item.14.create=0,true,false,14,0,439,res\g\sy\02\02_006.lvg,-2,0,1,-1,-1,-1
項目   意味
layer.LID.items   LIDに登録する選択アイテムのIDの範囲を指定する。範囲指定可
layer.LID.item.SIID.create   選択アイテムを実際に作成します。先頭は選択アイテムの種類で0はパネルです。
layer.LID.item.SIID.action   SIIDの選択アイテムを選んだときの動作を記述します。
パネル作成の凡例は、0, strCondPrepare, strCondInvalid, itemId, rx, ry, fname, trans, flags, nPattern, nFirstPattern, soundChannel, lidMessage, strMessage です。
実は、layer.612.item.10.create=0,true,false,10,0, 15,res\g\sy\02\02_002.lvg,-2,0,1,-1,-1,-1 は、古い記法で、最新の記法だと
layer.612.item.10.create=0,true,false,10,0, 15,res\g\sy\02\02_002.lvg,-2,0,1,0,-1,-1,-1 となります。以下はこちらで解説します。
0  パネル/コンディションパネルを作成する
true  必ず定義する
false  無効にしない。なお、Q0≠1は、一度もセーブされていないときtrueになります
10  SIID。選択アイテムを識別するID。
0  表示X座標。LID相対。
15  表示Y座標。LID相対。
res\g\sy\02\02_002.lvg  選択アイテムの定義に利用する画像データ。
-2  透明色指定(-2,-1,0-255)。通常は-2(透明色なし)
0  作成フラグ。詳細はレイアウト定義詳細で。
1  状態数。パネルの場合は1。コンディションパネルの場合は状態の数。
0  初回の表示パターン。通常は0。
-1  onCursor時に再生する効果音のチャンネル。らのべえは-1で良い。
-1  onCursor時に文字列を表示するレイヤーIDの指定。不要なら-1。
-1  onCursor時に出力させる文字列。不要なら-1。

layer.612.item.10.action=51, 0, 0, 0, 0, NULL ;最初から始める
layer.612.item.11.action=179, 0, 0, 0, 0, NULL ;最新のセーブデータから続ける
layer.612.item.12.action=103,0, 0, 0, 0, NULL ;ロードして続ける
layer.612.item.13.action=104,0, 0, 0, 0, NULL ;ゲームの設定
layer.612.item.14.action=51, 0, 0, 0, 0, NULL ;ゲームを終了する
項目   意味
layer.LID.item.SIID.action   LIDに関連づけたSIIDを操作したときのアクションを定義します。
凡例は、actionId,p0,p1,p2,p3,strParam です。
ActionID   解説
51  選択されたSIIDをそのまま呼び出し元に渡して選択処理から抜けます。
103  ロード画面を呼び出します。
104  ゲームの設定(コンフィグ画面)を呼び出します。
179  最新のセーブデータをロードします。
p0-p3およびstrParamはアクションIDに固有の引数です。
アクションIDは、非常に多くの種類がありますので、資料として別途一覧を作成する予定です。
一般にタイトル画面で使われるようなアクションに引数はないのですべて0になっています。
hint.item.? で定義されているアイテムはすべて51を指定することで、SIIDだけ維持してそのまま抜けます。 その先は、SIIDに従って、らのべえのタイトルコマンドで定義された飛び先へジャンプするわけです。