• Showing Page History #61850

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

設定ファイル共通

ファイル名

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

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

文字コード

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

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

改行コード

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

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

文法

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

構成要素は

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

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

空行

空行は無視されます。

空白のトリム

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

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

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

エスケープ

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

クォート

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

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

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

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

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

Generalセクション

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

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

Name

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

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

飾り文字で修飾することも推奨しませんが、好きにしてください。*2

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

複数人を記述する場合は、コンマ(,)区切りを推奨します。

Copyright = 改造者, オリジナル作者

PakAuthor

pakファイル作成者名を英語で記述します。要するにmakeobjした人です。

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

PakManPakAuthor

PakManPakの作成者を英語で記述します。要するにあなたです。

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

Ver

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

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

Ver = 1.3.2.32

PakVer

makeobjしたpakファイルのバージョンです。バージョン管理している場合は記述してください。

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

PakManPakVer

このPakManPakのバージョンです。記述を推奨します。

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

ReleaseDate

リリース日を記述します。記述を推奨します。

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

ReleaseDate = 20100906

Readme

Readmeファイルの現在のディレクトリからの相対パスを記述します。Generalセクションのリードミーファイルの内容は英語を推奨します。

Readme = src/readme.txt

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

表示機能をつける予定です。*3

Picture

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

PictureBoxによると、

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

が使えます。

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

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

URL

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

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

表示機能をつける予定です。*5

LatestURL

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

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

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

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

DownloadURL

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

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

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

Tags

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

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

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

Requireセクション

本体バージョンの指定等を記述します。

CopyType

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

  • ALL

    pakディレクトリ配下の全てのファイルとディレクトリをコピーする。

  • PakOnly

    pakディレクトリ直下のpakファイルのみをコピーする。

  • Remove

    pakディレクトリ配下の全てのファイル/ディレクトリと同名のファイル/ディレクトリを削除する。(0.7より)

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

Pixel

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

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

ReqVerEqual

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

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

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

ReqVerAbove

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

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

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

ReqVerUnder

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

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

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

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

言語セクション

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

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

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

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

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


  1. *1日本語で書いても動作に問題ありません。
  2. *2飾り文字で一覧のソートが崩れる可能性があります。
  3. *3たぶん…いつか…グギギギギ
  4. *4嫌がらせとかではなく、プログラム的に何もしない。
  5. *5たぶん…いつか…グギギギギ