アドオン制作入門

Last-modified: 2014-05-06 (火) 21:51:04

※このページの解説はWindowsユーザを対象にしています。

前書き

このページでは、まだアドオンを制作したことがない方を対象に、いちから説明していきたいと思います。

ソースを元にPak化を体験しよう

ソースを準備しよう

今回の説明に使うソースデータをダウンロードしてください → filePrimer.zip
ダウンロードしたらZIPファイルを解凍してください。
中に画像ファイルともう一つファイルが入っていると思います。
Simutransのアドオン(Pakファイル)は基本、画像ファイル(png)と設定ファイル(dat)をmakeobjで合成することで制作します。
今回はこの2つのファイルを使ってPak化したいと思います。

実際にPak化してみよう

Pak化する方法はいろいろありますが、今回は2つの方法を紹介します。

PakHelperでPak化する方法

(株)南福岡車輛氏が作られた「PakHelper」を使用してPak化する方法です。

  1. このページからPakHelperをダウンロードして解凍してください。
  2. PakHelper.exeを起動します。
    Primer_ph.png
  3. 今回はpak128サイズですので、サイズは「128版」を選択します。
  4. ソースデータフォルダの中にあるdatファイルを選択します。
  5. 最後に「Pak実行」ボタンを押します。PakHelperがあるフォルダの中に「building.norurun.pak」ができていればひとまず成功です。

バッチファイルを使ってPak化する方法

まずmakeobjを用意します。
makeobjはこのページ(英語)で配布しています。今回は上にある一番新しいmakeobjをダウンロードしましょう。
ダウンロードしたZIPを解凍し、中にあるmakeobj.exeを先ほどダウンロードしたソースデータフォルダの中に入れてください。

次にバッチファイルを作成します。

  1. メモ帳を起動します。
  2. 下記の文字列をコピペで貼り付けます。
    makeobj pak128 ./ ./norurun.dat > err.txt 2>&1
  3. メニューバーの「ファイル」→「名前を付けて保存」を選択します。
    SaveFileDialog.png
  4. ソースデータがあるフォルダを選択し、ファイル名を「create.bat」、ファイルの種類を「すべてのファイル (*.*)」にして保存ボタンをクリックします。

batIcon.png
これでバッチファイルができました。

あとはバッチファイルをダブルクリックすると、バッチファイルと同じ場所に「building.norurun.pak」が作成されます。

実際に導入して確認しよう

生成された「building.norurun.pak」ファイルをSimutransの「pak128」フォルダに入れ、起動して確認してみましょう。
起動後公共事業を選択し、マップ編集ツールからランドマーク建設ツールを選択、一覧の中に「norurun」があったら成功です。
Primer1.png
一覧に出てこない場合やSimutrans自体が起動しない場合は、うまくPak化できていない可能性が高いです。

png・datファイルをいじってみよう

一通りの流れがつかめたところで、今度はこの○るるん像を改造してみましょう。

pngファイルをいじってみよう

まずは画像ファイルをいじってみましょう。
今回は帯の部分を青にしてみましょう。

norurun.pngをMSペイントなど、ペイントソフトで開きます。
MSPaint.png
あとは普通の絵の編集と一緒で、鉛筆ツールなどを使って赤い帯の部分を青に置き換えます。
ついでに、左上に「○るるん」と文字を入れちゃいましょう。

norurun-2.png
絵ができましたら、上書き保存をしてください。
(透明度情報は失われても構いません)

Pak化して、どう変わったか確かめてみよう

それでは、先ほど説明したのと同じようにPak化してみてください。
Pakファイルができましたら、Simutransのpak128フォルダに入れ起動してみてください。
起動後公共事業を選択し、マップ編集ツールからランドマーク建設ツールを選択、一覧の中の「norurun」が下の画像のようになっていたら成功です。
Primer2.png
このように、128×128ピクセルのpngファイルに書かれた絵が、水色の部分を除きそのまま表示されます。

最後に

この文章を通じてアドオン制作の流れは掴めましたでしょうか?
自作のアドオンができましたら、Simutransな実験室などに投稿して反応をみるのもいいかもしれません。