PakManPak設定ファイルガイド

このページでは設定ファイルの文法について説明します。

2010/09/09: 原語主義採用に伴い。小さな仕様変更がありました。過去のパッケージには影響有りません。

2010/09/22: ReqVerの指定方法が変更になりました。旧書式も使用可能ですが、新書式を推奨します。

1. 設定ファイル共通

1-1. ファイル名

ファイル名はPakManPak.iniとして下さい。

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

1-2. 文字コード

文字コードはUTF-8とします。

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

1-3. 改行コード

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

これは.NETのTextWriter/TextReaderの仕様によるものです。

1-4. 文法

INIファイルの文法に準拠します。

構成要素は

  • セクション
  • パラメータ
  • コメント

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

1-5. 空行

空行は無視されます。

1-6. 空白のトリム

前後の空白はトリムされます。

トリムは以下の全てに適用されます。

  • 行全体
  • セクション名
  • パラメータ名
  • パラメータ値

1-7. エスケープ

エスケープ処理はありません。

1-8. クォート

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

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

2. 各セクションのパラメータ

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

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

2-1. Generalセクション

パッケージに関する基本的な情報を原語で記述します。

原語が不明であったり、その言語の知識が無い場合はあなたの第1言語を使用してください。

2-1-1. Name

パッケージの名前を原語で記述します。ユーザにとってわかり易い名前が好まれます。

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

文字数制限はありませんが、 ListViewItem.Text の仕様で260文字以上は表示できません。

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

表示機能はr27で実装されました。

サポートされるファイル形式は以下の通りです。それ以外は無視されます。

  • テキストファイル .txt (r33)
  • ドキュメントファイル .doc (r33)
  • HTMLファイル .htm/.html (r33)
  • リッチテキストファイル .rtf (r33)
  • PDFファイル .pdf (r33)
  • オープンドキュメント(ワープロ) .odt (r34)
  • オープンドキュメント(表計算) .ods (r34)
  • オープンドキュメント(プレゼン) .odp (r34)

2-1-10. Picture

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

PictureBoxによると、

ビットマップ、メタファイル、アイコン、JPEG、GIF、または PNG ファイル

が使えます。

サイズの既定はありませんが、標準では表示領域の高さが200pxとなっています。 StPakMan-0.11より設定ファイルの記述を変更することで、表示領域の高さを変更出来るようになりました。

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

2-1-11. URL

URLを記述します。pakやPakManPakを公開したサイトを記述することを想定しています。 StPakManはこのURLに対して特定のアクションはしません。*2

表示機能はr27で実装されました。

サポートされているスキーマはhttpとhttpsのみです。それ以外は無視されます。 (r33)

2-1-12. LatestURL

最新版の情報を取得するURLを記述します。

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

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

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

2-1-13. DownloadURL

このPakManPak、または元となったpakファイルをダウンロードしたURLを記述します。

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

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

2-1-14. Tags

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

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

0.11よりタグフィルタが実装されました。

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シリーズの中で最優先にチェックされます。 この記述があった場合、その他のReqVer指定は無視されます。

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

2-2-4. ReqVerGTEq (0.11で追加)

以上のSimutransバージョンを要求する。 (Greater Than or Equal)

simutrans.exeのプロパティで見れるファイルバージョンを記述します。 他のReqVerと併記した場合はANDになります。

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

2-2-5. ReqVerGT (0.11で追加)

より大きいSimutransバージョンを要求する。 (Greater Than)

simutrans.exeのプロパティで見れるファイルバージョンを記述します。 他のReqVerと併記した場合はANDになります。

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

2-2-6. ReqVerLTEq (0.11で追加)

以下のSimutransバージョンを要求する。 (Less Than or Equal)

simutrans.exeのプロパティで見れるファイルバージョンを記述します。 他のReqVerと併記した場合はANDになります。

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

2-2-7. ReqVerLT (0.11で追加)

より小さいSimutransバージョンを要求する。 (Less Than)

simutrans.exeのプロパティで見れるファイルバージョンを記述します。 他のReqVerと併記した場合はANDになります。

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

2-2-8. ReqVerAbove (廃止 ReqVerGTEqを使用してください)

以上のSimutransバージョンを要求する。

simutrans.exeのプロパティで見れるファイルバージョンを記述します。 他のReqVerと併記した場合はANDになります。 ReqVerGTEqと記述が被った場合は、ReqVerGTEqが優先されます。

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

2-2-9. ReqVerUnder (廃止 ReqVerLTEqを使用してください)

以下のSimutransバージョンを要求する。

simutrans.exeのプロパティで見れるファイルバージョンを記述します。 他のReqVerと併記した場合はANDになります。 ReqVerLTEqと記述が被った場合は、ReqVerLTEqが優先されます。

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

2-3. 言語セクション

Generalセクションの内容を各言語で表記します。 日本語の場合はセクション名を「ja」として下さい。 翻訳が必要な場合は記述してください。

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

以下の項目が記述可能です。

  • Name
  • Copyright
  • PakAuthor
  • PakManPakAuthor
  • Readme
  • Picture
  • URL
  • LatestURL
  • DownloadURL
  • Tags

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

3. テンプレート

PakManPak.ini


  1. *1飾り文字で一覧のソートが崩れる可能性があります。
  2. *2嫌がらせとかではなく、プログラム的に何もしない。