user side はこちら。
たぶん今をときめく D 言語で書かれています。
拙作 d_cpp や それを用いて、 libBulletML、 議会制弾幕回避機関 が動いているサンプルになるかと思います。
Windows で D の部分をコンパイルするには、 D コンパイラ dmd、DigitalMars の C コンパイラ sc、 DigitalMars もしくは BorlandC++ 付属の (つまるところ OMF を扱える) implib、 GNU make が必要です。 GNU make は私が cygwin でコンパイルするために使っているものですが、 適当に Makefile.win32 を書きかえれば他の環境でもなんとかなるでしょう。 また import library であるところの SDL.lib と opengl32.lib は DedicateD から持ってきて下さい。 user32.lib や kernel32.lib は dmc 付属のもの、 phobos.lib は dmd 付属のものをお使い下さい。
一方 bulletml や cpu ディレクトリの下は BorlandC++ でコンパイルします。 本当は DigitalMars のものでやりたかったのですが、 C++ の対応がいまひとつだったように見受けられたので、 BorlandC++ でコンパイルし、dll を作り、 その import library を作って本体とリンクします。 この場合のビルドは bulletml/tinyxml, bulletml, cpu の 三つのディレクトリで BorlandC++ 付属の make を Makefile.bcc32 を使って起動すれば OK です。
Linux では恐らく随分簡単で、 gcc と dmd が入ってれば後は make 一発じゃないかと思います。
さらにだらだらと説明します。
cpu.d, bulletml.d は perl で生成されています。 perl があれば cpu/cpu_d.cpp, bulletml/bulletml_d.cpp から d_cpp を用いて生成できると思います。 Linux の Makefile を見ればいくらかわかるかと。
d_cpp は def ファイルも吐くと便利だと思いました。
opengl.d は linux のことを考えてくれてなかったので書きかえてます。
mesaglu.d は glu32.lib が動くまでの間に合わせです。 Mesa を使ったため MIT ライセンスに従って下さい。
libBulletML は例のごとく修正 BSD ライセンスです。
残りは GPL2 です。 ですが、winmain.d は DigitalMars のサイトを全面的に参考にしてますし、 こいつはご自由にご利用下さい。
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。