Proce55dl

Proce55dl(http://takamatsu.cool.ne.jp/tattyu/p55/Proce55dl.lzh)


========================================================================
Proce55dl
2005/01/08 作成
========================================================================


【Proce55dlとは】
Proce55ing(http://proce55ing.org/)で作成したソースを容易にC++/SDL(http://www.libsdl.org/)/OpenGLの環境下へ移植する為のフレームワークです。


【移植方法】
細かいの書く時間が無いので適当に説明します。
SDLのインストール。
・AppletTest.hにProce55ingのソースをコピーしてビルドしてください。
・クラスの宣言方法などはAppletTest.hにかかれている方法で行うと移植しやすくなると思います。
・dataフォルダの中身はVC.NET等でデバッグする場合はvcprojと同じフォルダに置くと読み込めると思います。
・実行時は同じフォルダにないとダメです。
・FontファイルはProce55ingのfontsから持ってきてください。
 .vlw.gzという拡張子になっているので解凍したvlwファイルを使うようにしてください。


【問題点】
・beginPixels/endPixelsすると遅い
・backgroundしない時のFlip処理が環境によって怪しい
・beginShapeした時や、box関数を呼んだときに線を描いてない
・メッセージの取りこぼしがあるかも
・なんとなくタイマーの精度がよくないような(期待したframerateになっていない気がする.)
・今の所bmp/wavしか対応していない.
・圧縮されたフォントが読めない
・フォントのY座標がProce55ingと違うような
・ウインドウのタイトルバーがしょぼい。せめてP55のようなアイコンを出したい
・コンソールが出っ放し
Java寄りにソースが書かれていると移植がめんどくさい
・音のミキシングをすると音が遅くなっていく(謎)
・2Dラインと3Dラインの描画順番がproce55ingと違う


【作成環境】
Windows2000,VC.NET2003
WindowsXP Professional,VC.NET


【免責事項】
何が起こっても知らないけど自由に改変公開してよいです。なにか気になる事があったらメールして下さい。
未実装の関数を実装してくれたらメールもらえればマージしたりしなかったりします。
ただ、なるべく必要最低限のライブラリしか使用しないようにしてますので、
拡張されたメディア(ogg,mp3,jpeg,png等)が使いたい場合はSDL_MixerやSDL_Image等を各自で使用するようにして下さい。
おそらく拡張されたメディアに関してはマージしないかもしれないです。


【謝辞】
・RallX(http://www.asahi-net.or.jp/~cs8k-cyu/java/rallx/)
 作者ABA氏(http://www.asahi-net.or.jp/~cs8k-cyu/)


実装済み関数】
【未実装関数】
【未移植関数】


【きっかけ】
Proce55ingで作っていたゲームをコミケで売ろうと思っていたのですが、パッケージにする時に
・ライセンスがよく分からない
Javaアプレットを売るのはどうなのよ
・どの環境でも動くのはいいんだけど重い
・Soniaをインストールさせるのめんどくさい


ということで、パッケージ化しやすいexeにしたいなとなって作り始めました。
大分Proce55ingで作ってしまったのと、独自のフレームワークを持ってなかったので、
ちょっと直すだけで移植できると良いなと思ってProce55ingの関数を移植してたら何時の間にか目的と手段が入れ替わってたという良くある話です。


でもJavaC++の違いを完全に吸収するのは不可能なので、ある程度の手作業が必要になってしまうと思います。
それって初心者にとって嫌な感じですが、これ触る人はC++コンパイラ持っててJavaもある程度触れる人だろうから問題ないかなと思います。
そんだけです。(何それ)


【更新情報】
Ver 0.1.1 2005/01/09
・2のn乗でないテクスチャを処理できるように変更
・テクスチャのゴミが出無いようにする
・timer処理を変更(SDL_Delayしてるので意味無いかも)
・日付取得関数をCの関数に変更
・screenX,screenY,screenZを実装(screenYがおかしい)


Ver 0.1.0 2005/01/08 とりあえず公開