Site hosted by Angelfire.com: Build your free website today!

ONScripter 開発日誌

Since: Feb. 6, 2002
Last updated: Sep. 28, 2003

過去の開発日誌

2003年

9月28日

ns3 コマンドを実装。nsaconv, nsadec にも -ns3 オプションを追加。

exbtn の移動指定(M)において、移動前の場所を再描画していなかったバグを修正。

解像度変換ルーチンの平滑化の幅を圧縮比によって可変にし、単純平均を 取ることにする。

Ogg Vorbis を使用しない場合にコンパイルが通らないバグを修正。

9月2日

tripodiswebとのサービス統合に伴 い、メインページの URL がhttp://ogapee.at.infoseek.co.jp/onscripter.html に変更になります。旧ページも12月までは新ページにフォワードされるそう ですが、リンクを張られている方は変更をお願いします。

wave 系命令における Ogg Vorbis 形式の演奏に対応。最初に全部デコー ドしてから演奏します。SDL_mixer でも Ogg Vorbis 形式に対応していますが、 これだとよく BGM に使用される MP3 形式と同時に演奏できません。そのため、 SDL_mixer を使わず自前でデコードし、wave 形式に変換してから SDL_mixer の channel に渡すようにしました。

nsaconv, sarconv において、jpeg の再圧縮時に、元の画像が小さいと再 圧縮に失敗することがある場合に対処。再圧縮後のサイズを知る方法が分から ないので、0x400 bytes 余計にバッファを確保するようにしました。

整数演算しか使用しない Ogg Vorbis Codectremor_cvs_snapshot.tgz があったので、ザウルスではこちらを使用することにしました。ザウルス以外 でも、これをインストールして Makefile を一部変更すればこちらを使用でき ます。また、onscripter-lib にこれを追加しました。

savescreenshot, savescreenshot2 を実装。ただし、両者の違いが分から なかったので、実装は同じです。なお、現在書出しは BMP フォーマットのみ 対応です。これにともない、圧縮アーカイブを使い --disable-rescale を指 定していても、ファイルがアーカイブ内に無い場合には、画像ファイルを読み 込み時に解像度変換する仕様にしました。

exbtn の移動指定(M)に対応。

ザウルスパッケージで、VGA 表示で圧縮アーカイブを使う場合のアイコン を追加。詳しくはONScripter を Qtopia 環境で動作させるための作業を参照してください。

8月30日

以前公開したザウルス用 library パッケージ onscripter-lib_20030816_arm.ipk, onscripter-lib_20030829_arm.ipk とも に、20030704 時点の SDL をパッケージングしていました。さらに、T-nagi さんから御報告のあった A300 での不具合に対する修正も間違っていました。 今回の onscripter-lib_20030830_arm.ipk で、T-nagi さんから不具合が修正 されたという御報告を頂いているので、今度こそ直っているはずです。

8月29日

スプライトの描画の際に、指定されたセル番号が最大セル数内に収まるよ うにクリップされていなかったバグを修正。

exbtn の音指定(S)に対応。

blt コマンドで、画像サイズが変わる場合の変換ルーチンのバグを修正。 セグメンテーションフォルトで落ちる場合がありました。

getinsert, getzxc を実装。

文字列スプライトで、アンチエイリアスに関する指定に対応。ただし解釈 のみで反映されません。

getscreenshot を実装。

gettext で改行を含めないように修正。

ザウルス用ライブラリの onscripter-lib_20030816_arm.ipk で SL-A300 の不具合に対処したつもりでいたのですが、どうやら改善されていなかったよ うです。というわけで、更新。ただし未検証。

8月24日

mousePressEvent か keyPressEvent が来たときに、automode 中なら automode を終了するように変更。

ボタン命令に関して、ボタンが重なっている場合に後から定義されたボタ ンが上下判定で上に来るように修正。

20030824a

ボタン構造体のリンクリストの順序を反転したため、ショートカットキー でのボタン移動順も反転してしまったバグを修正。

8月23日

αβεさんからのバグ報告を元に、movl コマンドで配列変数に正常に値を 格納できないバグを修正。

回想モード時に、背景が適切に描画されないバグを修正。

getpage コマンドを実装。

mode_ext, automode, automode_time, menu_automode, isskip コマンドを実装。

btntime2 を正規に実装。

8月19日

AVIWrapper があまりにもひどかったので修正。だいぶ再生がましになりま したが、たまに Segmentation fault で落ちることがあります(特に MPEG1 の再生)。

bar コマンドの画像生成処理に関するバグを修正。

isfull コマンドを実装。

value 宣言に対応。value 宣言付きのゲームスクリプトに関して、これよ り前のバージョンの ONScripter で保存したファイルは、これ以後の ONScripter では正常に読み込めませんのでご注意下さい。その場合は、 ONScripter が書き出したファイルを全部消去してください。最も、現時点で は value 宣言付きのゲームはほとんどないと思いますが。

ラベルファイルの読み込みを、define 節に飛ぶ前に行うように修正。

8月16日

T-nagi さんより、SL-A300 においてカーソルキーと画面上でのカーソル の動きが反対だという報告をいただきましたので、Zaurus 用の SDL library 修正

