吉里吉里 変更点の詳細
kikyou.info
»
吉里吉里 ダウンロードページ
»
吉里吉里 変更点の詳細
吉里吉里 version 2.30 → 2.30 rev.2
Layer.affineCopyで転送先が画像左端にあった場合、左端が1ドット欠ける事があるのを修正
DirectDrawドライバが返す画面モード一覧の中に非フルスクリーンモードと同じ画面モードが無かった場合にフルスクリーン化に失敗するのを回避
吉里吉里 version 2.28 → 2.30
仕様変更
IMEモードを、キーをトラップしているウィンドウに合わせるように
吉里吉里のオプションを拡張子が .cf あるいは .cfu のファイルに保存するように (詳細はリファレンスを参照してください)
画面更新イベントがcontinuousハンドラよりも前に呼ばれていたので後にするように
フルスクリーン表示のアルゴリズムを大幅に刷新 (デフォルトでは一般的な液晶モニタ向けの解像度決定アルゴリズムになっています) これに伴い -fszoom オプション追加、-fsres オプションの指定内容を変更
内部的な描画モデルを新しいモデル(DrawDeviceモデル)に変更 (新しい描画モデルではハードウェア描画を利用するプラグインを作成可能)
新しい描画モデルの追加に伴い、-dibtype (DIB使用方法) オプションを廃止
例外発生時の詳細な内容のダンプをデバッグモード時に限定するように
コンソールログファイルの名称を krkr.console.log に固定
ログファイルの出力先を、デフォルトでプロジェクトフォルダにした
(Releaser)デフォルトで拡張子が log のファイルはアーカイブに格納しない分類にするように
バグ修正
ワイド文字(列)→ナロー文字(列)への変換がどうもWindowsのバグを叩いていたようなので修正
プライマリモニタ以外でmixerを使用してのムービーの再生のフリーズを修正
mixer使用時、ウィンドウサイズよりも大きなムービーを再生しようとするとフリーズする問題を修正
コマンドライン引数に与えられたディレクトリ等がバッファオーバーフローする可能性がある問題に対処
OSがVistaのとき、DirectDrawがベンチマークの結果、最有力としては採用されないようにした。Vista + DirectDraw の動作に不具合が多いため
DrawFace が dfMask の場合のコピー動作の修正(Layer.face = dfMask; Layer.copyRect() の動作修正)
-userconf オプションを指定して起動したときに、セーブデータディレクトリを作成するように (そうしないと設定が保存できないため)
datapath のディレクトリを本当に必要になったときにのみ作成するように
VMR9使用時、再生開始時のビデオサイズよりもウィンドウサイズが大きくなった時、DirectX を再生成してビデオサイズが大きくなるように対応
Layer.hasImage切り替え時に内部の表示状態のキャッシュが無効化されていなかったのを修正、また、update() も呼ばれるように
(VideoOverlayクラス) フルスクリーン切り替えを何度か繰り返すと落ちる不具合の修正(#37)
(VideoOverlayクラス) mode=vomMixerの場合にマウスメッセージをドレインウィンドウ(吉里吉里側)へ流すように
(VideoOverlayクラス) mode=vomMixerの場合にDirect3Dを用いて拡大/縮小処理を行うように
Layer で userAttenstion=true かつ hasImage=false の場合に EAccessViolation が発生する可能性があったのを修正
レイヤのマウスキャプチャがはずされた場合、ウィンドウのマウスキャプチャも同様にはずすように
レアケース(レイヤの重ね方によっては出る可能性がある)でEAccessViolationが発生していたのを修正
フルスクリーン中に他アプリに切り替わった際などのエラーを抑制
ウィンドウ更新メッセージの処理中に発生した例外をキャッチできなかったのを修正
Layerクラスのコンストラクタに指定する引数が足りない場合にエラーにならなかったのを修正
強制的にシステム終了時のエラーを抑制するように
onKeyPress などがイベント集約メソッド (actionメソッド)で発生しなかったのを修正 (#26 https://sv.kikyou.info/trac/kirikiri/ticket/26 )
WaveSoundBuffer.PhaseVocoder.windowやWaveSoundBuffer.PhaseVocoder.overlapに値を指定すると(それが正しい値でも)例外が出てしまうのを修正
WindowsXP SP2 の環境で、「データ実行防止」 (DEP) が有効になっていると、Layer.doBoxBlur でEAccessViolationが発生していたのを修正。
(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 )
機能追加
Window.PassThroughDrawDevice.drawer プロパティ (現在使用されているdrawer) と Window.PassThroughDrawDevice.recreate() (drawer の作り直し) を追加
PassThroughDrawDevice.preferredDrawer (お好みのdrawerを表す)
サブウィンドウでも、拡大縮小があるときかつ指定のdrawerが無い場合はベンチマークを行うように
-usedb オプションを追加(強制的にダブルバッファリングを行うかどうか)
-dbstyle オプションの意味を変更(ダブルバッファリングの方式を選択する意味に)
-waitvsync オプションで垂直同期待ちを行う場合のCPU負荷を軽減
-waitvsync オプションで垂直同期待ちを行う場合はcontinuous handlerのタイミングも垂直同期に合わせるように (-contfreqの設定は無視される)
KAGParser.processSpecialTags を追加(特殊タグを処理するかどうか)
-fszoomにinnerとouterを追加(フルスクリーン時のサイズをディスプレイに内接させるか外接させるか)
(レンダリング済みフォント作成ツールおよびFont.doUserSelectJで) PS 形式 OpenType フォントも列挙するように
フォント名指定で、 カンマで区切って列挙する際、直前の候補のフォント名が空だった場合に、その後のフォントがあってもなくても ( フォントの存在チェックをせずに) 使うように。たとえば ",My Original Font" と書くと、"My Original Font" というフォント名のフォントが強制的に使用される
Window.minWidth, Window.maxWidth, Window.setMinSize などを追加(ウィンドウの最小サイズ/最大サイズの設定)
オプションを動的に変更する System.setArgument メソッドを追加
Window.setMaskRegion() の実装をすっかりほったらかしにしていたので実装
-datapath オプションを追加。System.dataPath プロパティでその設定内容を取得できるように
-printdatapath オプションを追加 (標準出力に -datapath の設定内容を出力する
Timer.interval に実数を指定できるように(1/65536ミリ秒単位で指定が可能)
Timer.mode プロパティ追加 (配信されるイベントの優先度を指定する)
-contfreq オプション追加 (continuous handler の呼び出し周期を制限する) continuous handler はトランジションなどにも利用されているので、これにより実質的な FPS 制限が可能。また、これに伴い -reducecpu オプションを廃止。
(Releaser) -nowriterpf オプションをつけることで、アーカイブ作成時に default.rpf を上書きしないように
(Releaser) コマンドラインオプション -out (出力ファイルの指定)と -rpf (プロファイルの指定) を追加。
コントローラのコンテキストメニューに「スクリプトエンジンの再起動」を追加
吉里吉里のメインウィンドウが閉じたときにシステムを終了させるかどうかを表す System.exitOnWindowClose プロパティを追加
Debug.logLocation プロパティ追加 (コンソールログファイルとhwexcept.logファイルの出力先)
ImageMagickでPNGを-trimしたときに付加されるvpAgチャンクに対応(Layer.loagImages の戻りの辞書配列に vpag_w, vpag_h, vpag_unit として返される)
vpAgチャンクを持ったPNGファイルを画像フォーマットコンバータで変換する際、TLG sdsのタグ情報としてその情報を出力するように
トランジションのオプションに callback 追加 (tickカウントをコールバックで制御する)
WaveSoundBuffer.filters プロパティ追加(インサーションフィルタ配列)
WaveSoundBuffer.PhaseVocoder クラス追加(Phase Vocoder; ピッチシフトやタイムシフトをリアルタイムに行うフィルタ)
(TJS2) Array クラスへの機能追加(pop,push,shift,unshift,length) (sugi氏にコードを寄贈して頂きました、ありがとうございます)
性能向上
(画像フォーマットコンバータ) TLG6圧縮において、フィルタを選択するアルゴリズムにバグがあったために最適なフィルタが選択されない事があったのを修正(圧縮率に影響)
DirectDraw のドライバの情報を DirectDraw を読み込んだだけでは取得しないようにした (Windowsが外部サイトに問い合わせに行ってしまうため)
Direct3D によるダブルバッファリング(+拡大)表示が可能に
ビットマップの横幅を128bit(1 paragraph=16bytes) 単位にアラインメントを行ってから確保するように(画像演算パフォーマンスの向上)
floatと整数のPCM形式の変換にCPUごとの最適化ルーチンを使用するように
(TJS2) Array.saveStructやDictionary.saveStructで保存したデータをconst配列として出力するように。パーザの段階で辞書配列などを組み立ててしまうので辞書配列の読み込みなどが高速化/省メモリ化されるはず
KAG version 2.30 → 2.30 rev.2
(変更点はありません)
KAG version 3.28 → 3.30
仕様変更
krkr.console.logとhwexcept.logを栞と同じ場所に記録するように
バグ修正
EditLayer.tjsの Edit_selLength を削除(実際には利用されていなかったため)
windowzoom.ks 使用時にフルスクリーン中に「フルスクリーン」メニューを選択すると例外が発生していたのを修正
シナリオファイルの最後の行がタブで、タブの後に改行が無いままファイルの終わりになっている場合、EAccessViolation 例外が発生していたのを修正
ムービーのオーバーレイ再生の場合、内部的に mixer モードで試行するように(一部のVista環境でムービーの拡大表示時に補間が効かない問題に対する対処)
スペースキーやEnterキー長押しでのスキップがしづらくなっていたのを改善(3.27-dev.20060527 あたりからの問題)
キーボードでマウスカーソルを移動する際に、マウスカーソル移動後のマウスカーソル移動イベントの処理を自前で処理せずにシステムに任せるように(リンクとグラフィカルボタンなどの onleave, onenter の発生順序を修正)
機能追加
追加の読み進みキーを config.tjs で指定できるように
videoタグにmode=mixerを追加 (VMR9ミキサモード)
MessageLayer.shadowOffsetX および MessageLayer.shadowOffsetY 追加(この設定を変更するには、いまのところ直接メッセージレイヤのオブジェクトのこれらの変数に値を代入する)
ButtonLayer を改良し、ボタンが本当に押されていたときだけに onExecute メソッドを呼ぶように (吉里吉里本体は、ウィンドウ内でマウスボタンが離されると、たとえそのウィンドウ内でボタンが押されていなくてもメッセージを送ってしまうため)
editタグで生成される単一行エディットで、範囲指定やCtrl+X,C,Vによるコピーや貼り付け、切り取りができるように (thx. HALOさん)
これ以前の変更点
これよりも古い変更点については、各配布ファイル中の
kirikiri2/readme.txt
および
kag3/readme.txt
をご覧ください。