============================================================================ 吉里吉里[きりきり]2 version 2.30 Rev.2 ============================================================================ 2008/9/28 W.Dee ※ このソフトウェアのライセンスについて、license.txt をご覧ください (重要) ■ このソフトウェアについて ------------------------------------------------  吉里吉里2は、TJS2 と呼ばれるスクリプト言語を記述することによって、主にマ ルチメディアタイトルを作成することができるソフトウェアです。 ■ 動作環境 ---------------------------------------------------------------- CPU : Pentium 以降 OS : Windows 2000/XP/Vista VIDEO : 65536 色以上 また、使用する機能によっては付加的なコンポーネントが必要になる場合もあり ます。 この動作環境は吉里吉里2が動作することのできる最低条件です。使用する機能に よって動作環境は変わりますのでご注意ください。 ※ Windows 9x 系、Windows NT は動作対象外です。 DirectX 9 以降が導入されている環境を推奨します。 常駐して監視するタイプのウィルス対策ソフトウェアの中には相性の悪い物が あります。そのような環境で問題が起きた場合は、ウィルス対策ソフトウェア を停止させてから実行させてください。 ■ フォルダの内容 ---------------------------------------------------------- kr2doc や tjs2doc には HTML 形式のドキュメントがあります。 index.html をお手持ちのブラウザで開いてください。 ..\license.txt ライセンスについて ..\gpl-2e-plain.txt GNU GPL ライセンス (英語原文) ..\gpl-2j-plain.txt GNU GPL ライセンス (日本語訳) readme.txt このファイル krkr.eXe 吉里吉里本体 krmovie.dll ムービー再生サポート DLL *2 krflash.dll Flash 再生サポート DLL *2 enduser-tools\エンジン設定.exe エンドユーザ向け設定用プログラム *3 enduser-tools\ファイル破損チェックツール.exe ファイル破損チェックツール *3 tools\krkrconf.exe 吉里吉里設定用プログラム tools\krkrrel.exe Releaser tools\krkrfont.exe レンダリング済みフォントデータ作成ツール tools\krkrtpc.exe 画像フォーマットコンバータ tools\krkrsign.exe キー・署名ツール tools\krkrlt.exe ループ チューナ tools\krdevul.dll 開発支援 DLL *1 tools\tcwfcomp.exe TCWF形式の圧縮プログラム の 使い方の詳細は tools\tcwfcomp.exe.readme.txt ← に書いてあります tjs2doc\ TJS2 のドキュメント kr2doc\ 吉里吉里2のドキュメント plugin\wuvorbis.dll OggVorbis プラグイン plugin\wumsadp.dll Microsoft ADPCM プラグイン plugin\wutcwf.dll TCWF プラグイン plugin\extrans.dll 拡張トランジションプラグイン *4 plugin\dirlist.dll ファイルリストを得るためのプラグイン plugin\fftgraph.dll スペアナ表示プラグイン (これ以外にもプラグインが付属しています。詳細は ソースの同名のディレクトリを参照してください) savedata\ データ保存場所 viewer\ グラフィックビューア *5 transview\ トランジションビューア *5 audioplayer\ 超簡易オーディオプレーヤ *5 *6 movieplayer\ 簡易ムービープレーヤ *5 encrypt\ テキストファイル 暗号化ツール *5 *1 krdevui.dll は、吉里吉里を起動したときにフォルダを選択する画面を出した り、krkrconf.exe や krkrrel.exe や krkrfont.exe や krkrtpc.exe や krkrsign.exe や krkrlt.exe が必要とするファイルです。通常は一般に配布 する必要はありません。 *2 krmovie.dll はムービーを再生するために必要です。ムービーを再生しない場 合は配布する必要はありません。 krflash.dll は Flash コンテンツを再生するために必要です。Flash を再生し ない場合は配布する必要はありません。 *3 これらのツールは吉里吉里本体とともに、エンドユーザ(2次ユーザ)に配布さ れることを想定しています。 *4 拡張トランジションプラグインの使い方は吉里吉里2ドキュメント「トランジ ションについて」をご覧ください。 *5 これらを実行するには、krkr.eXe を起動したときに最初にでてくる「フォル ダ/アーカイブの選択」の画面でこれらのフォルダを指定してください。 *6 再生を開始するには、*.tcwf *.wav *.ogg のいずれかのファイルを Explorer などからドロップしてください。また、フォルダに入っている readme.txt も 参照してください。 ■ インストールとアンインストール ------------------------------------------  インストーラはありませんので、解凍したら適当なフォルダにコピーしてくださ い。  アンインストールしたい場合はそのフォルダを削除してください。ちなみに吉里 吉里はレジストリには何も書き込みません。 ■ エラー時のコンソールログファイルについて --------------------------------  吉里吉里2はエラーが起こったときに、プロジェクトフォルダ (あるいは KAG の場合は栞の保存先) に krkr.console.log というファイルを出力します。 このファイルには問題解決に必要な情報が多数含まれているため、もし、エラー が起こった場合に、掲示板等に書くときは最終の十数行をお教えくださると非常 に助かります。  また、希に hwexcept.log というファイルができている場合があります。これを 見かけた場合は、その状況とkrkr.console.log とともに作者まで送って頂けると 幸いです。  よろしくお願いいたします m(_ _)m ■ 変更点 ------------------------------------------------------------------ ● 2008/9/28 2.30 Rev.2 ・Layer.affineCopyで転送先が画像左端にあった場合、左端が1ドット欠ける事 があるのを修正 ・DirectDrawドライバが返す画面モード一覧の中に非フルスクリーンモードと 同じ画面モードが無かった場合にフルスクリーン化に失敗するのを回避 ● 2008/9/16 2.30 Release ・KAGParser.processSpecialTags を追加(特殊タグを処理するかどうか) ・ワイド文字(列)→ナロー文字(列)への変換がどうもWindowsのバグを叩いてい たようなので修正 ・-fszoomにinnerとouterを追加(フルスクリーン時のサイズをディスプレイに 内接させるか外接させるか) ・(TJS2) Array.saveStructやDictionary.saveStructで保存したデータをconst 配列として出力するように。パーザの段階で辞書配列などを組み立ててしま うので辞書配列の読み込みなどが高速化・省メモリ化されるはず ・プライマリモニタ以外でmixerを使用してのムービーの再生のフリーズを修正 ・mixer使用時、ウィンドウサイズよりも大きなムービーを再生しようとすると フリーズする問題を修正 ・コマンドライン引数に与えられたディレクトリ等がバッファオーバーフロー する可能性がある問題に対処 ・OSがVistaのとき、DirectDrawがベンチマークの結果、最有力としては採用さ れないようにした。Vista + DirectDraw の動作に不具合が多いため ・IMEモードを、キーをトラップしているウィンドウに合わせるように ・DrawFace が dfMask の場合のコピー動作の修正 (Layer.face = dfMask; Layer.copyRect() の動作修正) ● 2008/1/24 2.30 RC 1 ・プライマリレイヤが存在しない状態でウィンドウを表示させると EAccessViolation 例外が出ていたのを修正(2.29-dev.20071022で混入) ・-userconf オプションを指定して起動したときに、セーブデータディレクト リを作成するように (そうしないと設定が保存できないため) ・VMR9使用時、再生開始時のビデオサイズよりもウィンドウサイズが大きくなっ た時、DirectX を再生成してビデオサイズが大きくなるように対応 ・(画像フォーマットコンバータ) TLG6圧縮において、フィルタを選択するアル ゴリズムにバグがあったために最適なフィルタが選択されない事があったのを 修正(圧縮率に影響) ・Layer.hasImage切り替え時に内部の表示状態のキャッシュが無効化されてい なかったのを修正、また、update() も呼ばれるように ・idleイベント中で発生した例外に対して正しく例外通知が表示されなかった のを修正(2.29-dev.20070416あたりで混入) ・PassThroughDrawDeviceにおいてDirectDraw関連のオブジェクトが開放されず にリークしていたのを修正(2.29-dev.20071022あたりで混入) ・layer.setSize で毎回 draw device が作り直されることがあったのを修正 (2.29-dev.20071022あたりで混入) ・PassThroughDrawDevice.preferredDrawer (お好みのdrawerを表す) ・レイヤの重ね合わせ方によってはまれに EAccessViolation 例外が発生してい たのを修正 ・きわめてまれなケース(intervalが小さいTimerを頻繁にinvalidateした場合な ど)に EAccessViolation 例外が出る可能性があったのを修正 ● 2007/10/22 2.29-dev.20071022 ・(レンダリング済みフォント作成ツールおよびFont.doUserSelectJで) PS 形式 OpenType フォントも列挙するように ・フォント名指定で、 カンマで区切って列挙する際、直前の候補のフォント名 が空だった場合に、その後のフォントがあってもなくても ( フォントの存在 チェックをせずに) 使うように。たとえば ",My Original Font" と書くと、 "My Original Font" というフォント名のフォントが強制的に使用される ・DirectDraw のドライバの情報を DirectDraw を読み込んだだけでは取得しな いようにした (Windowsが外部サイトに問い合わせに行ってしまうため) ・サブウィンドウでも、拡大縮小があるときかつ指定のdrawerが無い場合はベン チマークを行うように ・Window.PassThroughDrawDevice.drawer プロパティ (現在使用されている drawer) と Window.PassThroughDrawDevice.recreate() (drawer の作り直し) を追加 ・datapath のディレクトリを本当に必要になったときにのみ作成するように ・Direct3D でテクスチャへ直接テクセルデータを転送したときに、縮小が行わ れている場合におかしな動作をしていたのを修正 (2007/9/1 2.29-dev.20070901で発生) ・レイヤのサイズ変更に伴って内部情報が更新されなかったのを修正 (2007/9/1 2.29-dev.20070901で発生) ・PassThroughDrawDeviceを作り直す際にメモリ・リソースリークをしていたの を修正(2007/9/1 2.29-dev.20070901で発生) ・(VideoOverlayクラス) フルスクリーン切り替えを何度か繰り返すと落ちる 不具合の修正(#37) ・(VideoOverlayクラス) mode=vomMixerの場合にマウスメッセージをドレイン ウィンドウ(吉里吉里側)へ流すように ・(VideoOverlayクラス) mode=vomMixerの場合にDirect3Dを用いて拡大・縮小 処理を行うように ・Layer で userAttenstion=true かつ hasImage=false の場合に EAccessViolation が発生する可能性があったのを修正 ● 2007/9/8 2.29-dev.20070908 ・「エンジン設定」および「吉里吉里設定」で -usedb の設定ができなかったの を修正 (2.29-dev.20070901より) ・-contfreq あるいは -waitvsync での処理が追いつかない場合にフリーズした ような状態になってしまうのを回避 (2.29-dev.20070901より) ● 2007/9/1 2.29-dev.20070901 ・レイヤサイズが決定していない状態でマウス座標などを得ようとすると例外が 発生していたのを修正 (2.29-dev.20070416 あたりで混入) ・レイヤのマウスキャプチャがはずされた場合、ウィンドウのマウスキャプチャ も同様にはずすように ・レアケース(レイヤの重ね方によっては出る可能性がある)でEAccessViolation が発生していたのを修正 ・Direct3D によるダブルバッファリング(+拡大)表示が可能に ・-usedb オプションを追加(強制的にダブルバッファリングを行うかどうか) ・-dbstyle オプションの意味を変更(ダブルバッファリングの方式を選択する 意味に) ・-waitvsync オプションで垂直同期待ちを行う場合のCPU負荷を軽減 ・-waitvsync オプションで垂直同期待ちを行う場合はcontinuous handlerの タイミングも垂直同期に合わせるように (-contfreqの設定は無視される) ・Window.minWidth, Window.maxWidth, Window.setMinSize などを追加 (ウィンドウの最小サイズ・最大サイズの設定) ● 2007/6/12 2.29-dev.20070612 ・xp3 アーカイブの exe形式のヘッダを取りやめ (McAfeeによる大幅なパフォー マンス劣化のため) ・オプションを動的に変更する System.setArgument メソッドを追加 ・Window.setMaskRegion() の実装をすっかりほったらかしにしていたので実装 ・フルスクリーン中に他アプリに切り替わった際などのエラーを抑制 ・ウィンドウ更新メッセージの処理中に発生した例外をキャッチできなかった のを修正 ● 2007/5/21 2.29-dev.20070521 ・吉里吉里設定の文字列形式のオプションの文字列入力ボックスが、ウィンド ウサイズを変更しても右端にくっついて行かなかったのを修正 ・レイヤ描画による再生やWMVでの再生中におけるメモリリークを修正 ・-datapath オプションを追加。System.dataPath プロパティでその設定内容 を取得できるように ・吉里吉里のオプションを拡張子が .cf あるいは .cfu のファイルに保存する 用に (詳細はリファレンスを参照してください) ・-printdatapath オプションを追加 (標準出力に -datapath の設定内容を 出力する ・画面更新イベントがcontinuousハンドラよりも前に呼ばれていたので後にす るように ・Timer.interval に実数を指定できるように(1/65536ミリ秒単位で指定が可能) ・Timer.mode プロパティ追加 (配信されるイベントの優先度を指定する) ・-contfreq オプション追加 (continuous handler の呼び出し周期を制限する) continuous handler はトランジションなどにも利用されているので、これに より実質的な FPS 制限が可能。また、これに伴い -reducecpu オプションを 廃止。 ・XP3アーカイブの先頭にexe形式のスタブをつけるように(このスタブは吉里 吉里実行可能ファイルを自分と同じフォルダから探して、自身を引数にして 吉里吉里を実行する) ・(Releaser) -nowriterpf オプションをつけることで、アーカイブ作成時に default.rpf を上書きしないように ・(Releaser) コマンドラインオプション -out (出力ファイルの指定)と -rpf (プロファイルの指定) を追加。 ● 2007/4/16 2.29-dev.20070416 ・Plugins.getList() の戻り値が配列として正常に動作しなかったのを修正 ・フルスクリーン表示のアルゴリズムを大幅に刷新 (デフォルトでは一般的な 液晶モニタ向けの解像度決定アルゴリズムになっています) これに伴い -fszoom オプション追加、-fsres オプションの指定内容を変更 ・内部的な描画モデルを新しいモデル(DrawDeviceモデル)に変更 (新しい描画モデルではハードウェア描画を利用するプラグインを作成可能) ・新しい描画モデルの追加に伴い、-dibtype (DIB使用方法) オプションを廃止 ・フォント選択ダイアログが初期状態でサンプルフォントを正しく表示できてい なかったのを修正 ・tof ファイル (外部設定ファイル) を userconf などで編集するときに、本体 が書き込み可能かどうかをチェックしていたのをチェックしないようにした。 本体exeが書き込み禁止な状態でも「エンジン設定」を動作可能にするため ・コントローラのコンテキストメニューに「スクリプトエンジンの再起動」を 追加 ・吉里吉里のメインウィンドウが閉じたときにシステムを終了させるかどうかを 表す System.exitOnWindowClose プロパティを追加 ・Layerクラスのコンストラクタに指定する引数が足りない場合にエラーになら なかったのを修正 ・例外発生時の詳細な内容のダンプをデバッグモード時に限定するように ・画像演算中の座標計算に間違いがあったので修正 (#29 https://sv.kikyou.info/trac/kirikiri/ticket/29 ) ・トランジション中に画像が正しく更新されないなどの問題を修正 ・(TJS2) Math.min と Math.max の挙動を ECMAScript と同じに (#19 https://sv.kikyou.info/trac/kirikiri/ticket/19 ) ・(TJS2) グローバルやインスタンスにvarでメンバを作成する際に、同名のプロ パティがあった場合にプロパティハンドラが起動してしまっていたのを修正 (#28 https://sv.kikyou.info/trac/kirikiri/ticket/28 ) ・(TJS2) RegExp.last を呼び出すとエラーになっていたのを修正 (#30 https://sv.kikyou.info/trac/kirikiri/ticket/30 ) ・(TJS2) RegExp.start に値を設定しても、その部分以降からの探索にならな いのを修正 (#31 https://sv.kikyou.info/trac/kirikiri/ticket/31 ) ・(TJS2) コメントの直後に正規表現リテラルがあった場合に文法エラーになる 場合があったのを修正 ● 2007/1/13 2.29-dev.20070113 ・プロジェクトフォルダへ書き込みができなかった場合に Debug.logLocation を変更したり -forcelog オプションをつけたりしてもログが出力されなかった のを修正(2.29-dev.20061218で混入) ・ビットマップの横幅を128bit(1 paragraph=16bytes) 単位にアラインメント を行ってから確保するように(画像演算パフォーマンスの向上) ・強制的にシステム終了時のエラーを抑制するように ・onKeyPress などがイベント集約メソッド (actionメソッド)で発生しなかっ たのを修正 (#26 https://sv.kikyou.info/trac/kirikiri/ticket/26 ) ・(TJS2) Array クラスへの機能追加(pop,push,shift,unshift,length) (sugi氏にコードを寄贈して頂きました、ありがとうございます) ・(TJS2) catch 句内でループから break するとループの後が実行されない不具 合を修正 (#23 https://sv.kikyou.info/trac/kirikiri/ticket/23 ) ・(TJS2) try 句内で for 無限ループから break できない不具合を修正 (#24 https://sv.kikyou.info/trac/kirikiri/ticket/24 ) ・(TJS2) void | 1 や n ? void : m のような式で不正なVMコードが出力され ていたのを修正 以下の場合に問題を起こす可能性がある * 二項演算子の左側に定数項としてvoidが来る場合 * 単項演算子のオペランドとして定数項のvoidが来る場合 * ?: 演算子の真ん中のオペランドに定数項のvoidが来る場合 ● 2006/12/18 2.29-dev.20061218 ・WaveSoundBufferのインスタンスをinvalidateするときにonStatusChanged イベントが発生する場合があったのを元の仕様に戻した (2.29-dev.20061107で混入) ・コンソールログファイルの名称を krkr.console.log に固定 ・Debug.logLocation プロパティ追加 (コンソールログファイルとhwexcept.log ファイルの出力先) ・ログファイルの出力先を、デフォルトでプロジェクトフォルダにした ・(Releaser)デフォルトで拡張子が log のファイルはアーカイブに格納しない 分類にするように ・ImageMagickでPNGを-trimしたときに付加されるvpAgチャンクに対応 (Layer.loagImages の戻りの辞書配列に vpag_w, vpag_h, vpag_unit として 返される) ・vpAgチャンクを持ったPNGファイルを画像フォーマットコンバータで変換する 際、TLG sdsのタグ情報としてその情報を出力するように ● 2006/11/19 2.29-dev.20061119 ・トランジションのオプションに callback 追加 (tickカウントをコールバッ クで制御する) ・WaveSoundBuffer.PhaseVocoder.windowや WaveSoundBuffer.PhaseVocoder.overlapに値を指定すると(それが正しい値で も)例外が出てしまうのを修正 ・floatと整数のPCM形式の変換にCPUごとの最適化ルーチンを使用するように ・Phase Vocoder フィルタの負荷をアルゴリズムの改良により約1/2に ・WaveSoundBuffer.PhaseVocoder.overlapに0を指定すると自動的にoverlapの 適切な値を選ぶように ● 2006/11/7 2.29-dev.20061107 ・WaveSoundBuffer.filters プロパティ追加(インサーションフィルタ配列) ・WaveSoundBuffer.PhaseVocoder クラス追加(Phase Vocoder; ピッチシフトや タイムシフトをリアルタイムに行うフィルタ) ・WindowsXP SP2 の環境で、「データ実行防止」 (DEP) が有効になっていると、 Layer.doBoxBlur でEAccessViolationが発生していたのを修正。 ● 2006/10/9 2.28 RC1 ・Releaserで「大きなファイルは圧縮を行わない」のチェックあり/チェック無し の状態が無視されてしまっていたのを修正 ・Layer.hasImage追加(レイヤが画像を持つかどうか) ・Plugins.getList追加(接続されているプラグインの一覧を取得) ・MenuItem.popup(メニューのポップアップ表示)など、MenuItemクラスを拡張 ・Pad.statusText などを追加し、Padクラスを拡張 ・(TJS2) String.trim, String.reverse, String.repeat メソッド追加(上記4つ はmey氏にコードを寄贈して頂きました、ありがとうございます) ・ドキュメントの「キーワード一覧」に検索boxを追加(sugi氏にコードを寄贈 して頂きました、ありがとうございます) ● 2006/8/13 2.27-dev.20060813 ・トランジションのtimeに2未満の値がわたるとEDivideByZero例外が発生する 可能性があったのを修正(extrans.dllも更新) ・KAGのquakeタグなどで画面がちらつく (Window.layerLeft などを変更すると 画面がちらつく) のを修正 (2.27-dev.20060710で混入) ● 2006/7/30 2.27-dev.20060730 ・フォント名を列挙する Font.getList メソッドを追加 ・オーバーレイでのビデオ再生終了時に、一瞬別ウィンドウが表示されたり、吉 里吉里のウィンドウが一瞬フォーカスを失う不具合を修正 (2.27-dev.20060219 で混入) ・(TJS2) オクテット列を含んだ辞書配列、配列をsaveStructで保存するとそれ をevalできなかったのを修正 ● 2006/7/10 2.27-dev.20060710 ・画面解像度を変えずにフルスクリーンにするモード(コマンドラインオプション -fsres=nochange) を追加 (この場合拡大/縮小処理はエンジンが自前で行う) ・onMouseLeave や onMouseEnter 中に、関連するレイヤが削除された場合に EAccessViolation 例外が発生していたのを修正 ● 2006/5/27 2.27-dev.20060527 ・以下のプラグイン(experimental)を添付(ごうさんありがとうございます) plugin\agg.dll Anti-Grain Geometry プラグイン plugin\csvParser.dll CSV 読み込みプラグイン plugin\expat.dll XML 読み込みプラグイン plugin\json.dll JSON 読み込みプラグイン plugin\layerExImage.dll レイヤ画像補整プラグイン plugin\perspective.dll パースペクティブ変形プラグイン ・フルスクリーン切り替え後にマウスカーソルがデフォルトのマウスカーソルに なってしまうことがあったのを修正 ・いくつかのメソッドで戻り値を得ない場合にEAccessViolationが発生していた のを修正 ・Pad クラスの説明をドキュメントに追加 ・フォーカスを持っているレイヤが無い状態でTABキーをおすと、focusableかつ フォーカスチェーンに参加していないレイヤにフォーカスが当たっていたのを 修正 (フォーカスチェーンに参加していないならばTABキーでフォーカスは移 らないのが正常) ● 2006/2/19 2.27-dev.20060219 ・WaveSoundBuffer クラスに samplePosition プロパティ(サンプル数単位での 再生位置) と labels (ループ情報中のラベル位置) 追加 ・WaveSoundBuffer.flags の各要素が、0〜9999ではなくて0か1しか返さなかっ たのを修正 ・VideoOverlayクラスでWMVとVMR9に対応 ・VideoOverlay.mode プロパティに設定可能な値として vomMixer (レイヤ画像 との表示のミキシング) を追加 ● 2006/1/8 2.27-dev.20060108 ・「メッセージマップファイルを起動時に読み込むかどうか」と「強制的にアー カイブファイルのみからの実行を行うか」を通常のコマンドラインオプショ ンではなく「リリースオプション」として吉里吉里設定などから設定できる ように ・WaveSoundBufferやLoopTuner2のスムースリンクでリンクの開始や終了が曲の 終端や始端付近だった場合に /0 例外が発生していたのを修正 ・ファイル破損チェックツールが、チェック対象ファイルが書き込み排他ロック で他のプロセスに 開かれていた場合に正常なチェックが出来なかったのを 修正 ● 2005/11/1 2.26 RC 2 ・WindowsXP SP2 の環境で、「データ実行防止」 (DEP) が有効になっていると、 アフィン変換系の描画メソッドでEAccessViolationが発生していたのを修正 ● 2005/10/10 2.26 RC 1 ・(LoopTuner) A キーまたは S キーで現在の再生位置にラベルを新規作成する 機能を追加 Ctrl+Q でラベルを全部削除できるように ● 2005/9/13 2.25 beta 11 ・win32oleプラグイン(ActiveXコントロールやOLEオートメーションを吉里吉里 で使用できるようにするプラグイン)とwshプラグイン(TJS2以外の言語として JScriptやVBScript、PerlScriptなどを吉里吉里で使用できるようにするプラ グイン)を添付 ・アーカイブ内のファイルにアクセスするためのファイルハンドルをプーリング して再利用し、ファイルをオープンするオーバーヘッドを減らした ・WaveSoundBufferのデコード用スレッドの生成/消滅を繰り返さないようにした ・Window.focusable が true のwindowで、visible を false に設定できなかっ たのを修正 (2.25 beta 1 で混入) ・テンポラリディレクトリにファイルを展開する場合、ディレクトリをユニーク な名前で作成し、その中にファイルを元の名前で展開するようにした ・画像キャッシュの自動設定値を微調整(多くの環境ではすこし減らした) ・レンダリング済みフォントを適用直後にフォントが更新されない不具合を修正 ・マウスボタンを放したときにマウスカーソル直下のレイヤに onMouseLeave イベントが発生することがあったのを修正 (2.25 beta 9 で混入) ● 2005/9/3 2.25 beta 10 ・Vorbis デコーダを Replay Gain に対応。吉里吉里に接続した場合は標準で Track Gain を見に行くようになった(コマンドラインオプションから変更可能) ・画像キャッシュの値を変更したときにコンソールに出る出る Setting graphic cache limit To のメッセージを出ないようにした ・自動検索パスに大量のエントリがある場合、これのキャッシュの再構成に膨大 な時間がかかることがあったのを改善 ● 2005/8/23 2.25 beta 9 ・レイヤの画像合成で、重ね合わせ先の画像がα値を持っているかどうかの判定 を行う内部的な式が間違っていたので修正(beta 8 で混入) ・WaveSoundBufferがセカンダリバッファのフォーマットを取得する際に表示し ていたログを、異常時以外は表示しないようにした ・onTransitionCompleted 内で同じオブジェクトに対して beginTransition が できなかったのを改善 ・System.onActivate と System.onDeactivate イベントを追加 (アプリケーショ ンがアクティブになったとき / 非アクティブになったとき) ・Window.onActivate と Window.onDeactivate イベントを追加 (ウィンドウが アクティブになったとき / 非アクティブになったとき) ・プルダウンメニュー表示中 はマウスカーソルを強制的に表示するようにした ・superキーワードに関わる文法エラーを処理中に、特定の条件で EAccessViolation例外が発生していたのを修正 ・中ボタンおよび右ボタンでマウスイベントキャプチャが行われなかったバグと、 キャプチャ状態でウィンドウからマウスカーソルが出ると、一瞬 OnMouseLeave と OnMouseEnter イベントが発生するバグを修正 ・WaveSoundBuffer で、再生が終了したあと、再度 play() で再生しても、メディ アが巻き戻されていないために再生できなかったのを修正 ・(TJS2) 配列の添え字に負の数を指定すると、配列の最後からの指定となるよう にした ( ar[-1] は ar[ar.count - 1] と同じ意味になる ) ・(TJS2) 配列アクセスなどで、添え字に対応する要素が存在しなかった場合にエ ラーに表示される添え字が 0 固定になっていたりしたのを修正 ・(LoopTuner2) ラベルやリンクの新規作成、リンク元やリンク先をたどる操作で 「再生位置に追従」を自動的に解除するように ・(LoopTuner2)ラベルを削除した際にラベルマーカーが画面上に残ったままにな る現象を回避 ・(LoopTuner2) 再生位置に追従 のツールバーボタンを強調表示するように。ま た、アクセスしやすいように位置も変えた ・(LoopTuner2) 縮小表示バーを追加 (全体を見渡すバー) ・(LoopTuner2) ツールバー、波形縮小表示、ステータスバーなどの表示・非表示 をメニューから切り替えられるように ● 2005/8/9 2.25 beta 8 ・KenjoさんからいただいたPhotoshop互換ブレンド関数群を使用可能に ・画像フォーマットコンバータで、PSD中に覆い焼きカラーなどのレイヤを含む画 像の場合は、タグ情報にそのレイヤブレンドモードを書き出すようにした ・グローバル変数 imageTagLayerType に、Layer.loadImages が返すタグ情報の 'mode' メンバから吉里吉里のレイヤタイプ ( ltXXXXXX 定数 ) に変換するた めの辞書配列を入れた ● 2005/8/1 2.25 beta 7 ・キー・署名ツールやファイル破損チェックツールが使う暗号/ハッシュ方式を ECC/MD5 から RSA/SHA256 に変更 ・ファイル破損チェックツールで結果をクリップボードにコピーする際、対象 ディレクトリの全ファイルのリストもコピーするように ・ltDarken, ltMultiplicative, ltLighten, ltSubtractive, ltAdditive, ltDogde をレイヤタイプに指定した場合、重ね合わせ先のα値を破壊してしま うバグを修正 ・Shift+F12(デフォルト) でコンソールに表示されるレイヤ構造のダンプの各行 の最後にレイヤタイプを表示するように ・Tab, Shift + Tab, Alt + Enter で onKeyUp がこれらのキーに対して2回以上 呼び出されることがあったのを修正 ・Layer.loadImages の第2引数に clAlphaMat + 0xRRGGBB 形式の数値を指定す ると、その色の上に画像が重ね合わせられた画像を得る事ができるように ・(TJS2) if(a=b) のような記述 ( a == b を書き間違った可能性が高い ) をし た場合、警告を出力するようにした ・(TJS2) Aray.sort で stable ソートをすると、配列中のオブジェクトが null になることがあったのを修正 (beta 6で混入) ● 2005/7/14 2.25 beta 6 ・Loop Tuner 2 (Loop Tuner バージョン 2) 同梱 (krkrlt.exe) ・新 sli ファイル (ループチューナの生成するファイル) への WaveSoundBuffer が対応 (flagsプロパティ、onLabelイベントの追加、loopingプロパティの仕様 変更) ・フルスクリーン切り替えやstayOnTop変更などでウィンドウが再作成される際に マウスキャプチャを解放するように ・Layer.affineCopyでclear=trueのときかつ、描画先が画面外などで画面に何も描 画されないときに EAccessViolation 例外が発生していたのを修正 ・ログをファイルに書き出す際に書き出しが始まった時点での日付をログに書き込 むように (日付をまたいだ場合は、実際にログがファイルに書き込まれ始めた時 点よりも前のログを含む場合があるので注意) ・いくつかのアイコンを32bppに描き直した ・Compact Event (最小化やアイドル時に内部的に発生するイベント) 時の例外を 捕捉し、メッセージ表示するようにした ・いままでグレースケール読み込みとパレットインデックス読み込みを区別してい なかったため、マスク画像にグレースケールではない画像を指定すると透過がう まく行かなかったりしていたが、これを、内部的に区別するようにして改善した ・zlibを1.22に(さらにアセンブラで記述された展開ルーチンを使用するように) ・(TJS2) オブジェクトのRelease時に例外が発生すると、それがTJSのスタック上 に残ったままになり、再度Releaseしようとして、解放済みのオブジェクトをま た解放しようとすることがあったのを修正 ・(TJS2) 辞書配列を無効化したあと、辞書配列のメソッドを使用しようとすると EAccessViolation 例外が発生していたのを修正 ・(TJS2) UNICODE→MBCS変換を行う際、文字列の一部に変換できない部分があって もエラーにしないようにした (該当文字は '?' で表現されるようになる) ● 2005/6/12 2.25 beta 5 ・VideoOverlayクラスにselectAudioStream、playRate,segmentLoopStartFrame, segmentLoopEndFrame,periodEventFrame,audioBalance,audioVolume, numberOfAudioStream,enabledAudioStream の各メソッドを追加 ・PNG画像を読み込んだ場合は、oFFsチャンクに対応するoffs_x, offs_y, offs_unit のタグ情報を Layer.loadImages が返すように ・(画像フォーマットコンバータ) PNG画像からPNGやTLGに変換する場合、oFFs チャンク を保存/変換するように (画像フォーマットコンバータでPNGから 変換したTLG画像は上記のoffs_xなどのタグ情報を持つようになります) ・(TJS2) Math クラスに足りなかった atan2, LOG2E, LOG10E を追加 ● 2005/4/27 2.25 beta 4 ・フルスクリーンモードでメインウィンドウが閉じられても吉里吉里が終了し ない場合があるのを修正 ・アフィン変換の精度を改善 ・アフィン変換などのstFastLinearなどでstRefNoClipをビット論理和で指定す ると転送元ビットマップ範囲外ピクセルの参照を許可するように ・1,4,8bppのBMPを領域画像として読み込むとパレットインデックスが破壊され るバグを修正 ・Layer.onKeyDown, Layer.onKeyUp, Layer.onKeyPress の process 引数につい て、ドキュメントに記述が漏れていたので記載 ・上記の process引数が渡されなかった場合、異常な動作をする場合があったの を修正 ・WaveSoundBuffer.frequency を書き込み可能に(書き込んだ場合はその周波数 で再生されます) ● 2005/3/29 2.25 beta 3 ・フォルダ・アーカイブの選択画面で、右下のグリップの位置が、環境によって ずれることがあったのを修正 ・-wssoft (DirectSound ソフトウェアミキシング) をデフォルトで有効になる ように ・Flash表示中にフルスクリーン切り替えを行うとEAccessViolation例外が発生 していたのを修正 ・可視な子がないレイヤがトランジション元だと、imageLeftやimageTopが無視 されてしまっていたのを修正 ・マウスカール直下のレイヤの状態を1秒おきにテストするようにした。これに より、レイヤが消えてもそのツールチップヒントがマウスカーソルを動かすま で消えない、などの症状がなくなる ・WaveSoundBufferのL2バッファ長を4000msから1000msに短縮 ・(Releaser)「出力」タブに入力ディレクトリを表示するように ・(Releaser) コマンドラインで指定されたディレクトリが相対パスだった場合 は絶対パスになおしてから処理をするように ・(TJS2) 文字列・オクテット列比較の高速化 ● 2005/2/22 2.25 beta 2 ・Window.setZoom メソッド、Window.zoomNumer プロパティ、Window.zoomDenom プロパティ追加。レイヤの拡大表示に用いることができる ・VideoOverlayクラスでの動画再生のループ時のタイミングの改良 (setSegmentLoopセグメントループの終端を示すgoFrameで示されたフレームは 再生されなくなりました。直前のフレームまでが再生されます ) ・VideoOverlay.onPeriod イベントのイベントの種類にperSegLoop (セグメント ループで始点に戻った) 追加 ・Layer.beginTransition の options 辞書配列に selfupdate : true を指定す ると、吉里吉里側での画面更新処理を行わないようにした (従来や、 selfupdate : false の場合は、吉里吉里が continuous event を使用して画 面を更新する) ・Timer の実装を軽量化 (また、これにより nView Desktop Manager での不具 合も解消される事を望む) ● 2005/2/6 2.25 beta 1 ・iTJSDispatch2 のメソッドの呼び出し規約を stdcall から cdecl に変更。 これにより従来のプラグインは、最新のtp_stub.cpp/tp_stub.hを用いて再コ ンパイルしないと接続できなくなった (ソースレベルでの互換性は保たれて います) ・withchildren=falseのトランジション終了時に、入れ替わるはずの2枚のレ イヤのインデックスが狂う場合があったのを修正 ・Layer.drawText で空文字列を表示しようとすると中ポチ("・")が表示されて いたのを修正(2.23 beta 11 で混入) ・フルスクリーン時にモーダルなウィンドウのZ orderを定期的に設定しなおし ていたのを取りやめた ・Window.onPopupHideイベント、Window.focusableプロパティ、 Window.trapKeysプロパティ追加 (ポップアップメニューなど、常に手前に表 示されるがフォーカスを得ないウィンドウに用いる) ・Window.onResizeイベント追加 (ウィンドウサイズが変更された) ・本体サイズの低減 ・プラグインから、ネイティブ実装されたクラスを提供し、吉里吉里側で使用 できるように整備した。サンプルとして kirikiri2/src/plugins/win32/nativeclasstest を追加 ・WaveSoundBuffer.globalVolume プロパティ追加 (大域ボリューム) ・WaveSoundBuffer.globalFocusMode プロパティ追加 (フォーカスモード) ・従来の -wsglobal オプションを廃止、-wsmute プロパティ (DirectSound ミュート) と -wsmutevol (DirectSound ミュート音量) 追加。アプリケー ション非アクティブ時や最小化時にサウンド再生をミュートできるようにした ・(TJS2) globalオブジェクトがデバッグモードによる型情報トラッキングで unknown type になっていたのを修正 ・(TJS2) Dictionary オブジェクトに本来はいるはずのないDictionaryクラス のメソッドが入ってしまう事があったのを修正 ・(TJS2) プリプロセッサ用識別子に数字を使用できなかったのを修正 ・(TJS2) 従来の単項 "*" 演算子の動作を単項 '&' 演算子に割り当てた。'*' 演算子はローカル変数などにあるプロパティオブジェクトを、オブジェクト に登録しなくともプロパティとして動作させるようにできる演算子とした。 従来の互換性用に -unaryaster オプション追加 ● 2004/12/20 2.23 beta 11 ・ムービー拡張機能をマージ 井元氏によるムービー拡張機能(レイヤによる再生やコーデック固定など)を本 家にマージさせて頂きました。AVIは再生できないようには作ってはいません が、サポート外になります。 ・文字の影が文字の描画方向と反対だった場合などに、後ろの文字の影が前の文 字の上にかぶるのを修正 ・ライセンス修正(著作権表示の改変を明示的に禁じた) ・(TJS2) 文字列メソッドを実行する際にUnknown Failureが発生する可能性が あったのを修正(beta 10で混入) ● 2004/11/27 2.23 beta 10 ・Layer.pileRect , Layer.blendRect で EAccessViolation が発生する場合が あったのを修正 (beta 3で混入) ・(TJS2) 関数宣言の引数定義に * を付けることにより、引数を配列として受け 取れるようにした ・(TJS2) 関数を呼び出すときに * を付けることにより、配列を引数として展開 して引き渡せるようにした ( TJS2 ドキュメント「関数」参照 ) ・(TJS2) クラスメンバに削除・追加・変更などを加えた場合、それから新たに 作られるオブジェクトにもその変更が反映されるようにした ・(TJS2) トップレベル(スクリプトが読み込まれるとすぐに実行される部分)の スクリプト実行中の例外発生でメモリリークする可能性があったのを修正 ● 2004/11/9 2.23 beta 9 ・コマンドラインオプション -debug 追加 (デバッグモード) デバッグモードの詳細については「吉里吉里2リファレンス - デバッグ」を 参照してください。 ・Scripts.getTraceString 追加 (関数呼び出し履歴を文字列として取得) ・(TJS2) Array.sort での安定ソートでのメモリリーク発生を修正 ・(TJS2) デバッグ機能の強化 ・(TJS2) プリプロセッサ定義済み変数 'version' の表記を 0x0XYYZZZZ (X=major, YY=minor, ZZZZ=release) の形式で表すように変更 ・(TJS2) iTJSDispatch2::EnumMembers 仕様追加と実装 (メンバの列挙) ● 2004/10/24 2.23 beta 8 ・コマンドラインオプション -jpegdec (JPEGデコード精度) に 'high'(高画質) を指定できるように ・Clipboard クラス追加 (クリップボードへのアクセス; 現在はテキストのみ) ・System.doCompact メソッド追加 (メモリのコンパクト化) ・(TJS2) 実数除算 ('/' 演算子) で除数が 0.0 だったときに例外発生ではなく 結果を Infinity (または -Infinity) とするように ・(TJS2) +NaN と -NaN を区別せず両方とも NaN として表示するように ・(TJS2) 内部で確保している文字列ヒープ量を減らし、メモリ使用量低減 (iTJSDispatch2 のインターフェースが若干変わったために、PropSetをプラグ イン内で実装したプラグインはクラッシュする可能性があります。そのような 場合は最新の tp_stub.h/tp_stub.cpp を使ってコンパイルし直してください) ● 2004/10/10 2.23 beta 7 ・wuvorbis.dll を 27% サイズ縮減、10% 高速化 ・Layer.face=dfAddAlphaのガンマ補正のRとBが逆だったのを修正(b5で混入) ・Layer.setClip() が引数なしで呼び出された場合、描画クリップ矩形をデフォ ルト(レイヤ全体を描画対象とする)に戻すように ・(TJS2) Win9x 系で希に 実数を表す文字列 ("3.14" など) を数値に正常に変 換できない場合があったのを修正 ● 2004/9/25 2.23 beta 6 ・Layer.affineCopy の引数に clear 追加 (転送先レイヤの周囲をクリアするか) ・Layer.face が dfAddAlpha の時に Layer.colorRect で不透明度に 0 を指定 するとエラーになっていたのを修正 (beta 3 で混入) ・Layer.doBoxBlur メソッド (矩形ブラーをかける) 追加 ・Layer.convertType で加算アルファ合成からアルファ合成に変換する際の動作 がおかしかったのを修正 (beta 3 で混入) ・Layer.cached プロパティ (レイヤノードの画像キャッシュ) 追加 ・(TJS2) "1" など、文字列として数値が入っている値をインクリメント・デク リメントしようとすると例外が発生していたのを修正 ● 2004/9/16 2.23 beta 5 ・Layerクラスの fillRect colorRect drawText copyRect stretchCopy affineCopy の各メソッドで、face=dfOpaque でかつ holdAlpha が偽の時には マスク画像への書き込みは行わないように ・Layerクラスの stretch 系メソッドで転送元矩形がビットマップ外を指し示し ていてもそのまま処理してしまっていたのを修正 ・Layerクラスの stretch 系メソッドで反転する場合、転送先矩形が画面外を示 していたときの処理がおかしかったのを修正 ・Layer.holdAlpha プロパティのデフォルト値を偽に ・コマンドラインオプション -holdalpha追加 (Layer.holdAlphaのデフォルト値) ・Layer.adjustGamma が現在の描画方式 (Layer.face プロパティ) を参照し、 dfAddAlpha の場合は加算アルファ合成用のガンマ補正を適用するようにした ・Layer クラスの affine 系 と stretch 系メソッドで、特定の条件の時に線形 補間(バイリニア補間)が効くように (詳しくは各メソッドの説明を参照) ・Layer クラスの affine 系メソッドの精度を改善。座標指定に実数指定を受 け付けるように ● 2004/8/30 2.23 beta 4 ・Additve Alpha 関連の画像演算ルーチンの一部をアセンブラ(MMX,EMMX)化 ・既存のアセンブラで記述された画像演算ルーチンを若干高速化 ・Layer.face が時々異常な値になっていたのを修正(beta3で混入) ・Layer.face のデフォルトを dfAuto に ● 2004/8/22 2.23 beta 3 レイヤ関連を初め、大きな変更があります。 「吉里吉里2リファレンス - グラフィックシステム」を参照してください。 ・Layer.operateStretch (拡大縮小演算合成), Layer.operateAffine (アフィン 変換演算合成) 追加 ・Layer.pileRect, Layer.blendRect, Layer.stretchPile, Layer.stretchBlend, Layer.affinePile, Layer.affineBlend は旧式とされ、今後メンテナンスさ れません。 代わりにそれぞれ Layer.operateRect, Layer.operateStretch, Layer.operateAffine を使用してください ・Layer.holdAlpha プロパティ (αチャンネルを保護するか) 追加。 Layer.pileRect などの引数 hda を無視するように。使っていた場合は警告が コンソールに表示されます (代わりに Layer.holdAlphaプロパティを使用して ください) ・Layer.face に指定できる値として dfAlpha (dfBothと同じ)、 dfOpaque (dfMain) を追加。以後、dfBoth よりも dfAlpha を、dfMain より も dfOpaque を使用することが推奨されます ・Layer.face に指定できる値として dfAuto 追加。レイヤタイプに従い、適切 な描画方式を自動的に決定します。 ・Layer.operateRect などの mode 引数に指定可能な値として omAuto 追加。 omAuto は重ね合わせ元レイヤのレイヤタイプに従って演算の種類を自動的に 決定するモードです ・Layer.type に指定できる値として ltAlpha (ltTransparentと同じ)、 ltOpaque(ltCoverRectと同じ) を追加。以後、ltTransparent よりも ltAlpha を、 ltCoverRect よりも ltOpaque を使用することが推奨されます ・Layer.type に指定できる値として ltAddAlpha (加算αブレンド) 追加。 これに伴い、Layer.face に指定できる値として dfAddAlpha(加算αブレンド) 追加、Layer.operateRect などの mode 引数に指定可能な値としてomAddAlpha 追加。 ltAddAlpha には制限があって、ltAddAlpha のレイヤは ltAlpha のレイヤの 直接の子になると正常に表示できません(孫以下ならば可)。 加算アルファブレンド関連の描画演算は、まだ最適化が進んでいません。 ・Layer.loadImages は辞書配列を返すようになりました。この辞書配列には画 像に含まれた「タグ情報」が入っています。タグ情報は、現バージョンでは 「画像フォーマットコンバータ」がTLG5/6画像に対して出力します ・(画像フォーマットコンバータ) ltAddAlpha形式の入力や、ltAddAlpha形式の 出力ができるようになりました。そのほかPSD形式の読み込み強化、TLG5/6へ のタグ情報の出力などの機能追加があります ・(TJS2) Dictionary.assign の第2引数に「コピー先辞書配列をクリアするか どうか」を指定できるようになりました ・エラーメッセージのいくつかを、より親切な物に変更 ● 2004/8/11 2.23 beta 2 ・ContinuousHandlerが登録順偶数インデックスの物しか呼ばれなかったのを修正 ・連続してSystem.inputStringを使うと2回目以降でIMEが有効にできなくなって いたのを修正 ・スクリプトの組み方によってはトランジション終了時などにEAccessViolation が発生していたのを修正 ・バージョン情報にSVNリビジョン番号を含めるように ● 2004/7/4 2.23 beta 1 ・XP3暗号化インターフェースの変更 (ソースbase/win32/plugin_kit/xp3filter を参照してください) ・(Releaser) CVS メタ情報ディレクトリを無視するように ● 2004/6/23 2.22 Rev.2 ・ウィンドウが非アクティブの状態でパッドのボタンを押すと、ウィンドウがア クティブになったときにボタンが押されっぱなしの状態として認識されていた のを修正 ・Window.useMouseKeyがtrueの時にパッドのボタンが離されてもonMouseUpが発 生しなかったのを修正 ・(ループチューナ)ドライブのルートディレクトリにファイルを保存すると以降 ファイル選択ダイアログボックスが開かなくなっていたのを修正 ● 2004/6/20 2.22 Release ・ファイル破損チェックツールで、結果をクリップボードにコピーできるように ・希に吉里吉里が終了しなくなる場合があったのを修正 ・Flash再生終了後にキー・ホイール入力ができなくなる場合があったのを修正 ● 2004/5/31 2.22 RC2 ・IME制御がうまくできない不具合を修正 ・-controlime オプション追加(IME状態制御) ・Releaserで実行可能ファイルを生成できなかったのを修正(RC1で混入) ● 2004/5/23 2.22 RC1 ・コマンドラインオプションに -about 追加(著作権情報の表示) ・コマンドラインオプションで「コントローラ」表示などのホットキーを変更で きるように ・System.inputStringでIMEが無効であったのを修正(beta6で混入) ● 2004/5/16 2.21 beta 9 ・レイヤの画像サイズが同じで表示サイズが異なる時、children=trueのトランジ ションでEAccessViolation例外が発生する場合があったのを修正(この条件下 では"トランジション元とトランジション先のレイヤのサイズが一致しません" のエラーを出すようにしました) ・(TJS2) 後置'!'演算子(文字列を式と見なして評価する演算子)で、式をthisコ ンテキスト上で実行するように *注意* KAGにも、この後置!演算子の仕様変更による変更がありますのでご注意くだ さい。 TJSスクリプト(KAGそれ自体も含む)を最新の物に置き換えて頂くのがスマー トですが、互換用のオプションとして -evalcontext があります。これを global にすることで、従来の TJS2 の後置!演算子と同じく、式を global コンテキスト上で実行するようになります。 Scripts.evalは式を常にglobalコンテキスト上で実行しますので、従来の後 置!演算子は Scripts.eval に置き換えることができます。 -evalcontext オプションを global にすると、後置!演算子が非グローバル 位置で用いられていると 「グローバルでない場所で後置 ! 演算子が使われています」 という警告がコンソールに表示されるようになっています。どこで後置!演算 子を使ったのか分からなくなってしまった方は、この情報が役に立つと思い ます。 ● 2004/5/6 2.21 beta 8 ・キー・署名ツールやファイル破損チェックツールで、Releaserで出力した実行 可能ファイルを正しく扱えなかったのを修正 (以前のバージョンのキー・署名ツールで署名した、Releaser出力の実行可能 ファイルの署名は無効になります。お手数ですがもう一度署名しなおしてくだ さい) ・キー・署名ツールをコマンドラインから呼び出して署名を行えるように ● 2004/5/3 2.21 beta 7 ・onKeyDownでssRepeatを検出できないバグ、Window.useMouseKey=trueの際に Enterキーでクリックの動作を行えなかったバグを修正(2.21beta5で混入) ・Timerの精度を改善 ・Window.mouseCursorState追加(マウスカーソル表示状態) ・吉里吉里の設定を外部ファイルに記録できるように(吉里吉里2のドキュメン トの「吉里吉里設定-外部設定ファイルについて」参照) ● 2004/4/26 2.21 beta 6 ・Window.imeMode と Layer.imeMode 追加 (IME制御) *注意* レイヤの imeMode のデフォルトは imDisable (IME無効) です。このままで はIMEを使用した日本語文字入力などができませんので、IMEを使用可能に したい場合は imDontCare(IME入力制御無し) や imOpen(IME有効) にしなけ ればなりません。KAG3 の IME制御は 3.21 beta 6 から対応していますので、 KAG3に関しては別途考慮の必要はありません。 ・Window.onMouseEnter と Window.onMouseLeave イベント追加 (クライアント エリア内にマウスカーソルが入ったとき/出たとき) ・(TJS2) Dateクラスの日付文字列解釈ルーチンの書き直しをした (RFC1123 と RFC1036、ctime、YY/MM/DD hh:mm:ss 形式とその変形に対応) ● 2004/4/18 2.21 beta 5 ・Window.postInputEvent メソッド追加(入力イベントの生成) ・仮想キーコード VK_PADANY 追加 (いずれかのパッドのボタンが押されているか どうかを System.getKeyState メソッドで取得) ● 2004/4/12 2.21 beta 4 ・パッド(ジョイスティック)対応。キーボード入力と同様に扱えます。 onKeyDown, onKeyUp (onKeyPressでは扱えません) イベントや System.getKeyState メソッドで VK_PAD???? (仮想キーコード一覧参照) を 拾えます。 ・userconf.exeを「エンジン設定.exe」に改名して、配布ファイル中の kirikiri2\enduser-toolsに移動。配布するときは吉里吉里の実行可能ファイ ルと同じ場所に配置してください。 ・今まで別配布となっていた Loop Tuner を krdevui.dll に統合 ( 配布ファ イル中の kirikiri2\tools\krkrlt.exe で起動 )。 ・(ループチューナ) 画面右端のデータ外の部分から選択を行うと、再生時にハ ングアップする場合があったのを修正 ・エンドユーザ向けの「ファイル破損チェックツール」同梱 ・設定で「画像キャッシュ制限」を「自動」にしたときのキャッシュ容量を従 来の約半分に ・配布フォルダ構造の変更(エンドユーザ向けツールを別フォルダに) ● 2004/4/2 2.21 beta 3 ・高圧縮率の可逆画像圧縮フォーマット TLG6 サポート。画像フォーマットコ ンバータで変換可能です。 ・Layer.assignImagesで同じ画像(内部的に共有している画像)がassignされる ときには画面を更新しないようにした ● 2004/2/23 2.21 beta 2 ・画像バッファ解放時にバッファオーバーラン・アンダーランのチェックを行う ようにした ・終了時に ddraw.dll をプログラム内で解放しないようにした ・MIDISoundBuffer.midiOut でランニングステータスを含むメッセージを正常に 送信できなかったのを修正 ・レイヤ B が A の子孫であるとき、 A.opacity != 255 || (A.type != ltCoverRect && A.type != ltTransparent) かつ B.opacity == 255 && B.type == ltCoverRect のとき表示が変になっていたの を修正 ● 2004/1/8 2.21 beta 1 ・画面更新領域管理の高速化 ・wuvorbis.dll を vorbis 1.0.1 ベースにバージョンアップ ● 2003/12/16 2.20 release ● 2003/12/6 2.19 beta 19 ・レイヤのタイプに ltScreen (スクリーン乗算) 追加 ・コントロールパネルのマウスの設定で「主と副のボタンを切り替える」を有効 にしているとSystem.getKeyStateに渡すVK_LBUTTONとVK_RBUTTONが逆に(物理的 な配置のままに)なっていたのを修正 ● 2003/11/14 2.19 beta 18 ・-dbstyle=auto (ダブルバッファリング自動検出) で DirectDraw が使用不可の 環境で内部的に EAccessViolation が発生していたのを修正 ・DirectDraw と DirectSound のドライバの情報をコンソールと環境情報に出力 するように ● 2003/11/11 2.19 beta 17 ・マルチディスプレイ環境でツールチップヒントを表示しようとするとエラーが 発生する不都合を修正 ・Windows XP の一部で DirectDraw でフルスクリーン切り替えに失敗する不都合 を修正 ・一部の環境でプロセスが終了するまでに時間がかかる不都合を修正 ・wuvorbis.dll を更新 (古いバージョンのエンコーダでエンコードされたスト リームに対して警告をコンソールに出すように) ● 2003/9/28 2.19 beta 16 ・-laxtimer オプション追加 (タイマイベント許容量制限) ● 2003/9/21 2.19 beta 15 ・Layer.affineBlend で Layer.face=dfMain、引数 opa != 255, mode = stNearest, hda=false 時の描画ルーチンを MMX 化し、高速化 ・Layer.stretchBlend で Layer.face=dfMain、引数 opa != 255, mode = stNearest, hda=false 時の描画ルーチンを MMX 化し、高速化 *Note* 吉里吉里は 描画先 face が dfMain のとき、多くの描画メソッドにある hda (hold destination alpha) 引数で動作が違います。hda 引数に true を 渡すと描画先レイヤのα値は保護されます。hda 引数に false を渡すと 描画先レイヤのα値は破壊されますが、より高速に動作できます。 type=ltCoverRect のレイヤなど、α値が表示に関係ないレイヤに対しては hda 引数には false を渡すと効率的です。 ● 2003/9/11 2.19 beta 14 ・モード付きのウィンドウ(Window.showModalで表示したウィンドウ) に onCloseQuery が発生しなかったのを修正 ・アーカイブ名とアーカイブ内ストレージ名を区切る記号が '#' から '>' に なった ・-arcdelim オプション追加 (アーカイブの区切り記号) *注意* TJSスクリプトのうち、Storages.addAutoPath などでいままで "#" を書い ていた所を ">" に書き換える必要があります。 付属の KAG は 3.19 beta 14 で ">" を使うように変更してあります。 区切り記号が "#" であることを期待している、従来のアプリケーションはそ のままでは動作できませんが、「吉里吉里設定」(krkrconf.exe) で arcdelim オプションで「'#'を使う」を選択するか、あるいはコマンドライ ンオプションで -arcdelim='#' を指定すれば従来通りの解釈になりますので、動作します。 ● 2003/9/10 2.19 beta 13 ・Timer.capacity プロパティ追加(イベントの最大発生許容量) ・Layer.releaseCapture メソッド追加(マウスイベントキャプチャを解除) ・マウスボタンのすべてのボタンが放されないうちはマウスイベントキャプチャ を解除しないように ・ダブルバッファリングを有効にしているときに Layer.onPaint 内で他のレイヤ に対して行った描画が画面に反映されなかったのを修正 ・レイヤ「当たり判定」で子レイヤの領域が親レイヤの領域でクリップされてい なかったのを修正 ・(TJS2) 負の real 値が Array.saveStruct, Dictionary.saveStruct で正の 数値として保存されてしまっていたのを修正 ● 2003/9/6 2.19 beta 12 ・トランジションの "裏" (src) レイヤにトランジション中に加えた画像更新が その場ですぐに反映されなかったのを修正 ・ユニバーサルトランジションを透過情報のあるレイヤに対して行うときで vague<512 の時の計算式がおかしかったのを修正 ・Layer.getLayerAt メソッド追加 (指定位置にあるレイヤを得る) ・Layer.neutralColor プロパティ追加 (中性色) ・Window.borderStyle を bsSingle に設定しても最大化ボタンが無効にならな い場合があったのを修正 ・(TJS2) Array.sort メソッド追加 (配列のソート) ・(TJS2) Array.reverse メソッド追加 (配列の要素を逆順にする) ● 2003/8/19 2.19 beta 11 ・(TJS2) Array.find の第二引数の動作がおかしかったのを修正 ● 2003/8/4 2.19 beta 10 ・キー・署名ツールで一般ファイルに署名できなかったのを修正 ・レイヤタイプに ltLighten 比較(明) を追加 ● 2003/7/5 2.19 beta 9 ・拡張子が tpm のファイルをプラグインと見なし、起動時(startup.tjs実行の 直前)に自動的に読み込むようにした ・CopyRectなどで自分自身に自分自身をコピーするような場合、ビットマップの 情報が不正になることがあったのを修正 (beta8 で混入) ・-dbstyle=ddraw の時にプルダウンメニューの一部が画面上に残ったままにな ることがある問題に対処 ・krkrsign (キー・署名ツール) 追加 (吉里吉里本体やデータに署名を行うこと ができます; 著作権保護・ネットワーク対応時などに活用する予定 ) ・(TJS2) a?b:c で b と c がローカル変数の場合、おかしな VM コードを出力 していたのを修正 ● 2003/6/23 2.19 beta 8.1 ・乗算、減算、覆い焼き、比較(暗) のブレンドモードが重ね合わせ先(奥になる レイヤ) のα値を破壊していたのを修正 ・wuvorbis.dll 非SSE/非3DNow! CPU 用の最適化を強化 ● 2003/6/22 2.19 beta 8 ・レイヤでcopyRectでレイヤ全体をコピーするとレイヤのフォントの状態が変 わってしまうバグを修正 ・レイヤタイプに ltDarken 比較(暗) を追加 ・MMX 使用時のアルファブレンドの演算精度の改善 ・wuvorbis.dll の libvorbis を最新の CVS の物に (最適化も強化) ● 2003/6/7 2.19 beta 7 ・WaveSoundBuffer 再生時にデコードスレッドがCPUを占有する機会を減らした ・画像フォーマットコンバータを krdevui.dll に統合 ・-inmm オプションの動作をサポート外に (指定は可能ですが動作はサポート外 になります) ● 2003/6/1 2.19 beta 6 ・配布ディレクトリ構造を変更 ( 開発時にのみ使うツールを tools ディレクト リに移動しました ) ・開発時に使うツールを UPX で圧縮 (一般配布用のファイルには未使用) ・System.exceptionHandler 追加 ( 捕捉されない例外の処理関数 ) ・画面更新時にダブルバッファリングを可能に ( -dbstyle オプション追加 ) ・(TJS2) @if(偽) 〜 @endif の @endif の直前にコメントがあるとフリーズし ていたのを修正 *重要* ベータ版期間中は -dbstyle=auto -waitvsync をあらかじめ設定した吉里吉 里コアを配布します。このオプションは「ダブルバッファリング」の自動選 択を有効にし、画面更新で垂直同期を待つようにする物で、詳細は吉里吉里2 のドキュメントの「コマンドラインオプション」の dbstyle と waitvsync の項を参照してください。バグ報告や不都合報告をお待ちしております。 m(_ _)m ● 2003/5/14 2.19 beta 5 ・Array.save 等のモードに "z" (圧縮) 追加 ・(TJS2) @if(偽) と @endif の間に / があるとフリーズしていたのを修正 ・(TJS2) Math.RandomGenerator クラス追加 (MT法乱数発生器) ● 2003/5/4 2.19 beta 4 ・regex++ を最新の物に ・Layer.operateRect で減算と覆い焼き合成、hda=true 時の不具合を修正 ・Window.useMouseKey を真にした場合の動作を改善 ● 2003/4/19 2.19 beta 3 ・MenuItem.shortcut 実装 (ショートカットキーの指定) ・(TJS2) 変数の2重宣言で初期値が指定されていない場合は void にするように ・(TJS2) . (直接メンバ参照)演算子の右側に予約語がきてもかまわないように ● 2003/4/4 2.19 beta 2 ・(TJS2) オブジェクト型非nullを真、nullを偽として扱うように ・マウスカーソルを変更してもすぐに反映されない場合があったのを修正 ・親を失った子レイヤが自分をプライマリレイヤだと勘違いするバグを修正 ● 2003/3/17 2.19 beta 1 ・コンソールをエラー時に表示するかどうかのコンテキストメニュー項目をコン ソールに追加 ・(TJS2) ハッシュ表のサイズを動的に調整するように(すこし高速化) ・開発環境をWindowsXPに移行 ● 2003/3/7 2.18 release ・Window.registerMessageReceiver メソッド追加 (プラグイン用) ● 2003/2/25 2.17 beta 10 ・(TJS2) 条件コンパイル式がコメントアウトできない、条件コンパイル式中の 変数に再代入しても値が更新されない問題を修正 ・(TJS2) /= で始まる正規表現パターンが使用できなかった問題を修正 ● 2003/2/19 2.17 beta 9 ・-wsl1len と -wsl2len オプション追加 (サウンドバッファ長) ● 2003/2/18 2.17 beta 8 ・MIDISoundBuffer で note on の前に track volume を強制的に送出するように ・(TJS2) ''.sprintf() が EAccessViolation 例外を発生させていたのを修正 ・(TJS2) '%s'.sprintf('') == '' が偽になっていたのを修正 ・(TJS2) 空文字列との大小比較で例外が出ていたのを修正 ・(TJS2) regex++ を最新の物に ・(TJS2) new RegExp("") (空正規表現パターン) を使用可能に ・(TJS2) "fff".replace(/^f/g, "-") のような場合すべての文字を置き換えてし まっていたのを修正 ・(TJS2) RegExp.split, String.split 追加 ( Array.split で正規表現による split も可能に ) ● 2003/2/10 2.17 beta 7 ・Layer.operateRect メソッド追加 (矩形演算合成) ・userconf.exe が自分自身のファイル名に全角文字が含まれていた時の動作が 危なかったので修正 ● 2003/2/7 2.17 beta 6 ・Layer.type に ltSubtractive (減算合成)、ltMultiplicative (乗算合成)、 ltDodge (覆い焼き) 追加 ・WaveSoundBuffer.pan 追加 (パン) ● 2003/2/3 2.17 beta 5 ・(TJS2) "%s".sprintf("") などが例外を発生していたので修正 ・(TJS2) 負の数に対する \ 演算子が正常に動作していなかったのを修正 ・(TJS2) オブジェクトのメンバに値として null を設定した場合の動作がおか しかったのを修正 (thanks sugi氏) ・16bit を越える PCM, 32bit float PCM, 4ch/5.1ch PCM などを再生可能に ( DirectSound 関連のオプションを 5 つ追加 ) ・(Releaser) 展開プロテクトが指定されたときにアーカイブ内に警告文を格納す るように ・(Releaser) コマンドラインからプロジェクトフォルダと -go オプションが指 定された場合は自動的にアーカイブを作成して自動的に終了するように ( あらかじめ設定を済ませ、default.rpf を「プロファイル : 保存」でプロ ジェクトフォルダに作っておく必要があります ) ・MIDISoundBuffer を使用しているときに終了時にフリーズすることがあった のを修正 (beta1 で混入) ・(wuvorbis) 32bit float 出力をするかどうかのオプションを追加 ● 2003/1/28 2.17 beta 4 ・(TJS2) 例外オブジェクトとしてオブジェクト以外を投げた場合に勝手に例外 がオブジェクト型に変換されていたのを修正 ・(TJS2) 浮動小数点数を文字列に変換するときに小数点以下 15 桁まで表示す るように ・(TJS2) 非数や無限大を処理できるようにした ・(TJS2) 予約語に NaN と Infinity 追加 (それぞれ非数と無限大) ・(TJS2) 16進, 8進, 2進の小数点形式を受け付けるように (0x8.4 など) ・(TJS2) 文字列のメソッドに escape メソッド追加 ( \ などを エスケープ ) ● 2003/1/24 2.17 beta 3 ・プラグインからもオプション情報を得られるように ( ドキュメントの「プラグ インについて」参照、プラグインを作る方は basetest も参照 ) ・エンドユーザ向け設定ツールの機能を本体に内蔵 ( userconf.ini と krdevui.dll を共に配布しなくても設定が行えるようになりました。詳しくは ドキュメントの「吉里吉里設定」参照 ) ・System.assignMessage 追加 ( メッセージの割り当て ) ・起動時に msgmap.tjs があれば読み込むようにした ・コントローラから msgmap.tjs を作成する機能を追加 ( ドキュメントの「コントローラ」参照 ) ● 2003/1/20 2.17 beta 2 ・ストレージ周りの内部実装の改良 ・file://local/ が file://./ になった ・アーカイブ内で階層の浅い場所を階層のより深い場所よりも後で自動検索パ スに設定すると深い階層のファイルが検索できなかったのを修正 ・ストレージ名の解釈方法が微妙に変わっているかもしれません ・Window.setMaskRegion Window.removeMaskRegion 実装 ( 不定形ウィンドウ ) ● 2003/1/10 2.17 beta 1 ・スレッドのベースクラスを全部自作の物にした ・Storages.getFullPath で ../ などの冗長なパス名を縮めたときに文字列がお かしくなっていたのを修正 ● 2002/12/31 2.16 release ・付属ドキュメント類を XHTML1.0 Transitional / XHTML1.0 Frameset にした ● 2002/12/19 2.15 beta 6 ・メニューバーを非表示にしてフルスクリーンにしてもメニューバーが表示され たり、ウィンドウ表示に復帰するとメニューバーが表示されてしまっていたの を修正 ・(TJS2) 文字列即値の前に @ を書くと、文字列即値中の & から ; までの間あ るいは ${ から } までの間を式として見なし、その結果をそこに展開するよ うにした ( 例: @"変数 hoge の内容は &hoge; です" ) ● 2002/12/8 2.15 beta 5 ・wuvorbis.dll の (libvorbisに関する) ライセンス条項をバージョン情報に含 めた ・-reducecpu オプション追加 ( CPU使用率の低減 ) ・(TJS2) 式の計算結果が "真" を表すときの値や、 true を整数値としてみた ときに -1 ではなく 1 になるようにした ( C や JavaScript と同じになりま した。ただし、TJS2 には boolean 型が無く、整数型で "真" と "偽" を区別 します。ややこしいですが、"0 でない数値" つまり "非 0" が真を表し "0 という数値" が偽を表します。1 は真偽が要求される場面では "真" とし て処理されますが、"非 0" が真であるため、"真" がかならずしも 1 という 数値として得られる訳ではありません。TJS2 自体は 真 を 1 として表すよう になっただけで、吉里吉里の組み込みメソッドやその他のメソッドが必ずしも 真を 1 として返してくるわけではないです ) ● 2002/12/3 2.15 beta 4 ・Layer.setClip, Layer.clipLeft, Layer.clipTop, Layer.clipWidth, Layer.clipHeight 各メソッド/プロパティを追加 ( 描画クリップ領域 ) ● 2002/11/29 2.15 beta 3 ・Layer.independMainImage, Layer.independProvinceImage メソッド追加 ( 画像共有状態の強制的な解除 ) ・Layer.type で ltAdditive を指定できるように (加算合成) ● 2002/11/25 2.15 beta 2 ・type=ltTransparent, face=dfMainの状態のレイヤに対して colorRect が正常 に動作しないことがあったのを修正 ・(TJS2) 「バリアント型を変換できません」例外をより詳細に通知するように ・(TJS2) throw ステートメントで、すべての例外メッセージが初回の例外メッ セージとなってしまっていたのを修正 ・(TJS2) with(xxx) で xxx がそのさらに外側の with を参照していた場合不正 な VM コードが出力されていたのを修正 ・(TJS2) 文字列アクセスの高速化 *重要* プラグインインターフェースの一部 ( tTJSVariantString のバイナリレイア ウトとメソッド ) が変わったため、これ以前の吉里吉里ソースに付属してい た tp_stub.h と tp_stub.cpp を使用していたプラグインは正常に動作しな い可能性があります ( 正常に動作する場合もあります )。問題が起こった場 合は最新の tp_stub.h と tp_stub.cpp を使って再構築してください。 また、吉里吉里 SDK 付属のプラグインはなるべくその SDK とともに配布さ れたプラグインを使用してください。 ● 2002/11/13 2.15 beta 1 ・起動時に "data" フォルダをプロジェクトフォルダとして検索する優先順位を 下げた ( Releaser で作成した実行可能ファイルと同じフォルダに data フォ ルダがあってもそちらを参照しなくなりました ) ・吉里吉里独自のライセンスの方を微妙に改訂 ( 「吉里吉里設定」は配布時に 出所を明記する必要はありません ) ・(TJS2) "string function {}" のような オブジェクト->文字列変換を行うよ うな操作で EAccessViolation が出ていたのを修正 ・(TJS2) ほかのスクリプト中などに埋め込まれた TJS2 スクリプトでも正しく 行表示ができるように改良 ・Font.unmapRenderedFont には引数が必要ないのに引数を要求されていたのを 修正 ・画像フォーマットコンバータで「透過情報を持たない画像の出力形式」にTLG5 を指定しても正常に動作しなかったのを修正 ・透過画像に対するcrossfadeとuniversalトランジションの演算式が間違ってい たのを修正 ● 2002/10/17 2.14 release (動作に影響を与えるような変更はありません) ● 2002/10/12 2.13 beta 9 ・Window.hideMouseCursor で一時的に隠したマウスカーソルを cursorX cursorY プロパティの設定でも表示するようにした ・拡張トランジションプラグインで使用できるトランジションに "ripple" (波紋) 追加 ( 吉里吉里2リファレンスの「トランジションについて」参照 ) ● 2002/10/5 2.13 beta 8 ・フルスクリーン時にモーダルなウィンドウの裏にツールチップヒントが隠れて しまうことがあったのを修正 ● 2002/10/3 2.13 beta 7 ・Debug.logAsError 追加 (エラー時と同じようにログをファイルに出力開始す る) ・すこしマルチプロセッサ環境を考慮 ● 2002/9/30 2.13 beta 6 ・wuvorbis.dll libvorbis を最新の CVS 版に差し替え ・CPU 情報のコンソールへの出力の強化 ・Ctrl + F11 で環境情報等をクリップボードにコピーできるように ● 2002/9/24 2.13 beta 5 ・コンソールへ自動的に出力される環境関連の情報の見直し ・Debug.notice 追加 ( 重要な情報のロギング ) ● 2002/9/20 2.13 beta 4 ・いままで不十分だった TJS2 の定数畳み込みを完全に実装 ・(TJS2) 「文字列」→「 " " でエスケープされた文字列」の変換で \x04 のよ うな文字が正常にエスケープできてなかったのを修正 ・"player" (超簡易オーディオプレーヤ) 添付 ● 2002/9/17 2.13 beta 3 ・TJS2 に "with" 文追加 ( いままで予約語に入れ忘れていた "with" という単語が予約語になります。 ご注意ください ) ● 2002/9/14 2.13 beta 2 ・System.createUUID メソッド追加 ( UUID 文字列の生成 ) ・吉里吉里終了時のほんのちょっとした間 ( 0.2秒ぐらい ) を無くした ● 2002/9/11 2.13 beta 1 ・TJS2 インターフェース周りを少し整備 ● 2002/8/31 2.12 release (動作に影響を与えるような変更はありません) ● 2002/8/24 2.11 beta 7 ・-fsmethod オプション追加 ( フルスクリーン切り替え方法 ) ・PNG の iCCP チャンクを読み込まないように ( エラー回避 ) ● 2002/8/20 2.11 beta 6 ・(TJS2) 例外発生時に呼び出し履歴の表示ができるように ● 2002/8/19 2.11 beta 5 ・コンソールで式入力ができないことがあったのを修正 ・-wsglobal オプション追加 ( DirectSoundでグローバルフォーカスを得るか ) ● 2002/8/13 2.11 beta 4 ・オプション -aaresfac 廃止 ( -aamethod に統合 ) ・(beta1時の変更により) WaveSoundBuffer で PCM を再生しようとしたときに エラーが発生することがあったのを修正 ・wave 対応形式を拡張子で判断するように ・アーカイブを扱う Susie プラグイン (00AM形式) に対応 ● 2002/8/3 2.11 beta 3 ・ホイールの検出方法を選べるようにした ( -wheel オプション ) ・wuvorbis.dll (OggVorbisデコーダ) をもうちょっと高速化 ● 2002/7/27 2.11 beta 2 ・画像演算ルーチンの一部を SSE/EMMX に対応 ・MIDI 再生時に MIDIメッセージ送出順序が狂う場合があったのを修正 ・MIDI メッセージ Reset All Controllers で Channel Volume が 100 に初期 化されると仮定するようにした ● 2002/7/23 2.11 beta 1 ・WaveSoundBuffer.looping が偽の時はループ情報 (.sli) を無視するように ・WaveSoundBuffer の useVisBuffer channels bits frequency position totalTime getVisBuffer の各メンバを実装 ・wuvorbis.dll (OggVorbis) を libvorbis 1.0 化、ついでに SSE に対応 ・krkrrel.exe と krkrconf.exe がコマンドラインを読むようにした ・fftgraph.dll (WaveSoundBufferと同期してスペアナ表示) プラグイン 添付 ● 2002/7/5 2.10 release ・キーボード操作のみのときにツールチップヒントが出なかったのを修正 ・デバッグ支援ウィンドウの類が画面外に表示されてしまう場合を修正 ● 2002/7/2 2.09 beta 9 ・(TJS2) Windows98 で 配列の添え字に文字列を使用したときの動作がおかし かったのを修正 ・Windows95/98 でファイル選択ダイアログボックスが開かなかったのを修正 ● 2002/6/28 2.09 beta 8 ・ほんのちょっとファイルサイズ削減 ● 2002/6/21 2.09 beta 7 ・ルートフォルダで実行の際 Win9x 系でpluginの検索に失敗していたのを修正 ● 2002/6/18 2.09 beta 6 ・表示更新時に同じ更新領域を必要以上に再描画する事があったのを修正 ● 2002/6/16 2.09 beta 5 ・System.personalPath, System.appDataPath 追加 ( ユーザフォルダの取得 ) ・Storages.selectFile 追加 ( ファイルを選択するダイアログボックスを開く ) ・Layer.saveLayerImage 追加 ( レイヤの画像を保存する ) これに伴って同機能の imgsav.dll を廃止 ・Array.save などのテキスト入出力系メソッドのモード文字列に "o" ( ファイル中でのオフセット指定 ) 追加 ● 2002/6/10 2.09 beta 4 ・低メモリ環境 ( 物理メモリが 48MB 以下 ) では自動的にメモリ使用量をケチ るようにした ● 2002/6/7 2.09 beta 3 ・コンソールの表示部分の改良 ・onKeyDown イベントの shift に ssRepeat (キーリピートしている) を追加 ・(TJS2) グローバル関数の実行コンテキストをデフォルトで global にした ● 2002/6/3 2.09 beta 2 ・System.touchImages 追加 ( 画像をキャッシュに入れる ) ・Window.hideMouseCursor 追加 ( 一時的にマウスカーソルを隠す ) ・dirlist.dll プラグイン追加 ● 2002/5/29 2.09 beta 1 ・ツールチップヒントがキーボード操作で消えてしまわないようにした ● 2002/5/23 2.08 release ・「全般-メモリ使用量」(-memusage) オプション追加 ・OggVorbis プラグイン (wuvorbis.dll) 更新 ● 2002/5/18 2.07 beta 6 ・メモリ使用量の削減と動作の高速化 ・画像読み込みの高速化 ● 2002/5/11 2.07 beta 5 ・透過画像フォーマットコンバータを画像フォーマットコンバータに ( 不透過 の画像への対応や TLG5 形式への変換機能など ) ・OS間で文字幅が変わることがあったのを改善 *重要* 字詰めが変わることがあります。 ● 2002/5/9 2.07 beta 4 ・まれに画面更新時にゴミが出ることがあったのを修正 ・ハードウェア例外が発生したときに hwexcept.log ファイルを作成するように ・可逆画像圧縮形式 "TLG5" への対応 ( 圧縮ツール添付 ) ● 2002/5/3 2.07 beta 3 ・画像サイズを変更する際に画像位置を誤設定する可能性があったのを修正 ● 2002/4/29 2.07 beta 2 ・Layer.imageModified 属性追加 ( 画像に変更があったかどうか ) ● 2002/4/26 2.07 beta 1 ・自動検索パス上のファイルの検索の高速化 ・(TJS2) 辞書配列の初期要素指定の最後で余分な , (カンマ)を許すように ● 2002/4/21 2.06 release ・(krkrfont) 「フォント内のすべての文字を含める」をチェックしない場合 ひらがな/カタカナの濁音/半濁音などが出力されなかったのを修正 ● 2002/4/17 2.05 beta 7 ・JPEG 画像のサイズによっては展開時に EAccessViolation が出ていたのを修正 ・メモリ使用量の削減 ● 2002/4/14 2.05 beta 6 ・Flash にパラメータを渡せるように ( hoge.swf?name=data¶m=content の ように指定します ) ・imgsav.dll のファイルサイズ削減 ・extrans.dll のファイルサイズ削減 ・iTVPFunctionExporter のメソッド追加 ( 新しい imgsav.dll および extrans.dll は古い吉里吉里実行コアでは使用できません ) ● 2002/4/10 2.05 beta 5 ・テキスト暗号化方式に問題があったので変更 ・Layer.piledCopy 追加 ( 重ね合わせた画像イメージのコピー ) ・Layer.stretchCopy で線形補間と3次補間を使えるように ( ただし超低速 ) ・flash 再生時のポップアップメニューの項目を表示しないようにした ( ただし 「Macromedia Flash Player について」は出ます ) ・krflash.dll や krmovie.dll を 再生終了後も解放しないようにした ・プラグインとして imgsav.dll 追加 ( 画像保存プラグイン ) ● 2002/4/6 2.05 beta 4 ・Layer.getMainPixel の返す色表現形式が間違っていたのを修正 ● 2002/4/2 2.05 beta 3 ・ほんのちょっとファイルサイズ削減 ● 2002/3/31 2.05 beta 2 ・ウィルス誤認問題のため UPX の使用をしばらくの間見合わせることにした ● 2002/3/28 2.05 beta 1 ・System.createAppLock 追加 (二重起動の防止用) ・(TJS2) Dictionary.saveStruct, Array.saveStruct 高速化 ・(TJS2) 文字列用メモリ確保アルゴリズムの高速化 ● 2002/3/24 2.04 ・実行するフォルダ/アーカイブの選択後に krdevui を解放しないようにした ( フォルダ/アーカイブ選択後に落ちる症状が治るかも ) ● 2002/3/20 2.03 beta 6 ・zlib 1.1.3 → 1.3.4 ・(TJS2) 空文字列を大文字や小文字にしようとしたときに例外が発生していた のを修正 ● 2002/3/13 2.03 beta 5 (動作に影響を与えるような変更はありません) ● 2002/3/12 2.03 beta 4 ・オプションに「システム全般-タイマの精度」追加 ・(TJS2) 式文字列から生成されたコンテキストをキャッシュするようにした ● 2002/3/7 2.03 beta 3 ・画面描画処理の最適化の調整 ・CPU 機能のオプションに force ( 強制的に使用する ) を選択できるように ・(TJS2) 同じオブジェクト内の他のメソッドの呼び出しを高速化 ・(TJS2) VM コードの最適化強化 ( 冗長なジャンプの除去 ) ・(TJS2) プロパティが関数オブジェクトを返すときに、その関数を直接呼ぶ 事ができなかったのを修正 ・(TJS2) 引数の無い関数呼び出しを行うと、呼び出し元関数に渡された引数が すべてそのまま呼び出し先に渡ってしまうバグを修正 *重要*  イベントハンドラ内でスーパークラスのメソッドを呼ぶとき、いままでエ ラー無しで通っていた記述が「引数の数が不正です」エラーになる場合があ ります。この場合は関数呼び出し式に ... を指定して super.onClick(...); のようにするか、正しい数の引数を渡してください。  KAG をお使いの方は、旧バージョンの KAG では動作しません。3.03 beta 3 以降の KAG をお使いください。  いままで動いていたのが動かなくなった等で、よくわからない所がありま したらお気軽にご質問ください。  お手数をおかけします m(_ _)m ● 2002/3/3 2.03 beta 2 ・8bpp 未満のグレースケールPNGが読み込めないことがあったのを修正 ● 2002/2/26 2.03 beta 1 ・16bpp画面用のディザリングを16bpp時のみに行うようにした ・16bppカラーモードのタイプを自動判別するようにした(555/565)(-dither変更) ・Layer クラス affineCopy, affinePile, affineBlend メソッドを追加 ・拡張トランジションプラグイン ( extrans.dll ) 添付 ● 2002/2/11 2.02 release ・レイヤが非表示になったときにレイヤにマウスがレイヤ領域内にあった場合に onMouseLeave イベントを送るようにした ・-wsrecreate ( DirectSoundセカンダリバッファ再生成 ) オプション追加 ● 2002/2/8 2.01 beta 4 ・ユニバーサルトランジションがパラメータによってはあまり綺麗にならなか ったのを修正 ・レイヤサイズを変更すると画面描画がおかしくなることがあったのを修正 ● 2002/2/7 2.01 beta 3 ・縦横2倍の線形補間の拡大ルーチンをちょっと高速化 ● 2002/2/6 2.01 beta 2 ・Layer クラス stretchCopy, stretchPile, stretchBlend メソッドを追加 ・Layer.blendRect メソッド追加 ・Font.getEscHeightX, Font.getEscHeightY の返す値がおかしかったのを修正 ・Layer.setPos に 3,4 番目の引数を追加 ・(TJS2) Math.pow 追加 ・(TJS2) ?: 演算子がレアケースで不正なコードを出力していたのを修正 ・(Releaser) 内容が同一の複数のファイルを一つにまとめるようにした ● 2002/2/2 2.01 beta 1 ・(TJS2) \ \= 演算子追加 (整数除算) ・(TJS2) <-> 演算子追加 ( いれかえ ) ● 2002/1/31 2.00 release ・透過画像フォーマットコンバータ追加 ・WaveSoundBuffer再生開始時の不安定性を改善 ・32bpp BMP をαチャネル付きビットマップとして読み込むようにした ・ウィンドウ表示時にビデオ領域のマウスメッセージが不透過だったのを修正 ・(TJS2) Math.cos を忘れていたので追加 ● 2002/1/17 β41 ・System.shellExecute の2番目の引数に実行時パラメータを指定できるように ・非表示のtype=ltCoverRectなレイヤが原因で画面にゴミが出ていたのを修正 ・レンダリング済みフォントデータ作成ツールの改良 ( すみません、Win95 ではこのツールは動作しなくなりました ) ● 2002/1/12 β40 ・MIDISoundBuffer.midiOut 追加 ( 任意の MIDI メッセージの出力 ) ・MMX ルーチンを少々高速化 ● 2002/1/7 β39 ・OggVorbis プラグイン ( wuvorbis.dll ) 更新。非常に短いファイルが正常に 再生できないという不都合を修正 ・System.toActualColor 追加 ( 色定数を 0xRRGGBB 形式に変換 ) ・旧形式の Wave 系プラグインのサポートを廃止 ( mp3 プラグインは使用でき なくなります ) ・Layer クラスに mainImageBuffer mainImageBufferForWrite mainImageBufferPitch provinceImageBuffer provinceImageBufferForWrite provinceImageBufferPitch の各プロパティを追加 ( プラグインなどから画像 バッファに直接アクセスできるように ) ・画面更新処理の高効率化 ● 2002/1/3 β38 ・本体とプラグイン用のスタブライブラリ ( 吉里吉里本体側の関数を使うための ライブラリ ) の間の手続きを実装 ( いまのところスタブライブラリは 吉里吉里2ソースに含まれています ) ・Window.HWND プロパティ追加 ( ウィンドウハンドル ) ● 2001/12/28 β37 ・tTJSVariant と tTJSString のクラスメソッドをエクスポートできるように ・(TJS2) Array.assignStruct, Dictionary.assignStruct 追加 ( 配列内の配列/ 辞書配列を再帰的に(参照ではなくて)実体をコピー ) ● 2001/12/22 β36 ・フルスクリーン時にマウスホイールが利かなかったのを修正 (マウスホイール の回転検出に DirectInput を使用するようにしたため、DirectX 未導入の環境 でマウスホイールが利かなくなった ) ・children=true でのトランジション処理が重くなってしまっていたのを修正 ・レイヤ移動等時の画面更新処理にバグがあったので修正 ・JPEG画像のデコードの精度をオプションで指定できるようにした(-jpegdec) ・(TJS2) 起動時に乱数ジェネレータの初期化を行うようにした ● 2001/12/16 β35 ・テキストファイル 暗号化ツール 追加。TJS スクリプトや KAG のシナリオファ イルに簡単な暗号化をかけられます ・face=dfMain にてレイヤに文字描画するときにゴミを描画してしまうことがあ るバグを修正 ・Pad クラス追加 ( 簡単なテキストエディタの機能を提供する ) ・細かいバグ修正 ● 2001/12/12 β34 ・System.shellExecute がファイル以外を開けなかったのを修正 ・(TJS2) 後置 ! 演算子や Scripts.eval などが「式の結果」を要求されていな いときでも、式の結果を要求しようとしてエラーになってしまう構文があった のを修正 ( "a=b if b"!; など ) ・(TJS2) 実行速度の向上 ・配布フォルダ構成を変更 ● 2001/12/08 β33 ・Flash 再生に対応 ( krflash.dll 追加 ) ・フルスクリーンへの切り替え動作を簡略化 ● 2001/12/03 β32 ・ユニバーサルトランジションのMMX用ルーチンにバグ ( 横位置が奇数または偶 数のみのルール画像のピクセルが隣のピクセルと同じと見なされてしまう ) があったので修正 ・SoundBuffer 各クラスに volume2 プロパティ追加 ・XP3 アーカイブファイル内の圧縮ファイルのキャッシュを行うようにした ・トランジションビューアを追加 ● 2001/11/29 β31 ・大量のレイヤを表示するときの処理を効率化 ・レイヤノードの画像キャッシュの更新時にゴミがでる場合があったのを修正 ● 2001/11/27 β30 ・フルスクリーン時の2回目以降のムービー再生開始時の不要な画面解像度切り 替えを修正 ・細かい改良を多数 ● 2001/11/24 β29 ・WaveSoundBuffer のストリーミング再生をさらにちょっと安定化 ・書きかけのクラスリファレンス添付開始 ● 2001/11/19 β28 ・Layer.assignImages で画像コピーしても画面更新が発生しなかったのを修正 ・イベント配信関連をちょっと簡略化 ・(Releaser) OggVorbis コードブック共有化にバグがあったので修正 ● 2001/11/15 β27 ・フォントが大量にインストールされている環境で、レイヤのフォントの切り替 えが異常に遅かったのを修正 ・(TJS2) 条件式周りのVMコードの最適化を行うように ( 論理圧縮など ) ● 2001/11/13 β26 ・フルスクリーン時の画面のカラーモードを指定できるようにした ( -fsbpp ) ・文字表示関連の高速化 ・画面分割処理のモードにインターレース分割を追加 ( -gsplit=int ) ・トランジションのパフォーマンスの向上 ● 2001/11/09 β25 ・Window.onMouseWheel, Layer.onMouseWheel イベント追加 ( マウスホイール ) ・16bpp画面モード用にディザリング表示を行えるようにした ( -dither オプ ション追加 ) ・ERI (Entis Rasterized Image) 形式に対応 ・書きかけの TJS2 のドキュメントを追加 ・(TJS2) 辞書配列のメンバに対して ++ や += 演算子などが正常に動作しない 場合があったのを修正 ● 2001/11/04 β24 ・Layer.copyRect で領域画像に対してコピーを行った場合の動作が異常だった ので修正 ・CreateDIBSection 系 API を使用可能に ( -drawdib オプション廃止、 -dibtype オプション追加 ) ・System.getArgument 関数追加 ( コマンドライン引数を得る ) ・フルスクリーン時にキーボードからメニューを操作するとメインウィンドウに フォーカスが戻らない場合があったのを修正 ● 2001/10/29 β23 ・Layer.absolute, Layer.absoluteOrderMode 追加 ( Z順の絶対位置指定関連 ) ・細かいバグとり ● 2001/10/27 β22 ・System.desktopLeft, System.desktopTop, System.desktopWidth, System.desktopHeight 追加 ・-gsplit オプション追加 ( 画面分割処理を行うかどうか ) ・-waitvsync オプション追加 ( 垂直同期を待つかどうか ) ・ツールチップヒントを表示後 EInvalidOp 例外が発生する場合があったのを 修正 ・またいくつかの画像演算ルーチンを MMX 化 ・ライセンスを、吉里吉里独自の物と GNU GPL のデュアルライセンスにした ● 2001/10/18 β21 ・レアなタイミングで、描画を行ったのに画面が更新されない場合があったのを 修正 ・(TJS2) プロパティハンドラを呼び出し中にプロパティハンドラが解放される ときにエラーを起こしていたのを修正 ● 2001/10/16 β20 ・Win9x 系でアンチエイリアス文字描画にリサンプリングを用いるようにした ・-aamethod, -aaresfac オプション追加 ・DrawDib, StretchDIBits 系 API を使用するようにした ・-drawdib オプション追加 ・エンドユーザ向け設定ツール userconf.exe を追加 ● 2001/10/13 β19 ・Win9x 系で横書き、太字の場合のアンチエイリアス文字描画クオリティを向上 ・Layer.copyRect で自分自身全体を自分自身全体にコピーするとエラーを起こ していたのを修正 ・AsyncTrigger の排他イベント処理が全然排他していなかったので修正 ・「動作環境」変更 ● 2001/10/12 β18 ・レイヤフォーカス関連機能の追加 ( onSearchPrevFocusable, onBeforeFocus 等追加 ) ・SSE/SSE2 が使用可能な OS かどうかのチェックを行っていなかったので修正 ・またいくつかの画像処理ルーチンを MMX 化と既存のルーチンの高速化 ● 2001/10/6 β17 ・参照カウンタ管理に関するオブジェクト消滅時のバグ (完全に参照カウンタが 0になりきらないのにオブジェクトを削除してしまっていた) を修正 ・WaveSoundBuffer.paused 実装 ・krkrconf.exe などで設定可能なオプションの情報を吉里吉里本体から受け取 るときにエラーになる場合があったのを修正 ● 2001/10/3 β16 ・フルスクリーン時に Window.innerWidth, Window.innerHeight が正しい値を 返さなかったのを修正 ・自動検索パスに指定したアーカイブが見つからないとスタックオーバーフロー を起こしていたのを修正 ・DirectX3 で サウンドがならなかったのを修正 ・-wscontrolpri, -wssoft コマンドラインオプションを追加 ・ライセンスを独自のものに変更 ● 2001/9/29 β15 ・フルスクリーン時に ALT を押してもメニューバーが表示されなかったのを修 正 ・TSS 形式のプラグイン ( OggVorbis デコーダなど ) が正常に扱えなくなって いたのを修正 ● 2001/9/27 β14 ・Layer.doGrayScale Layer.adjustGamma が正常に動作しない場合があったのを 修正 ・プライマリレイヤ以外でスクロールトランジションを実行できなかったのを修 正 ・またいくつかの画像演算ルーチンを MMX 化 ● 2001/9/26 β13 ・トランジション終了時等など、レイヤ構造が大きく変わる時に EAccessViolation 例外が出る場合があったのを修正 ・またいくつかの画像演算ルーチンを MMX 化 ・(TJS2) コンパイル速度を少し向上 ● 2001/9/22 β12 ・JPEG ライブラリの更新 ( IJG 6a → 6b ) ・複合矩形クラス ( 内部で使用 ) のメモリ管理にバグがあったのを修正 ( トランジション時に落ちるなどのバグを修正 ) ・ハードウェア例外発生時のコンソールへのレポートを強化 ・OggVorbis デコーダプラグインを OggVorbis RC2 ベースのものに更新 ・(TJS2) 変数フレームの消去を省略 ( これによってオブジェクトが変数の消滅 とは非同期に遅延して解放される場合があります; 結局は GC などでいつか削 除されます ) ● 2001/9/19 β11 ・トランジションハンドラ、イベントハンドラ中で起きたエラーに対するレポー ト機能を強化 ・WaveSoundBuffer が、再生/停止時にフリーズすることがあったのを修正 ● 2001/9/18 β10 ・(TJS2) Integer*Integer の場合は整数乗算を行うようにした(いままでは 型に関係なく実数乗算) ・またいくつかの画像演算ルーチンを MMX に対応 ● 2001/9/17 β9 ・(TJS2) インライン配列/辞書配列の要素数が多くなると CG がスタックオー バーフローを起こす場合があったのを修正 ・(TJS2) 通常比較 (==) で void == void や void == 0 や void == '' がな ぜか偽を返していたので修正 ・子レイヤを伴わないトランジションにて、正常な画像が出力されない場合が あったのを修正 ● 2001/9/15 β8 ・System.readRegValue System.osName System.platformName 追加 ● 2001/9/13 β7 ・ハードウェア例外発生時のコンソールへのレポートを強化 ・文字列処理(文字列用メモリ管理)のバグを修正 ・(krkrfont) 除算エラーが出る場合があったのを修正 ● 2001/9/11 β6 ・ユニバーサルトランジションのパフォーマンスのチューニング ・ウィンドウが切り替わったときにレイヤのマウスキャプチャが解除されない 場合があったのを修正 ・レンダリング済みフォントに対応 ( 作成ツール krkrfont.exe を添付 ) ・標準でエラー時にコンソールのログをファイルとして出力するようにした (β版中はずっとこうしているつもりです) ● 2001/9/8 β5 ・MMX 使用後に emms を実行していない箇所があったので修正 ・α合成を MMX 化 ・Win9x 系で太字を指定しても太字にならなかったのを無理矢理太字に加工する ことで改善 ・非表示レイヤの画像更新でもウィンドウを再描画していたので修正 ・まれにイベントが発生しなくなる場合があったのを修正 ● 2001/9/7 β4 ・トランジション関連のパフォーマンスのチューニングをした ( 一部 MMX に対 応させた ) ・ムービー再生で一部のコーデックの再生終了時にフリーズする場合があったの を修正 ・β3で修正した(と思っていた)「キャッシュ一般」のアルゴリズムに別のバグ があったので修正 ● 2001/9/5 β3 ・Window.layerLeft, Window.layerTop 変更時に画面がチラつく場合があったの を修正 ・イベントが一時期に大量に発生して処理しきれないときに操作ができなくなる 場合があったのを改善 ・画像読み込みキャッシュやアーカイブキャッシュ、文字描画キャッシュなど、 吉里吉里内でキャッシュを用いるものがまれに EAccessViolation 例外をおこ してしまう不都合を修正 ・マウス/キーボードイベントの発生順序を、レイヤ, ウィンドウから、ウィンド ウ, レイヤに変更 ・まれなタイミングでタイマのイベントが発生しないことがあったのを修正 ● 2001/9/2 β2 ・レイヤ管理構造の見直し ・MIDI 再生開始時に Reset All Controllers を送信するように ・(TJS2) typeof 演算子の返す Integer が Intefer だったので修正 ・トランジションもとで発生した画像更新が正しく反映されていなかったのを修 正 ・Window.mainWindow や Layer.parent など、該当するオブジェクトが無いとき に null を返すべきプロパティやメソッドが void を返していたので修正 ● 2001/8/31 β1 ● 2001/1/1 TJS2 のテストを兼ねながら 吉里吉里2開発開始 ● 2000/12/31 TJS2 一通り実装完了 ● 2000年8月頃 TJS2 実装着手 --- ● 1999/6/15 吉里吉里1 version 0.7 (TJS1搭載版) ● 1999/4/17 吉里吉里1 version 0.6 (JScript版) ● 1998/4/16 最初のTJSスクリプト構想 ■ ライセンス --------------------------------------------------------------  付属の license.txt をご覧ください。 ■ 移植したい人へ ----------------------------------------------------------  現在開発中の吉里吉里3はマルチプラットフォーム対応になると思いますので そちらにご期待ください。 ■ 作者連絡先 -------------------------------------------------------------- W.Dee 吉里吉里ダウンロードページ : http://kikyou.info/tvp/ 一般的なご質問、バグのご報告などは「吉里吉里ダウンロードページ」内の 「掲示板」をご利用ください。  IRC チャンネルを開設しております : #kirikiriirc ----------------------------------------------------------------------------