[もどる]
一括表示
0287 Ver0.180
投稿者:たくみ 2005/11/22(火) 01:21

Ver0.180をリリースしました。

■常に手前表示や最背面表示等を設定できるようにしました。

CG 系命令と同様に Z キーワードを使用します。
ただし、単純に重なり優先度という意味ではなく、Z 値のとり得る値 0〜3 それぞれに、
「常に手前表示」「最背面表示」などの機能が割り当てられています。

■ウィンドウサイズの横幅が4の倍数でないと生成できなかった制限を解除しました。

レイヤセット機能の準備のために内部CG管理を改善した関係で、
ウィンドウサイズの横幅が4の倍数でないといけない制限がなくなりました。

0288 Ver0.181
投稿者:たくみ 2005/11/22(火) 01:21

Ver0.181をリリースしました。

■フォント名の直接記述によるフォント指定に対応しました。

いままでフォントリスト番号による指定だけでしたが、
TEXT[FONTNAME="MS 明朝"]
というように、直接フォント名を指定できるようになりました。
指定したフォントが存在しなかった場合は、何も反映されません。

■フォントがプロポーショナルフォントの時は、正しく字詰めされるようにしました。

今まで固定ピッチフォントだけを対象にしていたため、何も対策していませんでしたが、
フォントも変更できるようになったため、可変ピッチに対応させるようにしました。

■透過画像のレイヤ操作におけるいくつかの細かな不具合を修正しました。

透過画像が存在するレイヤに新しく画像を読み込むと前の透過情報が残ってしまうバグや、
水平、垂直反転の加工命令が正しく処理されなかったバグ等を修正しました。

0289 Ver0.182
投稿者:たくみ 2005/11/22(火) 20:49

Ver0.182をリリースしました。

■GOSUB, RETURN 命令を拡張。ジャンプ先とパラメータの受け渡しが出来るようになりました。

サブルーチンジャンプで、C言語の『関数』のような使い方ができるようになりました。
ジャンプ先に値を渡したり、ジャンフ先から戻るときに値を受け取ったりすることができます。
詳しくはマニュアルの [制御系命令]→[GOSUB][RETURN] の項目をご覧ください。
さらにこれを利用して、マクロ機能を拡張します。

0301 Ver0.183
投稿者:たくみ 2005/12/09(金) 12:15

Ver0.183をリリースしました。

■マクロ機能を拡張。既存の置換マクロ機能の他に、疑似関数マクロ機能が利用出来るようになった。

\cg("abc.bmp", 50, 20)

のような使い方が出来るようになりました。
詳しくはマニュアルの [その他命令]→[MACRO] の項目を参考にしてください。
あとは、サンプル002 のマクロを擬似関数マクロに書き換えましたので、
そちらも参考にしてみてください。
当初の予定では、もう少し便利な機能を実装する予定だったのですが、
まずは使えるようにだけでもしようということで、実装しました。
将来的にさらに機能を追加する予定です。

■スクリプトの特殊な位置に「ー」等の一部全角文字を記述するとコンパイル時点で無限ループに陥っていた致命的なバグを修正。