上記のライブラリパッケージを生成するためのスクリプトをよく見たら、 なんと古い SDL_mixer, SDL_image, SDL_ttf をパッケージングするようになっ ていました。というわけで、最新のライブラリを入れるように修正。

Avifile for Linux on ARM をなんとかクロスコンパイルし、libavifile-0.7_0.7-0.7.38_arm.ipk を作成。で、ONScripter を試そうと思ったら、AVIWrapper は YUV Overlay を使用するように作ったので、Zaurus 上では表示されませんでした……。YUV Overlay が使えない場合は、普通に描画するようにそのうち修正するかも。結 局、上のパッケージは動作確認していないので、そもそも動くのか、どの程度 の性能が出るのかは全く不明です。YUV Overlay は、hardware acceleration が対応していない場合でも動作するようです。表示されないの は、ARM 用の Codec が全くないのが原因のようです。というわけで、avifile を使って Zaurus 上で再生するのはあきらめました。他の方法として単純に思 いつくのは、MPlayer を子プロセスで起動して再生することですが、これでは どうも面白くないのでどうしたものか。

8月15日

スプライトのセル数が1個の場合でも、spbtn, exbtn においてマウスが ボタンと重なったときに2個目のセルを前提に処理をしていたバグを修正。 exbtn において描画がおかしくなる場合がありました。

音楽のループ演奏ができなくなっていたバグを修正。

lookbackbutton が効かなくなっていたバグを修正。

avifile library を利 用して avi コマンドを実装。avifile-0.7-0.7.38 で動作確認しております。 avifile library が利用できない環境にいる方は、Makefile.Linux を見て、 USE_AVIFILE を定義せず、かつ AVIWrapper.o をリンクしないようにしてコン パイルしてください。avifile に関しては、Web を探してもサンプルプログラ ムが見つからず、SDL から動画が流せるようになるまで手間取りました。単純 な wrapper class である AVIWrapper を作り、ONScripter から利用すると共 に、これを使った単純な player (simple_aviplay)を同梱しました。SDL 上で 非常に簡単に avi を再生できるので、参考にどうぞ。zaurus でも動くかと思 いましたが、そもそも avifile の configure が cross compile 環境だとす んなり通らないので、こちらはとりあえず保留。Linux with X 上では、画像 と音が同期して正常に表示されるものの、avifile 謹製の aviplay と比較し て若干カクカクするので、AVIWrapper にはまだ最適化の余地がありそうです。

8月11日

exec_dll, getret, splitstring を暫定実装。dll を実行するわけではな く、用意した dll.txt に記述してある固定値を読み込みセットします。 registry.txt と同じ要領です。使用例は こ こを参照してください。

8月10日

ラベルと同じ行にコマンドおよびコメントがあった場合に、そのラベルが 指す区間の下から一番目と2番目の行が解釈されないバグを修正。

exbtn において、指定スプライトが制御文字列内でも使用されている場合 に表示がおかしくなるバグを修正。

maxkaisoupage を実装。

回想用バッファで、確保領域外アクセスにより落ちることがあるバグを修 正。

20030810a

Filelog の取り扱いに関して、アーカイブ情報に含める昔の方式と独立に ScirptHandler に持たせる現在の方式とがごっちゃになっており挙動がおかし かったバグを修正。

btnwait 時に、初期状態で既にカーソルがボタン上にあるときに、ボタン が正しく表示されないバグを修正。

8月7日セーブファイルのバージョンアップ

セーブファイルのバージョンを上げました。この ONScripter で生成した セーブファイルは、以前のバージョンの ONScripter では読み込めません。逆 はできます。

envdata ファイルの読み書きに対応。

標準で global variables を読み書きするファイル名を gloval.sav に変 更。これが見当たらない場合は、global.sav を探しに行きます。

s1100089 さんの patch を参考に、-v オプション指定時にバージョンを表 示するように修正。

えぼしさんからのバグ報告を元に、jpeg library 用のコールバック関数の 戻値を修正。

NScrflog.dat において、アーカイブ内の順序に関係なく、画像のみ現れた 順に記録するようにし、また filelog コマンド時に読み込みを行うように変 更。

setwindow で、背景に画像が指定された場合に、画像の幅と高さを正しく 扱っていなかったバグを修正。

defaultfont を仮実装。実際のフォントには反映されません。

マウスが移動する度に現在のマウス座標を格納する変数を更新するように 修正。また、btndown 時に、マウス押下が正しく扱われていなかったバグを修 正。

非可視状態のスプライトボタンが btnwait 時に表示されないバグを修正。

s1100089 さんからのバグ報告を元に、スクロール効果が正常に表示されな いバグを修正。

回想時のマウスホイール操作に対応。

その他内部状態に関する修正多数。

7月4日

sarconv, nsaconv 時に、縮小された画像の四隅のピクセル値が、縮小前の 四隅の値を保つように修正。透過指定がうまく反映されない場合があったため。

阿川さんにお送りしたパッチを一部修正の上取り込んでいただいたので、 それに基づいて zaurus 版 のライブラリパッケージを更新しました。その修正に合わせて、zaurus 版の ONScripter を起動するときに、SDL_DSP_NFRAGMENTS を 18 に設定する ように修正しました。