Show page source of PakManPak設定ファイルガイド #61880

このページでは設定ファイルの文法について説明します。
[[PageOutline(start=1, depth=9, type=unordered)]]


= 1. 設定ファイル共通
== 1-1. ファイル名
ファイル名は'''!PakManPak.ini'''として下さい。

大文字小文字を区別するプラットホームへの移植があるかもしれませんので、大文字小文字に注意してください。と言いつつ、現時点では気にしなくてもいいです。


== 1-2. 文字コード
文字コードは'''UTF-8'''とします。

BOM (バイト順マーク) の既定はしていませんが、'''無しを推奨'''します。


== 1-3. 改行コード
改行コードはWindows系標準の '''CRLF (\r\n)''' またはUNIX系標準 '''LF (\n)''' を使用してください。
Mac系標準の CR (\r) は使えません。

これは.NETの[http://msdn.microsoft.com/ja-jp/library/system.io.textwriter.newline%28v=VS.90%29.aspx TextWriter/TextReader]の仕様によるものです。


== 1-4. 文法
INIファイルの文法に準拠します。

構成要素は
 * セクション
 * パラメータ
 * コメント
となります。各要素は'''行独立'''です。セクション宣言を書いた後にコメントを続けて書くような事は出来ません。


== 1-5. 空行
空行は無視されます。


== 1-6. 空白のトリム
前後の空白はトリムされます。

トリムは以下の全てに適用されます。
 * 行全体
 * セクション名
 * パラメータ名
 * パラメータ値


== 1-7. エスケープ
エスケープ処理はありません。


== 1-8. クォート
パラメータ値に限りクォートが可能です。クォート文字は「'''"'''」です。

前後の空白をトリムさせないぐらいしか使い道がありませんので、'''使用は推奨しません。'''


= 2. 各セクションのパラメータ
全てのパラメータが省略可能です。
省略した場合は空扱い、または各パラメータに規定されたデフォルト値となります。

'''全てを埋める必要はありませんので、気楽に記述しましょう。'''


== 2-1. Generalセクション
パッケージに関する基本的な情報を'''英語で'''記述します。[[Footnote(日本語で書いても動作に問題ありません。)]]

'''英語がわからない!? ローマ字でおk!!'''


=== 2-1-1. Name
パッケージの名前を'''英語で'''記述します。ユーザにとってわかり易い名前が好まれます。

他のパッケージと被らない名前を付けることを推奨しますが、!StPakManはパッケージの判別に複数の要素を使用しているので被っても問題はありません。
ただし、ユーザはもやもやした気分になります。

飾り文字で修飾することも推奨しませんが、好きにしてください。[[Footnote(飾り文字で一覧のソートが崩れる可能性があります。)]]


=== 2-1-2. Copyright
オリジナル画像の作者名を'''英語で'''記述します。datファイルのCopyrightと同じです。

複数人を記述する場合は、コンマ(''',''')区切りを推奨します。
{{{
Copyright = 改造者, オリジナル作者
}}}


=== 2-1-3. !PakAuthor
pakファイル作成者名を'''英語で'''記述します。要するにmakeobjした人です。

記述方法はCopyrightと同じです。


=== 2-1-4. !PakManPakAuthor
!PakManPakの作成者を'''英語で'''記述します。要するにあなたです。

記述方法はCopyrightと同じです。


=== 2-1-5. Ver
オリジナル画像のバージョンです。バージョン管理している場合は記述してください。

ドット('''.''')区切りの数字を2~4組みで表記します。(4組み推奨)
{{{
Ver = 1.3.2.32
}}}


=== 2-1-6. !PakVer
makeobjしたpakファイルのバージョンです。バージョン管理している場合は記述してください。

記述方法はVerと同じです。


=== 2-1-7. !PakManPakVer
この!PakManPakのバージョンです。'''記述を推奨します。'''

記述方法はVerと同じです。


=== 2-1-8. !ReleaseDate
リリース日を記述します。'''記述を推奨します。'''

年4桁 月2桁 日2桁 を繋げ、数字のみで記述してください。
{{{
ReleaseDate = 20100906
}}}


=== 2-1-9. Readme
Readmeファイルの現在のディレクトリからの相対パスを記述します。Generalセクションのリードミーファイルの内容は'''英語'''を推奨します。
{{{
Readme = src/readme.txt
}}}

表示機能は未実装です。(!StPakMan-0.6時点)

表示機能をつける予定です。[[Footnote(たぶん…いつか…グギギギギ)]]


=== 2-1-10. Picture
スクリーンショットファイルの現在のディレクトリからの相対パスを記述します。個人的にオススメな機能です。

[http://msdn.microsoft.com/ja-jp/library/system.windows.forms.picturebox%28v=VS.90%29.aspx PictureBox]によると、
> ビットマップ、メタファイル、アイコン、JPEG、GIF、または PNG ファイル
が使えます。

サイズの既定はありませんが、表示領域の高さが200px固定となっています。(!StPakMan-0.6時点)

記述方法はReadmeと同じです。


=== 2-1-11. URL
URLを記述します。pakや!PakManPakを公開したサイトを記述することを想定しています。
!StPakManはこのURLに対して特定のアクションはしません。[[Footnote(嫌がらせとかではなく、プログラム的に何もしない。)]]

表示機能は未実装です。(!StPakMan-0.6時点)

表示機能をつける予定です。[[Footnote(たぶん…いつか…グギギギギ)]]


=== 2-1-12. LatestURL
最新版の情報を取得するURLを記述します。

関連機能は未実装です。無害ですが'''記述しないことを推奨します。'''(!StPakMan-0.6時点)

{{{
LatestURL = http://sourceforge.jp/projects/stpakman/hogehoge/pakmanpak.ini
}}}

妄想によると、このURLにある!PakManPak.iniを読み込んで、最新版チェックやダウンロードをしてくれ…グギギギギ


=== 2-1-13. DownloadURL
この!PakManPak、または元となったpakファイルをダウンロードしたURLを記述します。

関連機能は未実装です。(!StPakMan-0.6時点)

LatestURL実装後は、!PakManPakをダウンロードするURLという意味に変更される予定です。


=== 2-1-14. Tags
カテゴリ分けに使用するタグを「,」区切りで表記します。区切り後に前後の空白がトリムされます。単語中の空白はトリムされません。

{{{
Tags = tag1, tag2, t a g 3, tag4
}}}

関連機能は未実装です。(!StPakMan-0.6時点)


== 2-2. Requireセクション
本体バージョンの指定等を記述します。


=== 2-2-1. !CopyType
!PakManPak中にあるpakディレクトリから、Simutransのpakディレクトリにファイルをコピーする際の方式を記述します。

 * '''ALL'''
> pakディレクトリ配下の全てのファイルとディレクトリをコピーする。
 * '''!PakOnly'''
> pakディレクトリ直下のpakファイルのみをコピーする。
 * '''Remove'''
> pakディレクトリ配下の全てのファイル/ディレクトリと同名のファイル/ディレクトリを削除する。(0.7より)

省略時は!PakOnlyです。追加情報:[StPakManパッケージの仕組み]


=== 2-2-2. Pixel
このパッケージが対応している画像サイズ(ピクセル値)を記述します。

pak64対応なら64、pak128対応なら128、pak32なら32、pak96なら96、pak192なら192となります。
数値のみで記述してください。


=== 2-2-3. !ReqVerEqual
'''同じ'''Simutransバージョンを要求する。simutrans.exeのプロパティで見れるファイルバージョンを記述します。

!ReqVer三兄弟の中で最優先にチェックされます。

記述はGeneralセクションのVerと同じです。

=== 2-2-4. !ReqVerAbove
'''以上'''のSimutransバージョンを要求する。simutrans.exeのプロパティで見れるファイルバージョンを記述します。

!ReqVerUnderと併記した場合はANDになります。

記述はGeneralセクションのVerと同じです。


=== 2-2-5. !ReqVerUnder
'''以下'''のSimutransバージョンを要求する。simutrans.exeのプロパティで見れるファイルバージョンを記述します。(!StPakMan-0.6時点)

!ReqVerAboveと併記した場合はANDになります。

記述はGeneralセクションのVerと同じです。

'''注意: 未満に仕様変更するかもしれません。'''


== 2-3. 言語セクション
Generalセクションの内容を各言語で表記します。
日本語の場合はセクション名を「ja」として下さい。

実装的にはドイツ語(de)等もいけるはずですが、試していません。

以下の項目が記述可能です。
 * Name
 * Copyright
 * !PakAuthor
 * !PakManPakAuthor
 * Readme
 * Picture
 * URL
 * LatestURL
 * DownloadURL
 * Tags

Tagsについては、GeneralセクションのTagsとマージされます。