2014年12月30日火曜日

Simutransでアドオン差異が出る。

どうもsiba018です。
前回鯖にSimutransを入れて、試しに遊ぶかと思い、いつも使ってるpakファイルを送信して実行してみました。すると


デデドン(絶望)
思いつく原因は何個かありまして、
  1. クライアント側が車庫フィルタパッチを当てたr7373改
  2. 実はpak128のどっかがおかしい
  3. 文字コードがすっ飛んでて変なファイル読んでる
  4. 鯖版をマルチスレッドでビルドした
とかですね。
まあ結論から言うと、公式からr7373(120.0)を落としてきてクライアントとして実行してみたら普通に出来ました。チーン。

で、debug -3にしてデバッグしてみたら、こんな事になってました。

//窓蔵   Cement -> sha1 = 35A0B10DFA7B045B83D0370E580B1CFA2C0ACB21
//鯖    Cement -> sha1 = DFB35A2CABC05A305B539D5094E9B7FCC96C502D

見事にハッシュ値が違う。
原因として思いついたのが、zlibとかbzlibのバージョンが古いのではないか。ということです。
現状クライアントのビルドに使ってるbz2のライブラリとかは
開発/ビルド方法 - Simutrans日本語化・解説
ここに載ってる
How to compile Simutrans (&Makeobj) on Windows with MSVC
に上がってるやつを使ってます。これ、確実に2009年にビルドされたものですね・・・。

ちなみに、鯖に入ってるbzip2とzlibのバージョンは、
 zlib.x86_64         1.2.3-29.el6
bzip2.x86_64        1.0.5-7.el6_0
でした。(yum list installedで確認)

ということは、これと同等、若しくはそれ以上のバージョンでビルドした方が良さそうですね。

How to~に載ってるbzlibは1.0.5、zlibは
Zlib for Windows
最新は1.2.3、最終更新日は2007年。あれっ。

さて困りました。細かいバージョン等もあるとは思うんですが、cygwin辺りでいい感じにビルドする必要があるんですかね?
公式のビルド環境が知りたさすぎる・・・。mingwでビルドしてみたりしてみると良いんですかね。ウーン。


(2014/12/31 20:39 追記)

MinGWで頑張ってビルドしてるんですが、うまく行かなくて真顔。

(2014/12/31 22:48追記)
r7373→r7442にしたら大丈夫だった。大晦日になにやってんだろう・・・

2014年12月28日日曜日

CentOSにSimutrans120.0をビルド&インストール

どうもsiba018です。前の記事見なおしたらめっちゃ見にくかったので、新しく書き直す感じです。


環境はCentOS6の64bit版。今回もさくらVPSです。
ビルド対象は120.0のリリース版(r7373)です。

まず、svn使ってSimutransのソースコードを落としてきます。

svn --username anon co -r 7373 svn://tron.yamagi.org/simutrans


次に落としてきたソースのtrunkに入っているconfig.templateをconfig.defaultにリネームするかコピーして、適当なエディタで開き、以下のコメントアウトを解除します。

BACKEND = posix
COLOUR_DEPTH = 0
OSTYPE = linux
DEBUG = 3(一応)
OPTMISE = 1
WITH_RIVISION = 1

で、今回は試しに
 MULTI_THREAD = 1
もやってみます。

次に、ビルドする為に必要なライブラリとか入れます。
・zlib
sudo yum install zlib-devel

・bzlib
sudo yum install bzip2-devel

で、make all でビルド出来るはずです。
出来たらtrunkに入っているget_lang_files.shを実行しておきます。後はtrunkの中で完結するハズなので、それで終わりって感じ。

すごいスッキリした。おわり

2014年12月25日木曜日

タイヤゲージを買った

どうも。siba018です。メリーファッキンクリスマス。
タイトルの通り、カブ用にタイヤゲージを買いました。
GSにあるから良いじゃんなんて話もありますが、GSにあったエアーコンプレッサーだとリトルカブのホイールに引っかかり、甘く入って空気が抜けるだけ、という悲しいことがあったからです。お値段も手頃ですしね。
あともう一つ理由があって、カブ買ってから空気入れないで2年弱乗ってた結果、後輪がパンクしまして、こりゃいかんといった感じで買いました。
買ったのはこれ

誤差は10kPaらしいですが、中々イケてると思います。空気抜く用のボタンも用意されてるんで、入れすぎても安心。
皆もタイヤの空気圧はコマメにチェックしような!おわり


/*そういえば後輪の修理頼んだ時、前輪にも空気入れてもらったんですが、その後スローパンクチャー起こして死んだという。結局タイヤレバーとか買って自分で直した。*/