過去の開発日誌

2007年

8月26日

すとーむさんからのバグ報告「reset load 命令」の追記を元に、CD audio の振り替え演奏で OGG ファイルを 使用する際に、ループ演奏ができなくなったバグ(20070823 で発生)を修正 しました。

すとーむさんからのバグ報告「 スクリーンショット」を元に、PDA を定義してコンパイルし、かつ --disable-rescale を指定して ONScripter を実行した場合に、解像度が変換 されずにスクリーンショットの画像ファイルが保存されるバグを修正しました。

lsp2, lsph2, csp2, msp2, amsp2, allsp2resume, allsp2hide 命令を実装 しました。

20070826a

拡張スプライトの表示順が間違っていたバグを修正しました。

8月23日

すとーむさんからのバグ報告「reset load 命令」を元に、systemcall reset, systemcall load, reset, definereset, loadgame, definereset 命令の際に、dwave で再生中の音楽が 停止しないバグを修正しました。以前のバージョンの本家では停止しないよう になっていたはずで、ONScripter でもわざとそうしていたのですが、いつの まにか本家では停止するようになったようです。

20070822 で、textgosub 使用中に1ページ表示(o キー)が機能しなくなっ ていたため、修正しました。

し〜くるさんのパッチを取り入れ、streaming OGG と MP3 のループ再生に おいて、繰り返しの度にファイルを読み込むのではなく、メモリ中のデータを 再利用するようにしました。

8月22日

tmkkさんからのバグ報告「 textgosubを使用している時のスクリプト解釈誤り」を参考に、textgosub が指定されているときに、表示文を正しく解釈されないことがあるバグを修正 しました。textgosub のラベルに飛ぶ際には、clickstr_state を設定しない ようにしましたが、副作用があるかしれません。

sa_chi_ho さんからのバグ報告「 『drawbg2』の不具合?」を元に、AnimationInfo::blendOnSurface2() に おいて、アフィン変換行列の逆行列を整数演算で求める際にオーバーフローを 起こして正しく計算できない場合があるバグを修正しました。精度を若干犠牲 にしています。

return 命令で、スクリプトの書き方によっては機能しないことがあるバグ を修正しました。

8月21日

3月に開発マシンのHDDが飛んでしまい、それ以来忙しいこともあって ONScripter から遠ざかっていたのですが、色々パッチも溜まっているようで すので久々に更新しました。

まず、zaurus 用の開発環境を作り直しました。面倒かなと思っていたので すが、SDL on Zaurus (SL-5500, SL-A300, SL-C700) 開発環境 が我ながら非常にまとまっており、作業はかなり楽で した。ついでにライブラリのマイナーバージョンアップデート+一部パッチの 作り直し+SDL_image の PNG への対応などを行いました。libqte-2.3.2 に static link されている PNG library を SDL_image から使う方法が分からず、 結局 libz.so と libpng12.so を onscripter-lib に含めてしまいました。

tmkkさんからのパッチを参考に、dwavestop と chvol 命令において、54 以上のチャンネル番号が指定されたときに落ちることがあるバグを修正しまし た。

tmkkさんからのパッチを取り入れ、MacOSX 環境において、 CoreFoundation(iconv) で変換できない ShiftJIS 文字列のファイル名を指定 したときに落ちる問題を修正しました。

rerofumiさんのパッチを取り入れ、Playstation3 のパッドに対応しました。 ただし、当方では動作未確認です。

haeleth さんのパッチを取り入れ、メジャーバージョンが1の古い形式の セーブファイルを読み込む際に、縦書きモードでテキストバッファの文字数の 計算が間違っていたバグを修正しました。

haeleth さんのパッチを取り入れ、getparam コマンドにおいて、呼び出し 元の文字変数の変数番号を取得する s% 表記を正しく解釈できないバグを修正 しました。単純ミスで f% を想定していました。

haeleth さんのパッチを取り入れ、--help の出力のスペルミスを修正しま した。

