//cache
*datファイル記述リファレンス [#sd488d97]

datファイルのリファレンスを書いてみようと思います。datファイル記述の参考になれば幸いです。&br;
まだ抜けてる部分も多いので追記超歓迎。&br;
RIGHT:&size(10){補足資料の一部文面・画像を追記・修整差し替え 2010/04/23};


#contents

**オブジェクト別 [#jc55bbb8]
--[[goods(貨物)>アドオン開発/datファイル記述リファレンス/goods(貨物)]]
--[[factory(産業)>アドオン開発/datファイル記述リファレンス/factory(産業)]]
--[[building(建築物)>アドオン開発/datファイル記述リファレンス/building(建築物)]]
--[[building(建築物)100.0以降専用>アドオン開発/datファイル記述リファレンス/building(建築物)2]]
--[[vehicle(乗り物)>アドオン開発/datファイル記述リファレンス/vehicle(乗り物)]]
--[[pedestrian(通行人)>アドオン開発/datファイル記述リファレンス/pedestrian(通行人)]]
--[[citycar(自動車)>アドオン開発/datファイル記述リファレンス/citycar(自動車)]]
--[[tree(木)>アドオン開発/datファイル記述リファレンス/tree(木)]]
--[[way(道)>アドオン開発/datファイル記述リファレンス/way(道)]]
--[[bridge(橋)>アドオン開発/datファイル記述リファレンス/bridge(橋)]]
--[[roadsign(道路標識)>アドオン開発/datファイル記述リファレンス/roadsign(道路標識)]]
--[[tunnel(トンネル)>アドオン開発/datファイル記述リファレンス/tunnel(トンネル)]]
--[[way-object(架線など)>アドオン開発/datファイル記述リファレンス/way-object]]
--[[crossing(踏切など)>アドオン開発/datファイル記述リファレンス/crossing(交差)]]
--[[ground_obj(静止物、移動物)>アドオン開発/datファイル記述リファレンス/ground_obj]]
--[[smoke(煙、炎)>アドオン開発/datファイル記述リファレンス/factory(産業)#z77fa3e9]]
--[[field(田畑)>アドオン開発/datファイル記述リファレンス/factory(産業)#d067e4d5]]
--[[misc(各種)>アドオン開発/datファイル記述リファレンス/misc(各種)]]

**Tips [#p03f4d56]
&aname(BackImage);
***画像の指定の仕方(建物) [#d0798557]
プログラマの方はよくご存知ですが、画像の指定は多次元配列(これはちょっと違うけど)になっています。それのシーケンス&br;
をちょっと書いてみようと思います。factoryのBackImageを例に考えてみましょう。&br;
&br;
 BackImage[0][0][0][0][0]=./syo-yu.0.1
 BackImage[0][1][0][0][0]=./syo-yu.0.0
 BackImage[0][0][1][0][0]=./syo-yu.0.1
 BackImage[0][1][1][0][0]=./syo-yu.0.0
&br;
それぞれ&br;
BackImage[向き][横][縦][高さ][アニメーション番号]=ファイル名.元画像の横.元画像の縦&br;
となっています。&br;
 (注)99.00 makeobj40以降積雪時の画像のために[季節]が最後に加わり、
  BackImage[向き][横][縦][高さ][アニメーション番号][季節]
  のように使えます。(オプション)
  [季節]は[0]が通常時、[1]が積雪時です
  積雪時の画像を使用しない場合は省略可で、今までどおりの書き方ができます。
  BackImage[向き][横][縦][高さ][アニメーション番号]
&br;
[向き]は0,1,2,3で、それぞれ南、東、北、西の各向きを表しています。&br;
[横][縦]はそれぞれチップの位置を表しています。具体的には&br;

&ref(flatmodel(2).png,nolink);

こんな感じに定義されます。この範囲内に建造物を書きましょう。高さを指定する事で上に伸ばす事も可能ですが、&br;
高さは64Pixelごとに上に伸びます。つまりこの箱を上に繋げると&br;

&ref(flatmodel_tall.png,nolink);

こうなります。気をつけて描きましょう。&br;

アニメーション番号を指定すると、その部位のチップがどんどん切り替わってoilrigやsinemaのようにアニメーションします。&br;
あんまりにも懲りすぎるとサイズがでかくなるので気をつけましょう。&br;

元画像の座標は、64Pixel刻みで設定します。0.1なら(0,64)から、2,3なら(128,196)になります。

ちなみに(有限会社`・ω・´)は絵を描くのにD-Pixedを使用してます。どうでもいいか。&br;

[補足資料]~
観光地・産業(dims=3,3,1)と(dims=3,2,2)の[横][縦]。dimsの[横][縦]は[東西のタイル数]・[南北のタイル数]の順だが、BackImageの[横][縦]は[南北の配列位置]・[東西の配列位置]の順。指定する順序が逆なのに注意。[向き]は1,2,4が基本(※例外として後述のような特殊な設定もある)。正方形のようにゲーム上でマップを回転させたとき4方向すべてが同じ形の場合は1で良い。長方形のように2パターンの形がある場合は最低2つの画像が必要なので2。4方向すべての形が異なる場合は4。
但し、不定形の場合でも次の説明と同じく、マップを回転させたとき全ての回転方向において下図中の[0][0]のタイルがないと正常なpakにならない。
&ref(fig01_edit2.png,nolink);~

観光地・産業 これもdims=3,3,1。88.10.3(makeobj36)以降で不定形な建物が可能で、建物内に道路などを通すことができる。ただし、BackImage[0][0][0][0][0]は必ず必要。~
&ref(fig02.png,nolink);~

車庫・ターミナル駅・港(dims=1,1,4)の[向き]と、バス停・鉄道駅(dims=1,1,2)の[向き]。%%駅ビルや市内建築物とはN,Sの方向が逆なのに注意。%%~
&ref(fig03.png,nolink);~

[99.09以降]
駅(dims=1,1,16)の[向き]。dims=1,1,8の時は[0]〜[7]が使われる。~
&ref(fig10.png,nolink);~
|奥|手前||
|[0]|[8]|南北 中間|
|[1]|[9]|東西 中間|
|[2]|[10]|南北 南端|
|[3]|[11]|東西 東端|
|[4]|[12]|南北 北端|
|[5]|[13]|東西 西端|
|[6]|[14]|南北 孤立|
|[7]|[15]|東西 孤立|

''市内建築物の向きは、自動設置の場合必ずしも正しく表示されません。下記の説明も間違っている可能性があります。''

市内建築物(dims=1,1,4)の[向き]。89.02(makeobj 38)以降で複数の向きが可能。向きは駅ビルと同じ。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。市内建築物の大きさはdims=1,1以外は不可。~
&ref(fig05.png,nolink);~
-----
市内建築物[110.0以降]
市内建築物は自動では、同じ建物が隣どうしには建設されないようになっています。市内建築物の大きさはdims=1,1以外は不可です。~

dims=1,1,1の場合は[0]のみが使用される~
dims=1,1,2の場合は[0][1]はそれぞれ南北、東西の道路に面する。~
&ref(city_2.png,nolink);~
dims=1,1,4の場合。[0][1][2][3]はそれぞれ南、東、北、西側の道路に面する。~
dims=1,1,8の場合。[4][5][6][7]はそれぞれ南東、北東、北西、南西の角地にのみ建設される。
&ref(city_4and8.png,nolink);~
-----
''ここからの駅ビルの説明は、simutrans 100.0までのバージョンでは正しく表示されますが、今後のバージョンでは正しく表示されなくなります。''[1]と[3]が逆になります。

駅ビル(dims=1,1,4)の[向き]。車庫などとはN,Sの方向が逆なのに注意。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。~
&ref(fig04.png,nolink);~

駅ビル(dims=2,1,4)の[向き][横][縦]。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。駅ビルの場合、dims=x,yがx<yであってはいけない。~
&ref(fig06.png,nolink);~
-----
''ここからの駅ビルの説明は、simutrans 101.0以降のバージョンで正しく表示されます。過去のバージョンでは正しく表示されません。''[1]と[3]が逆になります。

駅ビル(dims=1,1,4)の[向き]。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。~
&ref(ext01.png,nolink);~

駅ビル(dims=2,1,4)の[向き][横][縦]。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。駅ビルの場合、dims=x,yがx<yであってはいけない。~
&ref(ext02.png,nolink);~

-----
港(dims=1,2,4)の[向き][横][縦]。港は4つの向きが必要です。~
&ref(harbor01.png,nolink);~

港(dims=1,1,16)の[向き][横][縦]。(simutrans 101.0以降のバージョン、makeobj49以上でのみ使用可)~
&ref(harbor02.png,nolink);~
-----
[補足資料2] 2x2の建物を理解する~


下図のような2x2の土地に建物を作る場合を考えます~
&ref(cut1.png,nolink);~

1枚のタイルで表示できる範囲は下図の範囲です。これを4枚用意します~
&ref(cut2.png,nolink);~
&ref(cut3.png,nolink);~

これを、それぞれのタイルの上に置いてみると、下図のようになります~
&ref(cut4.png,nolink);~

これが2x2の土地に表示できる範囲です。高さが1の場合には建物はこの範囲内に描画する必要があります。~
もしこの範囲より上に構造物がはみ出す場合は、[高さ]の2層目を使う必要があります~

これをdatファイルで指定できるように、再び分割すると図のようになります~
&ref(cut5.png,nolink);~

重なり合った部分はあってもなくても構いませんが、ないほうが画像データは軽くなります。~
重なりを取り除いて分割すると、図のようになります~
&ref(cut6.png,nolink);~

※重要な注意点~
北西角の[0][0]に当たるタイルの画像(上図では黄緑色)に背景色の水色以外なにもない場合には、ゲームトラブルが起きます。1ドットの点でも構いませんから、必ず何かの画像を含めるようにしてください。

TileCitter を使えば簡単に画像の分割とdatファイルの作成をしてくれます。~

TileCutter (ベータ版)のダウンロード先
http://archive.forum.simutrans.com/topic/05013.0/index.html

&aname(symbol);
***産業のカラーシンボル表(99.08以前用) [#u4118df6]

99.09以降は、[[アドオン開発/画像#k1e850f5]] を参照。

|0 &color(#395e7c){■};|1 &color(#6084a7){■};|2 &color(#88abd3){■};|3 &color(#b0d2ff){■};|4 &color(#6b6b6b){■};|5 &color(#909090){■};|6 &color(#b5b5b5){■};|7 &color(#dbdbdb){■};|8 &color(#1b4796){■};|9 &color(#3066b9){■};|10 &color(#4585dc){■};|11 &color(#5aa5ff){■};|12 &color(#8f6f04){■};|13 &color(#b49d07){■};|14 &color(#d9cb0a){■};|15 &color(#fff90d){■};|
|16 &color(#6e2810){■};|17 &color(#9e3914){■};|18 &color(#ce4a18){■};|19 &color(#ff5b1c){■};|20 &color(#2c500e){■};|21 &color(#3f7a16){■};|22 &color(#53a41f){■};|23 &color(#67cf28){■};|24 &color(#006c62){■};|25 &color(#00988a){■};|26 &color(#00c4b2){■};|27 &color(#00f1db){■};|28 &color(#6b1f9d){■};|29 &color(#9437bc){■};|30 &color(#bd4fdb){■};|31 &color(#e767fb){■};|
|32 &color(#5673a2){■};|33 &color(#7e9af1){■};|34 &color(#ffff52){■};|35 &color(#ff321c){■};|36 &color(#00dc00){■};|37 &color(#6b6b6b){■};|38 &color(#9b9b9b){■};|39 &color(#b2b2b2){■};|40 &color(#c8c8c8){■};|41 &color(#dfdfdf){■};|42 &color(#e3e3ff){■};|43 &color(#c0b0d0){■};|44 &color(#4c4c4c){■};|45 &color(#000000){■};|46 &color(#000000){■};|47 &color(#000000){■};|
|48 &color(#000000){■};|49 &color(#000000){■};|50 &color(#000000){■};|51 &color(#000000){■};|52 &color(#000000){■};|53 &color(#000000){■};|54 &color(#000000){■};|55 &color(#000000){■};|56 &color(#a46874){■};|57 &color(#4c7c74){■};|58 &color(#281414){■};|59 &color(#a0b888){■};|60 &color(#5c3858){■};|61 &color(#f8f8f4){■};|62 &color(#3c605c){■};|63 &color(#ac9cc4){■};|
|64 &color(#7c548c){■};|65 &color(#e8ece0){■};|66 &color(#7c98b0){■};|67 &color(#b8a088){■};|68 &color(#48603c){■};|69 &color(#b0c8cc){■};|70 &color(#604878){■};|71 &color(#b07c88){■};|72 &color(#182824){■};|73 &color(#88b488){■};|74 &color(#5c403c){■};|75 &color(#e4d4d4){■};|76 &color(#548884){■};|77 &color(#bcb898){■};|78 &color(#c0b0d0){■};|79 &color(#302840){■};|
|80 &color(#985c84){■};|81 &color(#504068){■};|82 &color(#68a484){■};|83 &color(#cce0d8){■};|84 &color(#282418){■};|85 &color(#483050){■};|86 &color(#142814){■};|87 &color(#141428){■};|88 &color(#000000){■};|89 &color(#161616){■};|90 &color(#2d2d2d){■};|91 &color(#3c3c3c){■};|92 &color(#4c4c4c){■};|93 &color(#5d5d5d){■};|94 &color(#6e6e6e){■};|95 &color(#818181){■};|
|96 &color(#949494){■};|97 &color(#a7a7a7){■};|98 &color(#bababa){■};|99 &color(#cdcdcd){■};|100 &color(#e1e1e1){■};|101 &color(#f0f0f0){■};|102 &color(#ffffff){■};|103 &color(#6a1308){■};|104 &color(#922a0e){■};|105 &color(#ae7560){■};|106 &color(#dabdb3){■};|107 &color(#cd7762){■};|108 &color(#f9c0b5){■};|109 &color(#826250){■};|110 &color(#8f735e){■};|111 &color(#949462){■};|
|112 &color(#b39664){■};|113 &color(#d29866){■};|114 &color(#d6b96b){■};|115 &color(#fde1b9){■};|116 &color(#f9cc95){■};|117 &color(#874b31){■};|118 &color(#bd7d50){■};|119 &color(#f3af70){■};|120 &color(#f9dc71){■};|121 &color(#fdfd75){■};|122 &color(#bb4013){■};|123 &color(#e45418){■};|124 &color(#e85860){■};|125 &color(#684b0f){■};|126 &color(#874d11){■};|127 &color(#a27217){■};|
|128 &color(#a64f13){■};|129 &color(#c9721a){■};|130 &color(#d3901e){■};|131 &color(#e8751c){■};|132 &color(#ec9620){■};|133 &color(#6c6c13){■};|134 &color(#8b6e15){■};|135 &color(#8f8f1a){■};|136 &color(#ae911c){■};|137 &color(#d1b422){■};|138 &color(#d6d626){■};|139 &color(#f0b724){■};|140 &color(#f4d828){■};|141 &color(#70705c){■};|142 &color(#617a48){■};|143 &color(#759160){■};|
|144 &color(#b7b768){■};|145 &color(#98b566){■};|146 &color(#dedeb7){■};|147 &color(#c7e094){■};|148 &color(#ffffbe){■};|149 &color(#2f4723){■};|150 &color(#49490d){■};|151 &color(#b2b220){■};|152 &color(#bbd86d){■};|153 &color(#9cd66a){■};|154 &color(#bff971){■};|155 &color(#a0f76f){■};|156 &color(#4d6a11){■};|157 &color(#708d17){■};|158 &color(#93b01e){■};|159 &color(#74ae1c){■};|
|160 &color(#b7d324){■};|161 &color(#79cf20){■};|162 &color(#2a470b){■};|163 &color(#31600e){■};|164 &color(#3a8613){■};|165 &color(#518b15){■};|166 &color(#55ac19){■};|167 &color(#5acd1e){■};|168 &color(#7df024){■};|169 &color(#5eee22){■};|170 &color(#526e5a){■};|171 &color(#9cb9af){■};|172 &color(#7db7ad){■};|173 &color(#c0dcb5){■};|174 &color(#a1dab3){■};|175 &color(#c4fdb9){■};|
|176 &color(#2a5b3c){■};|177 &color(#568f5e){■};|178 &color(#79b364){■};|179 &color(#5ab062){■};|180 &color(#87c7a3){■};|181 &color(#82d8b1){■};|182 &color(#7dd468){■};|183 &color(#052c05){■};|184 &color(#0d590b){■};|185 &color(#0d4232){■};|186 &color(#146a55){■};|187 &color(#188b59){■};|188 &color(#3bae60){■};|189 &color(#1c90a2){■};|190 &color(#29d6f3){■};|191 &color(#199985){■};|
|192 &color(#20c0aa){■};|193 &color(#1cc919){■};|194 &color(#6a87a3){■};|195 &color(#9898ab){■};|196 &color(#7575a4){■};|197 &color(#94b0d0){■};|198 &color(#e3e3ff){■};|199 &color(#c4e1fe){■};|200 &color(#c0c0f9){■};|201 &color(#a5dffb){■};|202 &color(#2e4b53){■};|203 &color(#426078){■};|204 &color(#5a94a6){■};|205 &color(#5673a2){■};|206 &color(#52529e){■};|207 &color(#a1bef7){■};|
|208 &color(#9d9df3){■};|209 &color(#82bbf5){■};|210 &color(#3771a0){■};|211 &color(#486dc1){■};|212 &color(#578bd4){■};|213 &color(#7e9af1){■};|214 &color(#7979ed){■};|215 &color(#63b9f3){■};|216 &color(#5f98ef){■};|217 &color(#5a77ea){■};|218 &color(#141b66){■};|219 &color(#204d7f){■};|220 &color(#243290){■};|221 &color(#2c519a){■};|222 &color(#186e9e){■};|223 &color(#4096ed){■};|
|224 &color(#3c75e8){■};|225 &color(#3754e4){■};|226 &color(#501a12){■};|227 &color(#6c4f57){■};|228 &color(#715c73){■};|229 &color(#a68aa7){■};|230 &color(#b79aad){■};|231 &color(#dcb8dc){■};|232 &color(#ffe5ff){■};|233 &color(#dfc2fc){■};|234 &color(#462d2e){■};|235 &color(#8b525a){■};|236 &color(#9477a6){■};|237 &color(#b379a8){■};|238 &color(#d69caf){■};|239 &color(#bc9ff5){■};|
|240 &color(#dba1f7){■};|241 &color(#f59fb1){■};|242 &color(#7154a0){■};|243 &color(#9056a2){■};|244 &color(#af58a4){■};|245 &color(#aa545c){■};|246 &color(#c35e9f){■};|247 &color(#c9565e){■};|248 &color(#d680f3){■};|249 &color(#641442){■};|250 &color(#640f8c){■};|251 &color(#943870){■};|252 &color(#902aad){■};|253 &color(#bc46cf){■};|254 &color(#d25fef){■};|255 &color(#e7ffff){■};|

お好きなのを選んで自作産業のカラーにしてください。重複は一切問題ありません。

**コメント [#k5c0a662]
なんかびみょんです。本当に必要なのかどうか。自分がしたように公式のdat参考にしたほうが早い気がする…
-超GJ!! 英語読めるけど、脳の翻訳処理速度が激しく遅いのでとても助かります -- &color(#000,#FFFACC){名無しさん}; SIZE(10){2004-03-28 (日) 00:08:24}
-早速のご指導。ありがとうございます。無駄になる方が多い魚の工場作る努力してみます。128版での改造は、苦心してみましたが、全て空飛んでます。 --  SIZE(10){2004-03-28 (日) 16:05:01}
-追伸、64版は工場以外、改造できてます。空は飛んでません。これで、既に電化済なのに、電化errorでなくて済ます。128で牛丼してみます。 --  SIZE(10){2004-03-28 (日) 16:27:45}
-本当にお疲れ様です!私みたいなアホでも理解できる素晴らしいものを有難う御座いました。 -- &color(#000,#FFFACC){160}; SIZE(10){2004-03-29 (月) 17:55:13}
-通行人追加しました。 -- &color(#000,#FFFACC){366}; SIZE(10){2004-03-31 (水) 23:42:06}
-道を追加。ところで、私雑な人間だから気になったらどんどん修正してね。 -- &color(#000,#FFFACC){366}; SIZE(10){2004-04-06 (火) 22:27:07}
-道の画像を追加。あとPNを 366 から spirit に変更しました。 -- &color(#000,#FFFACC){spirit}; SIZE(10){2004-04-07 (水) 22:14:53}
-学校のdatファイルを作った物の、「2,3」で指定したにもかかわらず。反対の向きの病院が現れるのはなぜ? -- &color(#000,#FFFACC){939}; SIZE(10){2004-04-28 (水) 18:46:10}
-初めて書かせてもらいます。車が無かったので、載せました。ほとんど通行人と同じですけど・・・。 -- &color(#000,#FFFACC){ISHIDA}; SIZE(10){2004-12-31 (金) 21:45:44}
-どうせなので、木も載せました。 -- &color(#000,#FFFACC){ISHIDA}; SIZE(10){2004-12-31 (金) 21:56:38}
-Manual --  SIZE(10){2005-02-13 (日) 21:24:11}
-乗り物の欄のwaytypeに、トラム用線路を追加しました。 -- &color(#000,#FFFACC){南福岡車輌}; SIZE(10){2005-07-17 (日) 03:47:07}
- 建築物を更新しました -- &color(#000,#FFFACC){EF-85}; &new{2005-12-15 (木) 19:03:35};
- flatmodel.pngの番号が違っているようだったので差し替えさせていただきました -- &color(#000,#FFFACC){Haru}; &new{2006-12-04 (月) 22:13:15};
- 高架線路or高架道路と地上の接続する記述がわかりません。 --  &new{2007-12-16 (日) 08:45:42};
- ↑自己解決しました。橋梁でできました。 --  &new{2007-12-16 (日) 10:13:38};
- TileCutter画像分割ソフトは現在公開されていないのでしょうか? -- &color(#000,#FFFACC){santa}; &new{2008-08-12 (火) 18:54:15};
-- リンク先修正しました。

#comment