dmd ver0.88。ただのバグフィックスだと思ってDIDEが対応するの待とうと思ってたんだけど、C形式のキャストが非推奨になったそうで。入れてコンパイルしてみたら結構な数のエラーが・・・これ全部にcastをつければいいんだろうか?

SDL。マウスのホイール使おうと思ったんだけど、対応してないっぽい。SDL自体は1.2.5辺りからマウスホイールをサポートしてるけど、今使ってるSDLのDポーティングはそれより古い物みたいだ。

自分で使うOpenGL拡張の関数まとめて初期化したいんだけどaliasされてるCの関数ポインタ型って使っていいんだろうか…C形式のキャストと同じように一応functionって構文が用意されてるわけだし・・・

http://www.kmonos.net/alang/d/changelog.html のver0.80の所より
f(x)(y) が、fを()をオーバーロードしたクラスのインスタンスと解釈するのではなく、 xを引数型y・返値型fの関数の宣言と解釈していたバグを修正。 しかしまだ、f(*p)(y) に関しては問題が残っています。 解決策はおそらく、C 方式の関数ポインタ宣言構文を廃止することでしょう。

とのことなのでやっぱfunction使っといたほうがいいのかなぁ・・・


追記:
下で書かれてるshinichiro_hさんのSDLポーティングを使わせていただきました。とりあえずホイールの部分が動くことを確認。ついでにこの場でD言語関係の,情報,ライブラリ,ポーティング等を公開されている方々に感謝を。


追記その2:
とりあえず使いそうなgl拡張の初期化。
GLEW http://glew.sourceforge.net/
とかGLsdk http://oss.sgi.com/projects/ogl-sample/sdk.html
辺りを使ってみようと思ってたけど見た感じ、作業が面倒そう+外部依存が増えるのはいや。ってことで自力で初期化をすることに。上記の関数ポインタfunction構文、関数の引数が長さまちまちで関数名がきれいに揃わない所が微妙。C形式の方は、ほぼ一定の長さで#defineされて、それぞれの関数ポインタ型が作られてるから見やすいんだけど。