スクリプト最上段の ;value コマンドで、;value と数字の間に空白がある 場合にコマンドが無視される問題を解決しました。

20070821a

アーカイブのインデックス作成の際に、1ファイルあたり 272 bytes 使用 していたのですが、アーカイブの中のファイル数が多いとメモリ使用量がばか にならないようです。ファイル名に固定で 256 bytes 割り当てていたことが 主要因だったので、インデックスを2回スキャンして、1回目でファイル名に 必要な総メモリ量を計算し、メモリをまとめて確保した後に、2回目でファイ ル名を格納する方式に変更しました。搭載メモリ量の少ない Zaurus や PSP では、ゲームによっては大きな効果があるかもしれません。

2月6日

すとーむさんからのバグ報告「for 文のバグ」を元に、for %0=1 to 0 など本来ループの中を1回も実行しな い場合でも、必ず1回はループの中を実行していたバグを修正しました。

2月5日

当WEBページを開設してから早5年が過ぎました。当初は短期間の現実 逃避プロジェクトだったのですが、おかげさまで予想外に色々な環境で使って いただき、ありがたいことに今でも多くの方に使用していただいております。 最近ではあまりONScripterに時間を割くことができず、特に本家の新コマンド に追従できていませんが、ぼちぼち続けて行こうとは思っています。

すとーむさんからのパッチ「 for PSP のパッチ」ですが、こちらで手を入れた部分にまだ単純な誤りが あり、修正しました。この部分については、当方ではコンパイルしてチェック することが難しいため、気をつけてはいるのですがたまにこういったミスをし てしまいます。ご容赦ください。

すとーむさんからのご要望「 透過PNG」への対応として、20070203ではタグの透過形式を c (コピー) としたのですが、その後すとーむさんよりnscrpng.spiとの互換 性の問題もあり透過形式を a(アルファブレンド)にしてほしいとのご要望があっ たため、そのように変更しました。透過形式を a にすると、透過PNGのよ うにアルファチャンネルを持っている場合にはそれを使い、持っていない場合 には画像の右半分をアルファ値として使用します。たしかにこちらの方が分か りやすい気がします。し〜くるさんの元々のパッチも実はそうなっていました。

2月3日

すとーむさんからのパッチ「 for PSP のパッチ」に手を入れた上で反映させ 20070202 をリリースしま したが、こちらで手を入れた部分に間違いがありました。申し訳ありません。 すとーむさんからのご指摘を元に、その個所はいただいた元々のパッチをほぼ そのまま取り入れさせていただきました。

すとーむさんからのご要望「 透過PNG」を元に、以前し〜くるさんが作成された透過PNGパッチを 参考にして、フルカラーの透過PNGに対応しました。ただし、パレットカラー のPNGの透過色には未対応です。また、タグの透過形式は c(コピー)を指定 してください。a(アルファブレンド)は画像の右半分に白黒でアルファ値を指 定することになっているので、透過PNGの場合でもアルファチャンネルを無 視して右半分の画像をアルファ値に使用します。

2月2日

すとーむさんからのバグ報告「 命令文のバグ報告2」を参考に、ラベルを正常に読み込めないバグを修正 しました。内部的には、ラベルを ScriptHandler::readStr() で読むように変 更しました。

すとーむさんからのバグ報告「 命令文のバグ報告2」を参考に、print コマンドでマスク画像を指定する場合に、2回目以降にマスク画像が反映されないバグを修正しました。

すとーむさんからのパッチ「 for PSP のパッチ」を参考に、PSP でスリープモードから復帰するときに テキストが消えてしまうバグを修正しました。その他にも HOME ボタンでゲー ムを終了するときに必要な関数が足りないバグを修正しました。ただし、当方 では未確認です。

hiyuhさんからのパッチ「 mixing size_t and ogg_int64_t」を取り入れ、64bit Linux 環境でコンパイル刷る際に warning が出る問題に対処しました。