StdPceFormat Ver 2.00(案)
ParCodeEditor Ver2での標準的なコード記述の構文です。
●全体構造
ファイルID
タイトル部
タイトル名
タイトル属性
タイトルコメント
コード部
コード名
コード属性
コード行
コードコメント
●共通の記述
属性
タイトル部、コード部に記述できます。
書式
[キーワード=値,キーワード=値....]
という形式で記述します。
複数行での記述も可能です。
キーワードが重複した場合は、後に記述したものが優先されます。
記述できるキーワードの種類や意味については、各項目で説明します。
コメント
タイトル部、コード部に記述できます。
書式
:コメント文字列
:コメント文字列
:コメント文字列
.
.
.
という形式で記述します。
複数行での記述も可能です。
●タイトル部
タイトル名
タイトル名は行頭に専用のマークを記述する必要があります。
マークは、PAR2用とPAR3用があります。
PAR2用 '*2:'
PAR3用 '*3:'
例
PAR2用の「へろへろ冒険記」
*2:へろへろ冒険記
PAR3用の「へろへろ冒険記」
*3:へろへろ冒険記
タイトル属性
記述方法は「共通の記述」を参照してください。
指定可能なキーワード
header
コードのheader属性のデフォルト値を決めます。
コードにheader属性がなく、有無の判断ができない場合、ここでの値が使用されます
指定可能な値
on
デフォルトのheader属性をonにします
off
デフォルトのheader属性をoffにします
省略時(記述の無い場合)
off
autocodeid
このタイトルに含まれるコードのコードIDが確定しない場合、
エラーにするのか、プログラムで自動的に割り当てるのかを指定します。
ここでの指定はコード属性のデフォルト値であり、コード属性で指定が無い場合、
この指定が採用されます。
指定可能な値
on
コードIDが確定しない場合、プログラムで割り当てます。
off
コードIDの確定しない場合、エラーとします。
省略時(記述の無い場合)
off
gameid
このタイトルに含まれる全てのコードのgameid属性を、ここでの指定に変更して解釈します。
コード属性のデフォルト値ではありません。
記述は16進数で行いますが'h'は付けてはいけません。
指定可能な値
0h〜1FFFh
省略時(記述の無い場合)
この動作を行わない。
region
このタイトルに含まれる全てのコードのregion属性を、ここでの指定に変更して解釈します。
コード属性のデフォルト値ではありません。
指定可能な値
US
UK
JP
省略時(記述の無い場合)
この動作を行わない。
●コード部
コード名
コード名はそのまま記述して下さい。
タイトル名のように特別なマークは必要ありません。
コード属性
記述方法は「共通の記述」を参照してください。
type属性はPAR2、PAR3共に使えますが、その他の属性はPAR3でのみ指定可能です。
(PAR2で指定しても無視されます)
指定可能なキーワード
header
コードのヘッダー行(ゲームID等を含んだ行)が記述されているかどうかを指示します。
ただし、コードが暗号化されている場合は強制的に「含む」になります。
header属性が含むである場合、master、gameid、region、codeid、parent属性は、基本的にはヘッダー行から
取得しようとします。
ヘッダー行の値が気に入らない場合は、その属性を指定すれば上書き変更されます。
逆にheader属性が「含まない」であるときは、自動判断が基本となります。
指定可能な値
on
ヘッダー行を含んでいます。
off
ヘッダー行は含まれていません。
省略時(記述の無い場合)
off
type
コードのタイプを記述します。
この属性が記述されている場合は、コードの内容は無視されます。
例えば、通常コードにtype=folderを記述すると、コード行は無視されます。
指定可能な値
code
一般的なコードを意味します。
folder
フォルダーコードを意味します。
radio
ラジオフォルダーコードを意味します。
省略時(記述の無い場合)
header属性がある場合はコードの内容で判断。
header属性がない場合、
コード行が3行以上の場合は'code'。
コード行の記述がない場合は'folder'。
master
マスターコードであることを指示します。
指定可能な値
true
このコードはマスターコードです。
false
このコードはマスターコードではありません。
省略時(記述の無い場合)
header属性があれば、ヘッダーで判断します。
ヘッダーが無い場合は'false'とします。
gameid
ゲームIDを指定します。
タイトル属性のgameidが指定されている場合、この指定は無視されます。
指定可能な値
0h〜1FFFh
省略時(記述の無い場合)
タイトル属性のgameidが指定されている場合はそのゲームIDが使われます。
header属性があれば、ヘッダー行のものが使用されます。
それも無い場合、タイトル内のコードでmaster属性を持つものでゲームIDが明確になっている最初のコードの
ものが使われます。
それも無い場合、タイトル内のコードでmaster属性でないものでゲームIDが明確になっている最初のコードの
ものが使われます。
それでも、確定できない場合はエラーとなります。
region
リージョンを指定します。
タイトル属性のgameidが指定されている場合、この指定は無視されます。
指定可能な値
US
UK
JP
省略時(記述の無い場合)
タイトル属性のregionが指定されている場合はそのリージョンが使われます。
header属性があれば、ヘッダー行のものが使用されます。
それも無い場合、タイトル内のコードでmaster属性を持つものでリージョンが明確になっている最初のコードの
ものが使われます。
それも無い場合、タイトル内のコードでmaster属性でないものでリージョンが明確になっている最初のコードの
ものが使われます。
それでも、確定できない場合はエラーとなります。
codeid
コードIDを指定します。
指定可能な値
0h〜7FFFFh
指定コードID
auto
コードIDを自動採番する
省略時(記述の無い場合)
header属性がonの場合、ヘッダーのコードID。
header属性がoffでタイトル属性のautocodeidがonの場合は、コードIDが自動採番されます。
header属性がoffでタイトル属性のautocodeidがoffの場合はエラーになります。
parent
コードの階層構造を構築するために必要な属性です。
指定可能な値
0h〜7FFFFh
このコードIDを親とする
ただし、このコードIDを持つコードがフォルダーや
ラジオでない場合はエラー
top
このコードをトップレベルにする
auto
配置位置によって決定する。
省略時(記述の無い場合)
header属性がonの場合、ヘッダーのペアレント・コードID。
header属性がoffの場合、配置位置で判断。
コード行
コードは暗号化・非暗号化どちらの記述も可能です。
しかし、ひとつのコードに暗号化・非暗号化の行が混在してはいけません。
ひとつのタイトルの中に、暗号化行のコードと非暗号化行のコードがあるのは構いません。
特殊なコード
階層構造が'auto'の場合、フォルダーの次に記述されたコードは
そのフォルダーに格納されることを意味しますが、そのフォルダーと同レベルに戻したい場合、
'*^:'を記述します。
●記述例
*3:へろへろ冒険記 autocodeid=on, header=offが仮定される
[region=jp, autocodeid=on]
(M)
[master=true] ヘッダーがないのでparent=autoが仮定される
主人公 トップレベルフォルダー
[type=folder]
HP最大1 属性がないのでheader=offが仮定される
00000000 00000000
00000004 00000000
MP最大1
[header=on, parent=auto]
00000000 00000000
00000008 00000000
0000000C 00000000
*^: 階層を1つ上がってトップレベルに変更
2人目 トップレベルフォルダー
[type=folder]
HP最大2 属性がないのでheader=offが仮定される
00000000 00000000
00000004 00000000
MP最大2
[gameid=12] ゲームIDはどこでも指定されていないので、これが使われる
00000008 00000000
0000000C 00000000
3人目 トップレベルフォルダー
[type=folder, codeid=9, parent=top]
parent=topがないと、「2人目」フォルダーの子になる
HP最大3
[parent=9] コードIDが9のコードを親にする
00000000 00000000
00000004 00000000
MP最大3 parentが無いので階層構造を自動構築
00000008 00000000
0000000C 00000000
階層構造は次のようになります。
タイトル
(M)
主人公
HP最大1
MP最大1
2人目
HP最大2
MP最大2
3人目
HP最大3
MP最大3
●利用例
ネットに公開されているPAR3コード(暗号化)を使う場合、
1.タイトルに*3:を付加
だけで認識可能です。
ネットに公開されているPAR3コード(非暗号化・ヘッダーあり)を使う場合、
1.タイトルに*3:を付加
2.タイトル属性にheader=onを記述
だけで認識可能です。
ネットに公開されているPAR3コード(非暗号化・ヘッダーなし)を使う場合、
1.タイトルに*3:を付加
2.タイトル属性にautocodeid=onを記述
3.タイトル属性にgameid属性を記述
4.タイトル属性にregion属性を記述
5.マスターコードにmaster=true属性を記述
を追加します。
ネットに公開されているPAR2コードを使う場合、
1.タイトルに*2:を付加
を追加します。