2010年7月31日土曜日

HSP3.21a2

HSP3.21a2バージョンが公開されています。
ちょっと前にふれたdialog命令を発効しただけで落ちる(かもしれない)という問題のfixみたいです。
この問題はどうもソーススクリプトの特定の容量に依存している気がして(本当のところ不明ですが・・・)、私の環境でも同じような内容であったとしても落ちたり、落ちなかったりします。

私が落ちた時はコンパイル後、objが242KB(hsptmpが179KB)の時でしたがこの容量を超える前と、超えた後では発生してません。
かなり微妙な問題で怖いですねえ・・・
あれからずっと発生していないのが救いです。

最近だとランタイムの方がかなりコード数が多くなってきているんですが、こちらもどこかのverのタイミングでプログラムにエラーが発生した際、HSPランタイム(HSP3.exe)がフリーズして強制終了しか手がない状態です。(onexit 有り、無しともに)
私のコードが悪いのかもしれませんがw、通常フリーズはありえませんし、もしかしたらソース容量が大きい時(か、メモリを大量に確保している時とかAPIを呼び出したりしている時とか)どこかでHSP3.exeがメモリリークか何か発生していたりするのかもしれません。

こんな状態ですが今はエラーさえ出なければ安定して動作してます。
プログラム的にもほとんどクリーンアップ出来たので、もう少ししたらエディター、ランタイムにSLG機能を追加していけそうです。
そろそろSLGの実装を考えて纏めていかないと。