スクリプト解析用の関数のひとつにバグが潜んでいまして、
ずっと使っていたのにいままで全く気づきませんでした(_ _;

0302 Ver0.184
投稿者:たくみ 2005/12/09(金) 12:16

Ver0.184をリリースしました。

■疑似関数マクロの任意の位置のパラメータを省略できるようにした。

\cg("abc.bmp", 500) // "abc.bmp"画像を 500ミリ秒かけてフェード表示.

例えば上のように実行するマクロがあったとして、
2番目のパラメータを省略して、

\cg("abc.bmp")

というようにも記述できるようになりました。
逆に、前方のパラメータも省略することが出来ます。

\cg( ,500)

と記述することもできます。

■スレッドモードでキーが反応しなくなっていたエンバグを修正。
■ムービー再生中にマウスの押下状態が取得できなくなっていたエンバグを修正。

複数ウインドウに対応するためのコード書き直しに伴い
出てきてしまったバグを修正しました。

0303 Ver0.185
投稿者:たくみ 2005/12/09(金) 12:16

Ver0.185をリリースしました。

■ごく短い ogg ファイルを無限ループ再生すると強制終了するようになっていた致命的なエンバグを修正。

1秒未満程度の短いファイルを無限ループ指定にして再生しようとすると
落ちてしまっていたのを修正しました。

■ウィンドウを最背面表示等に設定しても、次に WINDOW 命令が来ると前面表示に戻ってしまっていたバグを修正。
■マクロ定義で、PINT と PSTR のように、同じパラメータ番号が同時に指定出来てしまっていたのを修正。

それぞれケアレスミスです。
失礼しました。

0304 Ver0.186
投稿者:たくみ 2005/12/09(金) 12:16

Ver0.186をリリースしました。
今回はかなり致命的なバグの修正になります;

■WINDOW 命令に ACTIVE キーワードを実装。ウィンドウをアクティブ状態にするか否か設定できるようにした。

ただし逆に、ACTIVE=0 としても非アクティブにすることはできません。

■CGINFO 命令の SIZEX, SIZEY キーワードを SX, SY キーワードへ名称変更。

他の命令のキーワードと合わせました。

■2次元以上の配列が宣言できなくなっていた致命的な不具合を修正。

気づきませんでした…;
調べたところ Ver0.175の大更新の時に混入したバグのようです。
(Ver0.174では大丈夫でした)
いろいろ動作テストはしたつもりだったのですが、まだまだチェック不足でした。
今後の課題として検討したいと思います。

■レイヤサイズによっては CGCOLOR 命令で取得できる色がずれてしまっていたエンバグを修正。
■レイヤサイズによっては CGACT 命令で各種加工操作を行うと画像が乱れてしまっていたエンバグを修正。
■レイヤサイズによっては文字描画が乱れてしまうエンバグを修正。
■CGACT 命令の SIZE2 キーワードで透過画像の拡大縮小をおこなうと画像が乱れていた不具合を修正。

これらも致命的ですね;
こっちは Ver0.18* あたりで混入したバグだと思います。
レイヤセット機能の準備に伴い混入してしまいました。

■記述位置によってはサウンドのボリューム設定が正しく反映されなくなっていたエンバグを修正。

特にロードした直後に設定しようとすると起きる現象でして、
今回で修正しました。

■GOSUB 命令で、# キーワードで指定したラベルに関する間違ったエラーが出てしまう場合があったバグを修正。

GOSUB 命令の # キーワードで指定したラベルが、
短いラベル名だとしても「長い」という旨のエラーが出ることがありました。
これは、かなり前から存在していたバグのようでした…。

■OggVorbisライブラリを vorbis 1.1.2 と ogg 1.1.3 にアップデートした。
■サウンド処理コードの見直しによる安定性の向上。

KAZU さんに落ちるとの不具合報告をいただきまして、
各種修正いたしました。
KAZU さん有り難うございましたm(_ _)m

0307 Ver0.187
投稿者:たくみ 2005/12/10(土) 01:15

Ver0.187をリリースしました。

■SOUND 命令に RESTART キーワードを実装。ループして再び再生される際の、再生開始位置を指定できるようにした。

ループ再生時に使用します。
ループして2度目以降の再生時に、設定した位置から再生されます。
これを使えば、例えば
『曲をループさせたいけど、イントロのある曲だからループさせると違和感がある』場合に、
RESTART 位置をイントロが終わったあたりに調整することで、
イントロ有りの違和感ないループ再生が可能になります(^^


■SOUND 命令で再生開始位置の値にマイナス値を指定できるようにし、遅延再生を出来るようにした。

本来は曲の開始位置を指定する START, RESTART キーワードですが、
マイナス値を入れて、例えば START=-5000 とすれば、曲が5秒後に再生開始されます。
これも意外と使えまして、
曲をクロスフェードで切り替える際に、適度に遅延時間をいれることで、
気持ちのいいクロスフェードが演出できたりします(^^


■ごく短い wav ファイルに関しても無限ループ再生で強制終了していたのを修正。

wavまわり修正抜けでした(;

0310 Ver0.188
投稿者:たくみ 2005/12/11(日) 14:00

Ver0.188をリリースしました。

■SOUND 命令に E キーワードを実装。再生の有効無効を指定できるようにした。

サウンドレイヤに有効無効の概念を導入しました。
無効にするとボリューム設定値に関係なく一切音が出なくなります。
ミュート機能のような感じで使えると思います。

■SOUNDINFO 命令に PLAY キーワードを実装。現在再生中か否かを取得できるようにした。

これは演出などで再生終了待ちをおこないたい場合に使えると思います。

■SOUNDINFO 命令に TIME キーワードを実装。現在の再生位置を取得できるようにした。
■SOUNDINFO 命令に LOOPCOUNT キーワードを実装。ループした回数を取得できるようにした。

これらは音に同期した特殊な演出をさせたい場合などに使えると思います。

■SOUNDINFO 命令に E, START, RESTART, FADE, LOOP キーワードを実装。各種情報を取得できるようにした。

SOUND 命令で設定した各種設定値を取得できるようにしました。

■SOUND 命令の STOP キーワードを削除し、PLAY キーワードへ統合。

これは仕様変更になります。
サウンドの再生は PLAY、停止は STOP という感じに使い分けていましたが、
今回から STOP を排除し、PLAY だけで使い分けることになります。
MOVIE 命令の PLAY と同様に、PLAY=1 で再生、PLAY=0 で停止となります。

0314 Ver0.189
投稿者:たくみ 2005/12/14(水) 16:08

Ver0.189をリリースしました。

■キー検出系システム変数の機能拡張。押している/離している分だけ値が増加していくようにした。
■システム変数 @_KEYLEAVE_〜 系を追加。また、@_KEYPUSHNUM_〜 系を @_KEYNUM_〜 系へと名称を戻した。

@_KEY_A で説明しますと、いままで、

・「A」キーを押している間はずっと1、離している時は0

でしたが、これを、

・「A」キーを押している間は1が加算され続け、離している時は0

となりました。つまり、押されている間、@_KEY_A の値が
0 → 1 → 2 → 3 → 4 → 5 → 6 → ...
と増えていくわけです。

たったこれだけの仕様拡張なのですが、これによりキー入力チェックがかなり便利になります。
下にいろいろ例を挙げてみます。

//-----------------------------------------------
例1

LOOP[]
IF[@_KEY_A==1] (〜処理A〜) IFEND[]
WAIT[FRAME=1]
LOOPEND[]

「A」が押された瞬間、1回だけ処理Aが実行されることになります。

//-----------------------------------------------
例2

LOOP[]
IF[@_KEY_A] (〜処理A〜) IFEND[]
WAIT[FRAME=1]
LOOPEND[]

@_KEY_A の値が0以外なら式が「真」になるため、この場合
いままでの仕様通り、Aが押されているあいだ毎回処理Aが実行されます。

//-----------------------------------------------
例3

LOOP[]
IF[@_KEY_A>=60] (〜処理A〜) IFEND[]
WAIT[FRAME=1]
LOOPEND[]

Aキーを60フレーム分(FPS60設定で1秒)押し続けたら、処理Aが実行されます。

//-----------------------------------------------
例4

INT[@SP_A=5] // ←2以上の値を入れてください
LOOP[]
IF[(@_KEY_A+@SP_A-1)%@SP_A==0] (〜処理A〜) IFEND[]
WAIT[FRAME=1]
LOOPEND[]

こんな書き方をすると、5フレームに1回、処理Aが実行されるようになります。
シューティングの連射設定などにも使えるかと思います。

//-----------------------------------------------
例5

LOOP[]
IF[@_KEYLEAVE_A==30] (〜処理A〜) IFEND[]
WAIT[FRAME=1]
LOOPEND[]

@_KEYLEAVE_〜 系のシステム変数を利用すれば、
キーが離されている時間も取得することができます。
上の場合Aキーが30フレーム分(FPS60設定で0.5秒)押されなかったら、処理Aが実行されます。
これも工夫次第でいろいろ使えると思います。

//-----------------------------------------------

と、これだけいろいろ入力検出できるようになりました。
あともし、すでにスクリプトを記述されている方で、

IF[@_KEY_A ==1] 〜〜 IFEND[]

このように記述されていらっしゃる方は、
ひとまずいままでと同じ挙動にしておきたい場合、お手数ですが

IF[@_KEY_A] 〜〜 IFEND[] // ←「==1」をなくす.

というように置換をお願いいたします。m(_ _)m

また、
@_KEYPUSHNUM_〜 系のシステム変数が、
@_KEYNUM_〜 系へと名前が戻りました。
二転三転してしまって大変すみません。もし使っていらっしゃる方は、
そちらのほうも置換作業をお願いいたします。


■ファイル名の表記に「¥¥」を記述するとコンパイルエラーとなってしまっていたエンバグを修正。

CG[NO=1 FILE="cg\\abc.jpg"]
という記述ができなくなってしまっていた不具合を修正しました。
マクロ機能を拡張した時に作ってしまったバグでした。