sketch / ExHIBIT 開発履歴
| param | 解説 |
| mode | 6 |
| p0 | 表示するmpgのID |
| p1 | 同時に再生するループ効果音があるならwavIdを指定します。ない場合は-1です。 |
| p2 | 将来の予約として、以下のフラグが予約されていますが、現在は0を指定します。
00000000_00000000_00000000_00000000 |||||||| |||||||| |||||||| |||||||+- 1: 前のループの終了を待って変化させる |||||||| |||||||| |||||||| ||||||+-- 1: 接続ポイントを待って変化させる |||||||| |||||||| |||||||| |||||||| |||||||| |||||||+---------- 1: ポーズをまって更新 |||||||| |||||||| |||||++----------- 1: mask付き(下半分がマスク) 2:右半分 |||||||| |||||||| ||| |||||||| |||||||| ||+--------------- 1: 自然終了時停止ではなくポーズ扱いにする |||||||| |||||||| |+---------------- 1: ポーズ時のプロキシが有効 |||||||| |||||||| +----------------- 1: スキップ時のプロキシが有効 |
| p3 | cmdver;tmMode;tmStart;tmEnd;tmLoopStart;tmLoopEnd;regShift;tmShift |
| cmdverはコマンドのバージョンで、現在0です。
tmModeが0の時、tmXXXXは、分.秒.ミリ秒.μ秒 形式で時間を指定します。 tmModeが1以上の時、1秒当たりのコマ数を意味し、tmXXXXは、分.秒.コマ数 形式で時間を指定します。 tmStart, tmEnd は再生開始点と終了点です。tmEndは今のところtmLoopEndと同じ値を指定します。 tmSLooptart, tmLoopEnd はパートループの位置を指定します。 regShiftは、シフトモードを格納するレジスタの名称で、例えば、L13 などと指定します。 シフトモードを使用しない場合は 0 を指定します。 tmShiftは、シフトする時間を指定します。 例 2350 を秒間24コマで、7秒9コマ〜9秒19コマをループして表示する。 シフトは、L13に格納されていて、L13が0以外なら、41秒指定値に加えて表示する。 6 2350 -1 0 0;24;0.7.9;0.9.19;0.7.9;0.9.19;L13;0.41.0.0 |
■mbt内に複数のmbtを登録して挿入行を指定できる機能の追加 .mbtファイルにGROUP指定を追加しました。 1行目に MAGIC_BULLET.GROUP と書かれるとグループになります。 グループ指定されたMBTは、指定されているMBTを指定された順番に挿入します。 つまりMBTをまとめて追加する機能です。 .mbtファイル指定は、 絶対パス(:が含まれている場合)の場合はそのパスから、 相対パスの場合は、このグループ用MBTが存在しているパスが 基準になります。 なお、行頭に#を書くと、挿入する先の1行をスキップします。 例えば ...A.mbt # # ...B.mbt と書かれたグループを 1行目 2行目 3行目 4行目 の2行目の位置にドロップすると 1行目 A.bmpの内容が挿入される 2行目 3行目 B.bmpの内容が挿入される 4行目 となります。 なお、グループファイル自体も指定できますが、その際、相対パスの基準になるのは 記述したグループファイルのパスではなく、最初にドロップしたmbtのパスです。 また自分自身を記述すると無限に展開して大変なことになるのでご注意ください。
■sketch 効果音の選択ダイアログの検索をインクリメンタルサーチに変更。
概要
というわけで、拡大縮小(クリップ)によるスクロールを行うための専用モードを作成してみました。
画面の倍数以外の特殊なサイズでもにじみなどのないスクロールが行えるようになります。
従来のコマンドと互換性がありますので、単に描画コマンドのチェックボックスをチェックするだけで
利用できるようになります。
なお、今回の版から android版との互換性のための拡張(どちらでもセーブデータを読み込めるように
するために文字フォーマットを格納する拡張が行われています)が行われているため、
(簡単なテストでは大丈夫でしたが)
セーブロード時の動作がおかしいようでしたら、一度セーブデータをクリアしてみてください。
解説
フルカラーへの描画コマンド(CMD_DRAW)に「スクロール専用にマークする」という
チェックボックスが追加されています。(clip_1.jpg)
これは、「クリップ準備(拡大縮小用ワークの準備)」をチェックすると選択
できるようになります。
※以下、1280x720の画面を持ったゲームだという前提で話をします。
従来、クリップ準備領域には、オリジナルの画像が格納されています。
例えば、2560x1440 の画像であれば、2560x1440のサイズで画像が保存されます。
その後、拡大縮小(イベント画面)系のコマンド(CMD_CLIP, CMD_ENTERCLIP, CMD_LEAVECLIP)は
このオリジナル画像からリアルタイムに実際の変形を行っています。
従って、1600x900の領域を表示した状態で、スクロールを行うと、毎回1600x900の領域を
1280x720の画面に縮小して表示するため、速度の問題や、にじみの問題が発生します。
スクロールは表示サイズ(上記なら1600x900)が変わらないため、最初の画面表示時に
オリジナルサイズではなく、変形後のサイズを格納して、以降スクロール時には変形を
行わないモードが、今回追加された「スクロール専用モード」です。
これをチェックすると、2560x1440の画像の、1600x900を表示する描画コマンドをは
1600x900 -> 1280x720になるように元画像を縮小したものを、クリップ準備領域に保存します。
つまり、2560x1440をあらかじめ2048x1152に縮小して、この画像をクリップ準備領域に保存します。
その後のクリップ系コマンドは、単純に1280x720の領域を転送するようになるため
整数倍意外の領域を指定したとしても、にじみ等が発生しなくなります。
実際の操作
指定する座標は、2560x1440が格納されていると考えた座標でかまいません。
つまり従来通りの指定で、単に「スクロール専用にマークする」だけで動作します。
対象コマンドと範囲
スクロールモードの有効範囲は、描画コマンド(CMD_DRAW)でそのモードを指定してから
次の描画コマンドが発生するまでです。
その間にある、クリップ系コマンド(拡大縮小(イベント画面)の同期/非同期コマンド)が
対象になります。
もちろん、シーンの終了やロードやタイトルへ戻る等の処理の打ち切り時も初期化されます。
制限
・スクロール専用のモードであるため、描画時から途中で描画サイズを変更しようとすると
思った通りの結果になりません(元画像として格納されているものが変形されているから)
その場合は、再度描画を行ってスクロールモードを解除してから、拡大縮小を実行してください。
・上下左右反転や90度回転に対応していません。
スタンダードの位置で単純に大きさを変更する場合だけに利用してください。
・セーブロードによる自動復帰には対応しています。ただし次の制限があります。
・指定する座標系は従来のままで、内部で座標系を変形後の値にあわせている関係上
セーブロードで領域が保存されるコマンドを挟むと、ロード後に奇妙な結果になります。
具体的には、
イベント演出 >> 拡大縮小(ビュー)系コマンドと、
アニメ >> ハンディカム 系コマンドは奇妙な結果を招きます。
例
スクロールモードで画像描画
...
...上記コマンドのいずれかを利用。次のブロックまで画面描画コマンドがない
ブロック
...ここでセーブして、ロードすると画面が正しく復帰しない場合がある。
...
ブロックの前に、画面描画コマンドを入れてスクロールモードをリセット(または再設定)
することで回避できます。
ビュークリップやハンディカムは現状余り使われないので、対応しませんでした。
・一般的にはスクロールモード中にブロックを作らないことで対応できます。
(描画直後にブロックを置いて、次の描画までブロックを作らないとか)
重要なお話
最初に変形させて保存する関係上、大きな画像の、小さな領域を描画するときに利用すると
大問題が発生します。
例えば、2560x1440の画像の 160x90 をこの手法で表示しようとすると
(2560 * 1280 / 160) x (1440 * 720 / 90) = 20480 x 11520
のサイズまで拡大が行われ、900MBのメモリが消費されます。
計算式は、次の通りで、使用メモリは格納される画像の幅x高さx4バイトです。
格納される画像の幅 =元画像の幅 x画面の幅 ÷指定幅
格納される画像の高さ=元画像の高さx画面の高さ÷指定高
長編が8000ピクセルを越えると高画質の変形アルゴリズムが使用できなくなる(計算中に
バッファオーバーフローが発生する)こともあるため、現実的には、2560x1440の画像なら
512x288 程度(格納画像サイズは 6400x3600 で格納サイズは 88MB 弱)が限度ではないかと
思います。
■CMD_MASKBLUR(レンズブラー)の「実行」に元データの強制ロードを追加 同じ定義画像を利用する、異なるイベント画像を表示したとき、 強制ロードさせることでマップの再作成を行わなくて済むようになります。 ■NULL指定が可能になったため、クリッパーへのDLTの展開でDLTがクリッパーをはみ出しても許されるよう修正 旧:クリッパーに対して表示するDLTはクリッパーの(0,0)から表示され大きさはクリッパーと同じ必要がある 新:DLTはクリッパーの任意の位置に任意サイズで表示できる ただし、旧と同じサイズ以外はコピーが1回余計に挟まるので負荷は上がります。 ■クリッパーのNULL指定がリソース検出に引っかかるのを修正 ■ラインステータス表示 CMDVIEW-BILLBOARD によるビルボード表示の先頭に LID:xxx Cxx 表記がないのを修正 ■ビルボードの破棄、のdltドロップがgyuになる問題を修正 ■soundViewer 検索ダイアログからコピーしたとき、クリップボードに説明がコピーされないのを修正 「リスト編集」を押すと、その時点のIDと説明がクリップボードに出力されます。 ■soundViewer ウィンドウの座標を保存するようにした ■標準CGモードのグループアイテム定義部分の解説をドキュメント http://www.retouch.info/developer/dc00_009.html ■一括エラーチェックの細かい修正 以下はステータスチェック上の問題で、ゲームの実行上は正しく動作しています。 ・CMD_FADEOUTEVENTの650系破棄で750系が破棄されていたのを修正。 ・CMD_CTRLLAYER([制御] レイヤー属性設定)が不要なレイヤーまで調べていたのを修正。 ・上下左右接続スクロール([天気] 系)が使用するレイヤーの破棄を行っていなかったのを修正。 ・DLTの停止で、レイヤーの破棄を行っていない場合、次の開始時にレイヤーが割り当てられていると言われる問題を修正。 ■漫符の位置あわせにpoitを利用するシーンでgyuファイルを送ろうとして失敗する問題を修正 gyuが存在しない場合dltがあればそれを送ります。posit側はもともとdltに対応しています。
いろいろと修正中ですが、横幅が同じグレイスケールを縦にのみ高品質で拡大すると 落ちる問題があったので、公開しておきます。 □注意:現在レンズブラーのデータってセーブされていません。 将来的にはセーブされるようになる予定ですが、現在使用する場合は、ブロックをまたがないようにご注意ください。 またいだ場合、カーネルの状態が保存されていないので、そのブロックをロードするとブラー実行時に落ちるので すぐわかります。 ■レンズブラー:画像変更を同時に行えるよう拡張。 ■レンズブラーのダイアログ、レンズブラーにしよう。 ■CMD_MASKBLUR(レンズブラー)の「実行」に元データの強制ロードを追加 同じ定義画像を利用する、異なるイベント画像を表示したとき、強制ロードさせることで マップの再作成を行わなくて済むようになります。 ■クリッパー作成時のファイルにNULL指定を許可。 全体を0でクリッパー作成したい場合に利用します。 その後クリッパー上にDLT等を表示して実際のクリッパー画面にするわけです。 なお、このクリッパーのNULL指定は、現在リソース検出時に引っかかります。 次版で修正しますが、現状は無視してかまいません。 ■sketch/layoutEditor キャラの立ち位置指定をフレームの外まで拡張した 従来は、指定UIで、キャラの中央が画面の左端から右端までに限定していた制限を撤廃。 画面の左右ともビューの幅の半分まではみ出しを許可するUIに変更しました。 ■sketchの
■ユーザーキー定義のうち、FCLayerViewportで変換するものの動作が変更できなかった問題に対応 TAB / 方向キー / テンキー2468 / RETURN / SPACE が該当します。 これをユーザー定義を最優先に変更しました。 そのため、ユーザー定義を行ったキーは、FCLayerViewport内で処理されず、そのまま 呼び出し側に通知されます。 ■diffsurf 異なる色深度データの比較を通知するようにした。 ■delta / DLTMaker: dltの拡張 delta.exe ・フルカラーのマスク付きDLTを実装 ・各種圧縮モードもマスク付きに対応 ・スナップショットの圧縮に対応 ・ARGB形式のPNGに正式対応。ソース(fullcolor/mask/)にデータが無くても dlt作成時に、(fullcolor/)以下のデータがARGBなら、(256/mask/)以下のデータが自動的に作成され適切に利用されます。 「ご注意」 スナップショット画像を圧縮したため、delta.exe ver.2013.10.18以降で作成されたデータは、 同バージョン以降のExHIBITでなければ、スナップショット部分の表示が壊れます。 ■新規作成時の動作を最新版に合わせて変更 ・def.rsdの初期版を、新しい実行ファイル群に合わせて修正 ■sketchでExHIBIT.iniのSVDATAを利用した場合のローカライズキー生成問題を修正 ■立ちキャラにDLTが利用できるよう拡張。 ・256色画像のDLTを利用してください。 ・現在DLTが利用できるのはボディアニメーションのみです。 ・データは、通常の〜P.000.* 用アニメとして用意してください。 ・今のところ、DLTアニメの表情替えは、ボディ替えとして取り扱われています。 ・DLT A と B が次の条件を満たすとき、システムはDLTを要求仕様に従って、シームレスに接続します AとBは同じパターン数 AとBは同じ大きさ(幅と高さ) AとBは同一のグループに設定する AとBは同一のブロックIDを持っている ※要求仕様:接続は同じパターン番号を利用して行う。 ・postCnf.txtを設定する場合、最後のフラグでdltを指定します。 PデータでDLTを利用する場合、最後のフラグは、0x0011 と指定してください。 例:EXEC 29 0 1 -94 0 -1 -1 0x0011 ・sketchの表情選択に対応。ただしボディ替え扱いになります。 ・レイアウトエディタは利用できます。 ■gyu.exeの拡張 ・ブロックIDとグループIDの指定が、postCnf.txtで行えるようになった。 ・キャラの中央合わせが、postCnf.txtで行えるようになった。 キャラの中央合わせ用の値は、「立ちキャラ.xls」が計算します。 ・より立ちキャラ作成を簡単にする「立ちキャラ.xls」を作成した。
■sketch: EnglishVersionフラグと、ValidPrjFlagsがかぶっているという大バグあり。 セーブデータがバージョン0x0B以降(現在は0x0E)の場合、起動する度に英語モードになるという 状況が発生していたため、EnglishVersionフラグをずらして修正した。 もともと日本語版で使っていた場合は、気にしなくてかまいません。 英語版で使っていた場合は、1度だけ日本語版に戻りますが、再設定後は正常に動作します。 ■文字表示の進行方向に反転を追加。 指定は、メッセージ表示オブジェクトの設定の縦書きの隣にあります。 従来横書きは→方向に、縦書きは↓方向に文字が表示されますが、ExHIBITでは本来 文字の進行方向を自由に設定できます。 今回、横書きの←方向を追加しました。アラビア語やウルドゥー語はこの方向になります。 ※日本語でやるとものすごく読みにくいです(w 縦書きの反転は現在実装されていないため、選択できません。 ■文字表示の「新描画方法を利用」時に、中央寄せ/右寄せを実装。 指定は、メッセージ表示オブジェクトの設定の各領域のFONT指定の中にあります。 従来方式のセンタリングはありましたが、「新描画方法」では文字を1文字単位にバラして 表示するため、従来のセンタリングが期待通り動作しませんでした(全ての文字が中央に表示される) 今回、期待通り表示されるように実装されました。そのついでに右詰も実装されています。 ※名前表示の右詰用に実装したため、現在、文字拡張(《》でくくられた表記)に対応していません。 ※通常、表示文字オブジェクトは、その環境における1行の単位で作られますが、文字拡張があるばあい、 ※文字拡張ブロックは独立した表示文字オブジェクトになります。 ※そのため、「ほげほげ《ぴよ》ぷくぷく」は今のところ、現在表示位置から「ほげほげ」が ※センタリングされ、その際後の位置から「《ぴよ》」がセンタリングされ、その際後の位置から ※「ぷくぷく」がセンタリングされて表示されます。 ※文字拡張が必要な状況で、これらの処理が必要になった場合はお知らせください。
■sketch プロジェクトの設定の録画許可を行っても反映されていなかったバグを修正
■CMD_MASKBLUR(レンズブラー)を追加
この機能は、深度マップを利用して1枚の画像でピント送りを実現します。
通常は精度優先になっています。
速度優先にしたい場合は、ExHIBIT.ini の [option]セクションのFLAGSの最下位ビットを立ててください。
※[settings]セクションにもFLAGSがありますので、間違わないように注意してください。
この処理は、通常のぼかしの2倍から4倍の時間がかかります。
参考:1280x720 フルカラー画像を対象にした場合の速度比較
単純な転送 0.6
従来のぼかし 24.0
速度優先 59.0
精度優先 95.0
レンズブラーの「レンジ指定」および「マップ指定」の情報はセーブされますが、
出力した画像はセーブされません。
したがって、ブロックは「実行」の直前に置くのがよいでしょう。
それ以外の場合は、ロードブロックで復帰させることになりますが、
その際も「レンジ指定」と「マップ指定」は省略できます。
■ExHIBIT.ini の[option]にFLAGSを追加。
現在の意味は次の通り。
同時に同じ意味の単独項目が指定された場合は、単独項目が優先されます。
00000000_00000000_00000000_00000000
|||||||| |||||||| |||||||| |||||||+- 1: CMD_MASKBLUR(レンズブラー)の動作を速度優先にする。
|||||||| |||||||| |||||||| ||||||+-- 1: recmax 指定と同じ
|||||||| |||||||| |||||||| |||||+--- 1: record 指定と同じ
|||||||| |||||||| |||||||| ||||+---- 0
|||||||| |||||||| |||||||| ||||
|||||||| |||||||| |||||||| |||+----- 1: NoAbortCheck 指定と同じ
|||||||| |||||||| |||||||| ||+------ 0: 予約
|||||||| |||||||| |||||||| |+------- 0
|||||||| |||||||| |||||||| +-------- 1: DB_AREA 指定と同じ
|||||||| |||||||| ||||||||
|||||||| |||||||| |||||||+---------- 1: flgDisableMovie 指定と同じ
|||||||| |||||||| ||||||+----------- 0: 予約
|||||||| |||||||| ||||||
++++++++-++++++++-++++++------------ 0
■sketch プロジェクトの設定の録画許可を行っても反映されていなかったバグを修正 ■CMD_MASKBLUR(レンズブラー)を追加 この機能は、ブラーマップを利用して1枚の画像でピント送りを実現します。 暫定実装ですがUIのは確定です。 中身をブラッシュアップ中。
■[重要] 関連したライブラリを最新版に更新 その2 libjpeg も最新版に更新。 ■CMD_SCREENSHOTの追加 動作詳細は次の通り 1.出力先はレイヤー 1.1 対象レイヤーが作られている 1.1.1 対象レイヤーはフルカラーではない 位置、透明度、z-orderに元のレイヤーのものを利用して、1.2 対象レイヤーは作られていないと同じ動作になります。 1.1.2 対象レイヤーはフルカラー 1.1.2.1 再作成が許可されている 1.1.2.1.1 対象とレイヤーのサイズが同じ そのままコピーされる 1.1.2.1.2 対象とレイヤーのサイズが違う 1.1.2.1.2.1 変形が許可されている そのまま変形(拡大縮小)して、レイヤーのサイズで出力される。 1.1.2.1.2.2 変形が禁止されている レイヤーは再作成されて、ソースと同じ大きさになる。 位置、透明度、z-orderは、引き継がれる。 1.1.2.2 再作成が許可されていない 1.1.2.2.1 対象とレイヤーのサイズが同じ そのままコピーされる 1.1.2.2.2 対象とレイヤーのサイズが違う 1.1.2.2.2.1 変形が許可されている そのまま変形(拡大縮小)して、レイヤーのサイズで出力される。 1.1.2.2.2.2 変形が禁止されている 出力先のサイズでクリッピングされる。 1.2 対象レイヤーは作られていない 指定されたフェード値、出力先領域指定でフルカラーレイヤーが作られた後、作られている場合と同じ動作になります。 出力先領域指定が行われていない場合、(0,0)からソースと同じサイズのレイヤーが作られます。 2.出力先はファイル 出力領域指定が無い場合はソースと同じサイズで、出力領域指定がある場合はそのサイズを元にファイルが作られます。 その後は、レイヤーと同様の動作になります。 出力ファイル名には、%UserFolder%マクロが利用できます、この記述は最後に\が付いたセーブデータフォルダに置換されます。
■[重要] 関連したライブラリを最新版に更新 zlib, libpng, libogg, libvorbis を最新版に差し替えた結果、 ogg.dll, vorbis.dll は使用されなくなりました。 変わりに、libogg.dll と libvorbis.dll が使われるようになりました。 そのため、従来のタイトルをこれ以降のExHIBITに差し替える場合は、以下の作業が必要になります。 1.libogg.dllとlibvorbis.dllをogg.dllとvorbis.dllの位置にコピーする。 2.その後、ogg.dllとvorbis.dllは削除する。 sketchによる実行ファイルのアップデートで、libogg.dllとlibvorbis.dllは自動的にコピーされますが ogg.dllとvorbis.dllの削除は行われません。手作業で行ってください。 他に気をつけるべき点は ・def.rsd内にある、リソースコピーコマンドの、ogg.dllとvorbis.dllの行を削除して、 代わりに libvorbis.dll とlibogg.dllを登録するのを忘れないでください。 ---- sketchも同様にライブラリの更新が行われたため、libvorbis.dllとlibogg.dllに依存する ように変更されています(従来は、ogg.dllとvorbis.dll) sketch.exeと同じフォルダに、libvorbis.dllとlibogg.dllをコピーしてください。 ogg.dllとvorbis.dllは同様に削除してください。 ■セーブデータの位置設定の詳細 ExHIBIT.ini の USER_FOLDER=に書いたフォルダがセーブデータフォルダになります。 %AppData% は、アプリケーションデータフォルダ\ に置換されます %LocalData%は、ローカルアプリケーションデータフォルダ\ に置換されます。 例えば、 USER_FOLDER=%AppData%maker\title\save\ とすれば、そこにセーブデータが作られます。 セーブサムネールの位置は、save.layout.rnf の tn.folder=%thumbnail とすれば、 %が、現在のセーブフォルダに置換されます。 %から始まらない場合は、ExHIBIT.exeからの相対パスです。つまり、 tn.folder=userdata\thumbnail\ とした場合、ExHIBIT.exeと同じ場所にある、userdataフォルダの下の thumbnailフォルダに格納されます。 つまり、 USER_DATA=userdata\ tn.folder=userdata\thumbnail\ と、 USER_DATA=userdata\ tn.folder=%thumbnail\ は同じ設定になります。 なお、load.layout.rnf のtn.folderおよび、tn.file指定は、現在無視され、 save.layout.rnf側のみが使われますが、慣例としてsave.layout.rnfと同じものが書かれています。 現在アンインストーラーが、セーブデータの位置変更に対応していません。 変更するためにはアンインストーラーの改変が必要になります。
■twitter の投稿時、スナップにチェックを入れたら、その状態を保持するよう変更 ■システム効果音のミュートを実装。 ■リソースの検出時、コントロール内のスライダー定義検出に mode 4, 5, 6, 7 を追加。 従来は2のみ。 ■courier 複数枚のディスクに対応 インストーラーは必ず1枚目のディスク(diskId=0のディスク)に入れてください。 インストール終了後、1枚目のディスクをドライブにセットすることが要求されます。 ■sketch wavデータのドロップ時 1000.wav 以上のファイルを受け付けるように修正。 3桁で丸められていた。
■ スライダー表示の問題 α付きの背景+α付きのバー+α付きのトリムの組み合わせで、一部の合成にゴミに見えるものが残るのを修正。 ■ システム効果音のテストを終了すると、コンフィグを終わるまでシステム効果音が再生されない。 再生用のチャンネルを新設して、同時にチェックできるように修正。 ■ 直前のルビがその後に表示される文字によってかける現象を修正 発生するのは、次の3条件が満たされたときでした。 1.ルビが長くて、対象文字よりも後ろへはみ出す 2.縁取り文字を利用している 3.メッセージ描画レイヤーに背景が設定されていない 上記の場合も適切に透過合成させるように修正しました。
■ diffsurf
サイズ変更を可能にした。
移動予測チェック機能の追加
■ 袋文字+文字影を設定したとき、文字影の128-255番パレットの設定によって文字にバリがでる問題を修正。
袋文字+文字影の品質が、袋文字単体と同程度に向上しています。
斜め接続ピクセルの強度を半分にして、袋の縁をややなめらかにした。
■ action278を追加
フキダシ(プリントソケット)利用時のキー待ちマークの表示位置を設定する。
現在表示位置設定はセーブされないため、通常は、def.rsd(またはsettings.user.rnf)で設定して
ゲーム中状態を変更しない利用方法を想定している。
p0=0で従来通りパターン下部をそろえ、p0=1でパターン上部を行丈夫に合わせる。
p0=1は、キー待ちマークが改行高さよりも大きく、上の行にかかってしまう場合と言うに利用する。
■ メッセージ表示速度のオーバーライド
すでにありました。《T:200》ほげほげ《T:-1》で、「ほげほげ」が200msの表示速度になります。
ついでに、sketchに出力可能な項目のUIを追加しました。可能なものは次の通り。
(★は新しくUIが追加されたもの。☆は従来からあるもの)
☆ルビ
★位置指定 《POS:128:*》絶対位置指定。原点は自分自身が書かれるレイヤー相対
★相対位置 《MOV:128:*》相対位置指定。現在描画されるはずの位置からの相対座標
☆文字サイズ
☆文字太さ
☆文字の色(カラーセクション指定)
☆強調
☆イタリック(フォントによっては変化がない場合があります)
☆メッセージリンク
★レジスタの値表示
★カラーセクションの設定
★文字表示時間の設定(0-10000ms)
■ スライダーの移動に合わせて音量や透明度を変更できるコールバックを追加。
■ レイアウトエディタからのドロップでキャラ登場を選択した場合、そのキャラの編集画面も開くように変更。
■ sketchをR/Oで起動する方法を追加
project/ide/config/def.system.rnf を作成して
readOnly=1
を記述しておけば、R/Oで起動します。
■CMD_FOCUSのカバーへのスナップショットが、-1.0-600キメ打ちで作られていたのを、-1.0-lidCoverになるよう修正
■音声同期演出付きメッセージの色を自動で変えられる機能を追加
Action349 に、各種状態に対して自動で設定されるカラーパレットを設定できるようにしました。
現在設定できる状態は次の二つで、両方が適用される場合、上のほうが優先されます。
・既読メッセージ(従来からあります)
・音声同期演出付きのメッセージ
使い方は、
1.def.rsdの当該メッセージウィンドウ設定で、専用のカラーセクション(section color)を定義する。
2.def.rsdやsettings.user.rnfで、Action349を利用してそのカラーセクションIDを設定する。
で色が変わるようになります。
音声同期演出があると、クリックしていいかどうか分からないというユーザーのために用意されました。
色のついたメッセージには音声同期演出があるためクリックせずに聞くという利用が想定されています。
気にしていれば分かる程度に、ほんの少しだけ標準と違う色を設定するのが良いでしょう。
■暗号キー定義ファイルの指定をプロジェクトからの相対パスに変更。
プロジェクトファイルを他の環境からコピーしてきた場合、絶対パスだと問題になります。
開発初期とは異なり、現在ではすべてプロジェクトフォルダの下に置かれるため、
相対パスでも問題ないと判断して変更しました。
■シーンのフェードアウトのレイヤーの破棄関連の検出に、350系360系の検出が実装されていなかったのを追加
もちろん実際の破棄は行われていましたが、レイヤーのチェックやエラーチェックで
検出していませんでした。
■ 条件指定系の@functionの、@isCheck(3'9'0'dbid) を追加。 シナリオ分岐用の文字列DBの条件部分だけをチェックして、真の条件があれば1を、なければ0を返します。 DBが存在しない場合も0を返します。 ■ 巨大なRSDファイルを操作する場合、UNDO用の保存のせいで操作が大変重くなっていた問題を緩和。 特に defChara.rsd の立ちキャラ設定はコマンドに登録される文字列が巨大なので、 数多く登録されていると操作に大きなラグが生まれていたのを緩和。 ■ poslogのドロップで、同一のデータが登録されていれば上書きする。 マーカーは書き換えた印がつきます。 登録されていないデータは、従来通りドロップ位置に追加されます。 ■ 音声同期演出を直接開くUIの追加 メッセージ編集コマンド行への操作を時代に即して変更しました。 ---- 従来 RET 直接編集 F2 直接編集 SHIFT+RET メッセージ編集 L-WCLICK メッセージ編集 CTRL+RET 記述の挿入 ---- 新 RET メッセージ編集 L-WCLICK メッセージ編集 SHIFT+RET 音声同期演出 SHIFT+L-W 音声同期演出 F2 直接編集 としました。CMD_CMDVIEW コマンド(音声同期演出を設定すると表示される オレンジ色の行)は従来通りRETおよびL-WCLICKで直接音声同期演出内の その位置を編集できます。 ■ poslogをドロップしたとき、すでに登録済みの情報に対して上書きするデータを選択できるようにした。 ダイアログが表示されます。 ■ レイアウトエディタで保存されるシーン用のサムネールの大きさを設定可能にした ExHIBIT.ini の [editor]セクションに、W_THUMBNAIL=200 とすると、 幅200ピクセルのサムネールが作られるようになります。 設定しない場合は、従来通り120ピクセルです。 ■ RSDから立ちキャラ補正用テキストを出力できるようにした 直接 defChara.rsdを変更してしまった場合、何らかの理由でdefCharaを再設定しなければ ならなくなったとき、立ちキャラ定義補正ファイルを再度設定しなければならなくなりますが、 それを防ぐために、defCharaから、現在の立ちキャラ定義補正ファイルを出力できるように しました。 defCharaを直接修正した場合は、defCharaの再作成が入る前に出力しておくと便利です。 ■ RLD中に読み込むタイプのRNFに、dynamic 指定を可能にした。 dynamic.locate=placesCount dynamic.places=lid.dx.dy,... dynamic.items=itemsCount dynamic.item.0=condition, panelcreateString ■ 標準選択肢コマンドの質問IDに-1が記入できない問題を修正。 従来通り空欄でも-1が指定されたのと同じです。 ■ 動画ファイルを指定する際、画像ファイルも受け入れるように変更。 通常 dlt ファイル名を指定する場所へ、ファイルをドロップしてファイル名を設定する場合、 従来は拡張子dltしか受け付けませんでしたが、画像ファイルも受け付けるように変更しました。 画像ファイルがドロップされた場合、拡張子をdltに置き換えて設定します。 dltをサムネールで識別するために画像ファイルを別途用意している場合への配慮です。 対応動画は "dlt", "mpg", "avi", "wmv", "ogv", "ogm", "mkv", "webm" 対応イメージは "png", "jpg", "gyu", "bmp" です。 ■ 音声同期演出中の非同期効果音のスキップ時の取り扱いについて 従来、非同期効果音はスキップ中の再生を行っていませんが、 音声同期演出中の非同期効果音再生は再生するようにしました。 音声を効果音で遮る等の演出が存在していて、クリックによるスキップ時にその音が発生しないと 意味が分からなくなることを防ぐ目的です。 マーカーは書き換えた印がつきます。 登録されていないデータは、従来通りドロップ位置に追加されます。
■action254をコントロールアクションに指定する際、コントロールIDの自動設定を追加
action=254, p0=1 の時、p1(コントロールID指定)が-1なら、自動的にそのコントロールに指定したIDを割り振る機能を追加。
修正忘れが目立ったため。
なお、実行ファイルが古く、-1指定に対応していない場合、スライダーを動かしてもウィンドウの透明度が変わらなくなります。
memo:
コントロール用選択アイテム指定のスライダーパラメータ群の先頭から4番目にスライダーの選択アイテムIDには
210+コントロールIDを指定するが、忘れてもレイヤーが独立しているため動作はする。
でもキモチワルイので忘れない方が良い ;-)
■rnf系の
layer.[LID].draw.[id]= にソース領域の指定を出来るよう変更
■cabアーカイブ機能の修正
data0001.cab 〜出力していたが、courier.installの仕様に合わせて data0000.cab〜の出力に変更した。
■release機能の追加。
ExHIBIT.exeをリネームして出力する機能が追加された。
■sketch: リリースを拡張。cabアーカイブ機能を追加。
作成できるアーカイブの最大サイズは 0x7FFFFFFFバイト (2GiB)ですので、それ以下の値を設定してください。
単位は、KB/MB/GB がSI接頭辞で、1MB = 1000KB = 1000 * 1000 バイト です。
KiB/MiB/GiB は2進接頭辞で、1MiB = 1024KiB = 1024 * 1024 バイトです。
ツール(T) - リリース関連(R) - ゲームをリリースする(R) で、「リリース処理終了後、続けてCABアーカイブ処理を行う」を
チェックすると、リリース処理終了後、リリースしたフォルダをソースにして、アーカイブ処理が起動します。
ツール(T) - リリース関連(R) - アーカイブ処理(A) を実行すると任意のフォルダを自動的にサイズで分割して
cabアーカイブします。分割容量は任意に決められます。
セクタバイトは対象になるディスクのセクタサイズを指定すると、ファイルがそのディスク上で占有するサイズで計算されます。
セクタバイトを無視に設定すると、ファイルのサイズがそのまま利用されます。
分割の状態をテストしたいだけなら「実際の出力を行わない(テスト処理)」をチェックしてください。
分割される状態だけを表示します。
出力をCABアーカイブするにチェックを入れると、出力はdata_?????.cabで出力します(インストーラー向け機能)
チェックしない場合はファイルがコピーされます。
ExHIBIT GAME用分割をチェックすると、data_00001.cab にルートの実行ファイル群とRLDだけが含まれるようになり、
リソース類は、data_00002.cab 以降に格納されます。
全分割リストを結果出力フォルダに出力をチェックすると、分割されたファイルのリストが、出力フォルダに出力されます。
インストーラー用記述を出力フォルダに出力をチェックすると、install.archive.?=dataSizeのリストがテキストファイルに
出力されます。このチェックボックスをチェックしなくても、同様の情報は、ダイアログに表示されコピペできるようになっています。
圧縮方式の圧縮にかかる時間と圧縮率は MSZIP <<< LZX 15 < LZX 18 < LZX 21 ですが、
データによっては、LZX 15 と LZX 21 の間にはかかる時間ほど大きな差はありません。
■sketch: 音声アーカイブファイルのサイズをプロジェクトから設定できるようにした
sketchの設定
+- 音声アーカイブファイルの最大サイズ(1-2047MB)
+- アーカイブされる音声ファイルの最大サイズ(MB)
+- 1アーカイブファイル内の最大ファイル数
です。これらは現在、sketchのプロパティとして保存されるため、
すべてのプロジェクトに共通の値になりますので、ご注意ください。
なお、指定した各値は、ゲームのリリース処理を行うダイアログからオーバーライドすることもできます。
■sketch: CABアーカイブ処理を追加
リリース処理のダイアログで、「リリース終了後、続けてCABアーカイブ処理を行う」をチェックするか、
メニューの ツール(T) - リリース関連(R)elease - アーカイブ処理(A)rchive を実行してください。
■音楽のボリューム設定コマンドの問題を修正
ミュート時に、設定したボリュームが反映されないようにエンバグしていたのを修正。
■sketch:ユーザーキー出力を追加
ユーザーキーは、指定された文字セットで構成された32文字以下のユニークなキーです。
指定できるパラメータは
・桁数(1〜32桁)
・生成数(最大0x7FFFFFFF個)
・使用文字セット(全半角混在可。文字数はint32 制限)
・追加生成可能
・任意indexから任意個数の出力可能。
・テキスト出力フォーマット指定可。
・同一文字が3つ以上連続することの禁止可。
実行は次のメニューで行います。
ツール(T) - リリース関連(R) - ユーザーキーの処理(U)
例えば、アルファベットと数値からなる、Kから始まる全8桁のユニークキーを10000個出力したい場合
----
桁数 7
生成数 10000
使用文字セット ABCDEFGHIJKLMNOPQRSTUVWXYZ (と入力した後任意かshuffleを押しても良い)
----
と設定して、「新規作成」を押せば大抵はすぐ生成されます。
テキスト(SHIFT-JIS)への出力は
----
出力ファイル指定 c:\test.txt
出力開始ID 0
出力個数 10000
出力フォーマット K%7%
----
として、「出力実行」を押すと
各行が、
ID[TAB]Key
という形式で、0〜9999 のキーデータが出力されます。
この場合、先頭のKが決定しているので、実際のキーは7桁出力で、出力フォーマット側でKを指定しています。
出力フォーマットの書式は次の通り
----
%で始まり%で終わるのは書式定義。文字としての%自身は、%% で表現します。
それ以外の文字はそのまま出力されます。
凡例は、「% + [書式文字] + 桁数 + %」で、書式文字を省略した場合、s指定と同じになります。
現在は、公開されている書式指定がないため、書式文字は省略するのが慣例です。
%% 文字としての%。
%7% 7文字を意味する。
例:上記条件(アルファベット7桁)で生成した場合、
書式 出力例
@%3%-%4% -> @123-4567
%2%-%2%-%3% -> 12-34-567
フォーマット内にある %N% のNの合計が、桁数を超えてはいけません。
----
「同一文字3文字以上の連続を許可しない」にチェックを入れると、例えば、CKAAADE のようなキーは
作られなくなります。
一旦キーを生成すると、ダイアログを閉じる際に、次の2ファイルが出力されます。
product/userkey/db.rnf
各種定義が保存されているテキストファイル
product/userkey/db.dat
実際に出力されているデータ保存されているデータファイル。
キーを作り直すとき、前のデータを保存しておく必要がある場合は、
この2ファイルをバックアップしておけばOKです。
これらのファイルは、ユーザーキーの生成ダイアログが開くときに読み込まれ、閉じるときに書き出されます。
■gyu: mode 120(画像の接続)のバージョンアップ
ARGB形式のPNGから、マスクと本体画像を同時出力したいという要望に対応。
各パラメータ(Pn, Sn)書式が次のように変わります。
従来
-------------------------------------------------------------------
S0 ソースファイルの拡張子 例:PNG
S1 出力ファイルの種類 PNG | BMP
S2 パターン数[TAB]元画像1[TAB]元画像2[TAB]...[TAB]元画像N (ソースクリップ時)
P0 出力画像の結合方向 0:横(右→左) 1:縦(上→下)
P1 ソース画像のクリップ 0:なし 1:あり
P2 ソースクリップがある場合のクリップする幅(ピクセル)
P3 ソースクリップがある場合のクリップする高さ(ピクセル)
EXEC dfname sfname[ sfname] x (N-1) ソースクリップがない場合
EXEC dfname sx sy[ sx sy] x (N-1) ソースクリップがある場合。ソース画像ファイルはS2。
-------------------------------------------------------------------
新バージョン * のついている部分は従来のものと同じです。
-------------------------------------------------------------------
S0* ソースファイルの拡張子 例:PNG
S1* 出力ファイルの種類 PNG | BMP | PNG_ARGB(未実装)
S2 元画像1[TAB]元画像2[TAB]...[TAB]元画像N (ソースクリップ時があって、共通ファイル指定がある場合)
S3 maskFolder\ マスク同時出力時のマスク出力先フォルダ
P0 00000000_00000000_00000000_00000000
|||||||| |||||||| |||||||| ++++++++- 出力指定
|||||||| |||||||| |||||||| |||||||+- 0:出力は横接続 1:出力は縦接続
|||||||| |||||||| |||||||| ||||
|||||||| |||||||| |||||||| |||+----- 0x0010 1:マスクの同時出力を行う。0:行わない
|||||||| |||||||| |||||||| ||+------ 0x0020 1:マスクの同時出力指定時、ソースにαチャンネルがなくても P1 で埋まったマスクを出力する。
|||||||| |||||||| ||||||||
|||||||| ++++++++------------------- 入力指定
|||||||| |||||||| |||||||+---------- 0x0100 1:ソースにクリップ領域がある。
|||||||| |||||||| ||||||+----------- 0x0200 1:共通ファイル指定がある。EXECにはファイル名ではなく共通ファイルIDを指定する。
|||||||| ||||||||
|||||||| |||||||+------------------- ver. 0:従来形式 1:P0はフラグ扱いの新版
|||||||| ||||+++-------------------- 0 reserved for ver.拡張用
P1 (0-255) マスクの同時出力が指定されていて、かつソース画像にアルファチャンネルがない場合、マスクはこの値で埋められる。
P2* ソースクリップがある場合のクリップする幅(ピクセル)
P3* ソースクリップがある場合のクリップする高さ(ピクセル)
EXEC dfname sfname[ sfname] x ? ソースクリップなし&共通ファイル指定なし
EXEC dfname id[ id] x ? ソースクリップなし&共通ファイル指定あり
EXEC dfname id sx sy[ id sx sy] x ? ソースクリップ&共通ファイル指定あり
EXEC dfname sfname sx sy[ sfname sx sy] x ? ソースクリップあり&共通ファイル指定なし
■sketch: CMD_FACEUP/CMD_EXITFACEUP のキャラ登場時の位置を空欄にした場合の動作変更
n/aとして取り扱われるように修正しました。
■CMD_FACEUP(シーンの作成)のイベント画面指定で、クリップ準備を行っても、行っていない事になる問題について
もともと、クリップ準備は、ソース領域指定がないと機能しません。
そのため、ソース領域指定なしで「クリップ準備」が行えてしまうUIに問題がありました。
これを、クリップ準備をチェックした場合、暗黙のうちにCGの全領域がクリップされるように修正しました。
修正は、ExHIBIT側で行われていて、sketch側の表記は従来通りです。
この件に関する影響範囲は、ExHIBITでCGの全領域を確認するためにファイルにアクセスが発生するようになることと
sketchのエラー処理で、従来はクリップ領域をクリアしていたのをCGの領域でクリップすることにしたため
sketchのエラー検出(範囲のはみ出し)を行った結果と、古いExHIBITで実行したときの結果が異なる可能性が
あることでしょうか。
もっとも、後者はどのみちこのsketchで利用できるExHIBITはこのsketchよりも新しい版だけなので、
特に問題になることはないでしょう。
■action282 ExHIBITコンソールの操作を追加
p0 0:close, 1:show, -1:show<->close toggle
ExHIBIT コンソール画面の表示/非表示を行います。
表示は表示許可状態(action283)でなければなりませんが、非表示は許可なしでも行えます。
■action283 ExHIBITコンソールの利用設定を追加
p0 0:disable, 1:enable, -1:disable<->enable toggle
ExHIBIT コンソール画面の設定を行います。
今のところ、表示禁止/許可のみ設定できます。
■ExHIBIT CONSOLEの使い方。
このコンソールはリリースするゲームに残しても削除してもかまいません。
削除する場合は、action283で禁止してください。
action283 は p0 を 0:無効化 1:有効化 -1:有効/無効切替 です。
有効化すると、action282でコンソール画面が表示できるようになります。
これは、何処かのショートカットに割り振っても良いでしょう。
その場合、res/c/shortcut.action.rnfの何処か(大抵は+その他の設定の下でしょう)に次の行を加えてください
---- ここから
282 コンソールの表示 <-> 消去 -1,0,0,0,NULL
283 コンソールの有効 <-> 無効切替 -1,0,0,0,NULL
---- ここまで
これで、282および283が選択できるようになります。
通常は282のみを登録することになると思います。
■ExHIBIT CONSOLEにヘルプがついた
help
で、使い方やコマンドが表示されます。
■ExHIBIT CONSOLEでレジスタの参照が便利に
get reg RegArea[.base]
で、RegAreaの内容がbase進数で表示されます。
RegAreaに表示できるレジスタやフラグには次の物があります。
R 通常レジスタ
L ローカルシステムレジスタ
S システムレジスタ
F フラグ
C コンフィグフラグ(0-31)
Q 問い合わせID
B 通常レジスタのビット(BR1300.4 等)
MM 音楽既聴フラグ
MG CG既見フラグ
MS シーン既見フラグ
MV メッセージ既読フラグ
baseは、2〜16または、b(2進数), h(16進数), a(2進数と16進数と10進数の併記)です。
例
get reg R1200
R1200の内容を10進数で表示します。
get reg R1200-R1209
R1200〜R1209の10個のレジスタの内容を10進数で表示します。
get reg R1200-R1209.b
R1200〜R1209の10個のレジスタの内容を2進数で表示します。
get reg S10,R1200-R1209.a
S10とR1200〜R1209の11個のレジスタの内容を2/16/10進数で併記します。
get reg MV1002,MV1006,MV1120-MV1129
1002,1006,1120-1129番のメッセージが読まれているかどうかを調べます。
■sketch: 各種調査を追加開始 エラーチェック(R) - その他の調査 (C)heck - (1)更新なしで退場するキャラ が追加されました。 カバーがかかっているかどうかは調べておらず、純粋に更新無し(破棄するだけ)で 退場している部分を検出します。最後の確認にご利用ください。 ■sketch: キャラ移動/レイヤー移動時に存在しないレイヤーが指定されている問題を検出するようにした。 ■sketch: 上記に合わせて、エラー検出処理をすべて書き直した。 ラインステータス処理の関係で、検出コードを統合した。 その結果大きく書き換わったため、エラーチェック - エラーの一括チェック、で表示されるダイアログには 「2013/05/25以前の手法で検出する」チェックボックスが追加されています。 心配ならしばらくは両方でチェックしても良いでしょう。 問題がなくなれば、このチェックボックスは消去して、エラー検出処理を1つに絞ります。 ■sketch: 閲覧モードの追加 (要約 編集ビューで F12 を押すと閲覧モードになるよ) デバッグ時に閲覧したとき、不慮のセーブを防ぐためのモード。 「編集」-「閲覧モード」で on/off できます。 また、ノードビューにフォーカスがある状態で F12 でon/offできます。 または、演出ビュー上でF12を押しても、on/offできます。 onになると、sketchの左にあるツリービューおよび、編集ビューのツリービューの背景が sketch.configuration の color.bg.readOnly=0xRRGGBB で指定した色になります。 指定がない場合は薄い茶色(0xDDCCAA)です。 また、sketchの下にあるステータスバーに表示されているエディション表記 (STANDARD EDITION とか FREE EDITION とか書かれているところ)に、「閲覧モード」と 追加表記されます。 現在閲覧モードでも、編集ビューへの操作は可能ですが、セーブされません。 閲覧モードのon/offはいつでもメニューから切り替えることが出来ますが、 新しいプロジェクトをロードする場合は、常にoffからスタートします。 ■courier: シリアルコード入力のエディットボックスのキャプションを外部から設定できるようにした。 courier.install 内で install.serial.submes=を記述することで指定します。 指定がなければ ---- install.serial.submes=シリアルコード ---- が指定されているのと同じ動作をします。 ■sketch: 音声アーカイブの分割サイズを任意に指定可能にした。 sketch.configuration に ---- default.varc.maxSize=0x40000000 default.varc.boundSize=0x20000000 default.varc.maxFiles=32768 ---- を記述すると、それぞれ、アーカイブの最大サイズ(bytes)、アーカイブされるファイルの最大サイズ(bytes)、 1アーカイブに含まれる最大ファイル数。 が指定できる。省略された場合は、上記の数値が使用される。(1GB, 512MB, 32768files) もともとはインストーラーの通知の都合上アーカイブファイルの1つを小さくするために用意された機能。 ■sketch: レイヤー属性追加で設定したマスクデータが、リリース時に検出されない問題を修正 ■パーマネントレイヤーの追加 SYSEFFECTはEFFECT代わりに使われてしまうことが多いので、システム的に利用されるレイヤー群を設定した。 このレイヤー群は、シナリオ中で演出に使用してはならない(意図的に利用する場合を除く) LID_PERM_MIDDLE (仮想LID:4000〜4005) メッセージウィンドウの下にあるパーマネント領域。主に断面図やカウンターなどに利用されます。 LID_PERM_TOP (仮想LID:4020〜4025) コントロールとコントロールプロパティの間にあるパーマネント領域。主にスキップアニメ等のコントロール系効果用。 LID_DEFSHORTCUT (仮想LID:4060〜4061) ショートカット定義表示用の領域。 ■action281 コントロールエフェクト設定の追加 スキップを押したらアニメ表示とか、オート押したらアニメ表示とか、ミュート押したらCG表示とかそういうのを定義する。 レイヤーは通常、4020-4025 を使い、def.rsdで定義したら後は放置が基本。 ■sketch: カレントマークのラインの太さを変更できるようにした data/defineSketch.rnf に、node.current.lineWeight 指定を追加してください。 例:node.current.lineWeight=2 カレントーマークの線の太さが4ピクセルになります。 指定がない場合、デフォルトは2です。 ■action268の拡張 全ミュート操作時にコントロールの操作を追加 全ミュートボタンの作成のために拡張しました。 ■twitter 検索文字列定義、SEARCH_WORD= を追加 定義がなければ従来通りハッシュタグを検索します。 この文字列はそのままtwitterの検索文字列に渡されるため、各種検索式も利用できます。 ■[MOV]操作(CMD_CTRLMOVIE)コマンドに、単純なポーズとリスタートを追加 UIをつけ忘れていたので追加しました。 単純にその場でポーズ/ポーズからのリスタートです。
■memo: FCXSortableList::append()を変更 ■memo: FCXSortableList::find()を変更 ■sketch: 編集ビューのキャプション表示の変更 rsdName -> rsdName / projectName とプロジェクトタイトル名も表示するようにした 複数プロジェクトのRSDを起動すると訳がわからなくなるため。
■twitter: ツイートの文字フォントサイズを、表示可能な最大のものにするモードを追加 ■gyu.exe: バッチ処理の cnfテキストの拡張 行単位でコメントをかけるように変更。TABに続いて半角のセミコロン;以降はコメントとみなされます。 EXEC行だけは、任意個の画像連結に使用されるため #order "enable EXEC comment" と記述したあと有効になります。また #order "disable EXEC comment" 以降は無効に出来ます(従来の動作になります) ■sketch: 選択アイテムの設定コマンドのサウンド設定の参照がおかしかったのを修正 ■選択アイテムに関連づけた効果音が同一チャンネルで再生されるとき、期待される結果になるよう変更した。 ■courier: 複数ディスク/ドライブへの対応 各 data????.cabファイルのディスク指定は、courier.install でしたものよりも 現在のソースパスを優先するようにしました。 つまり、すべてをHDDにコピーした場合、ディスク指定を無視して(従来通り)インストールが可能です。 また、一部をHDDにコピーした場合、HDD上にないものはディスクを挿入するよう要求されます。 直接指定でソースパスを入力した場合、ボリュームラベル指定は無視されます。 ■d3dx9_40.dll が無くても実行できるように修正 ない場合は起動時にインストールするためのインフォメーションが表示されます。 ないままプレイした場合 1.DPMODE=で設定した初期値は無視され、DPMODE=1(CPU中)が指定されたのと同じ事になります。 2.ウィンドウの設定で、プログラマブルシェーダーを利用した機能は使えなくなります。 d3dx9_40.dllをインストールした後、再起動すればいずれの機能も利用できるようになります。
■sketch: 音声同期演出の編集ビューを表示する際、c.gyu等がないと言われる問題を修正 厳密にsketch.exeからの相対パス指定に変更した。 project/以下のdata/image/c.gyu等が要求されることはありません。 ■sketch: リリース処理でRLDしか出力されない問題を修正 整形した際、リスト表示モード以外でリソースをリストに追加していなかったというオチorz... ■twitter api ver.1.1 に移行 twitter接続に関する注意書き等、認証ダイアログの説明等を更新する。こっから。 その後画像投稿をやってみる。 ■sketch: ムービーの時間指定エディタのエディットファイル取得の問題を修正 同一IDのムービーがひとつのRSDに複数回使われているとき、一番最初に使われたものを取り出していたのを 適切なものを取り出すよう修正。 ついでに、キャプションに、編集しているムービーのファイル名を表示するようにした。 ■twitter: 画像投稿に対応 tw.rnfに次の2項目を追加 snapshot.w= snapshot.h= それぞれ投稿画像の幅と高さをピクセル数で指定します。 どちらか片方しか指定されていない場合(もう片方が0指定の場合を含む)は、指定された方が適用され もう片方はビューのアスペクト比に応じて設定されます。 例えば横480ピクセルで投稿したい場合、 snapshot.w=480 snapshot.h=0 とすれば、OKです。 両方指定がない場合、及び、計算後の値が 8001以上か0以下になる場合、両方にビューサイズが使われますが これはエラー時の補正で、範囲は将来変更される可能性があるのでそれに依存した指定をしてはいけません。 両方0指定、または指定を行わない指定は合法です。(ビューサイズ投稿になります) ■twitter: 投稿後、すぐにビューに反映されない。 遅延リロードを実装。 対象操作後 2000ms の間操作を行わなければ、ツイートの取得を試みる。 対象操作 ツイート ツイートの削除 ■twitter: ツイートの削除機能を追加 対象ツイートの[F]ボタンを押したとき表示されるメニューの中にあります。
■sketch: リソースのリストアップファイルを普通の形に変更 常識的な形に変更しました。 従来は出力のためのリストアップだったため、人間にわかりにくかったのですが、 リストされたファイルを見る機会が増えたため、人間の見やすい形に変更しました。 ;--------- ; シナリオ名 ;--------- このシナリオのRLDファイル名 [ シナリオ名 ] : sketchの行数A Aで検出されたリソースファイル名 Aで検出されたリソースファイル名 ..... [ シナリオ名 ] : sketchの行数B Bで検出されたリソースファイル名 Bで検出されたリソースファイル名 ..... という形になっています。 ■sketch: レイアウト用rnfファイルにリソースリストアップ用の特殊なキーワードを追加。 RES_REGISTERKEY=key:index.kind, ... key は、そのrnf内に含まれるリソースを持ったキーと同じ名前 indexは key の値(=の右辺)を半角のカンマで区切ったとき、対象が何番目にあたるかのindex値。 kindは リソースの種類。0x00-0xFF(0-255) ただし、対象がID(cgidとかwavIdとか)の場合、0x0100とorをとる。 現在、0がCGリソースを意味しています。 従って、0 指定で対象はCGファイル名(ExHIBIT.exe相対)で、0x0100 指定で、cgid指定となります。 このリストは、key:index.kind の組を、半角カンマで区切っていくつでも指定できます。 特殊なキーを作成する rnf の拡張を容易にするために用意されたもので、汎用のキーを 利用する場合はこの指定に含めなくても自動的にリソースを検出します。 RES_DISABLEPROPSEARCH=flgSet(0 or 1) このキーに1が指定された場合、通常のレイアウト用rnfのリソースチェックを行いません。 例えばレイヤーの作成や選択アイテムの作成などが1つも含まれていないファイル(それをレイアウト用のRNFと 呼ぶかどうかは難しい問題ですが、save/load等の特殊な用途のもの以外は、大抵汎用のレイアウト用RNFに 分類します)だった場合、このキーを作成して1を指定しておくことで、無駄なチェックを防げます。 shortcut.layout.rnfなどに利用されています。 キーの指定が無い場合は、0が指定されたのと同じ動作になります(従来の動作と同じです) 例: -------- RES_REGISTERKEY=SRC:0.0,MAP:0.0 ; 画像リソースの列挙 key:index.kind(0-255:種類[0:CG]。IDならさらに |= 0x0100) RES_DISABLEPROPSEARCH=1 ; リソース列挙時に、RetouchSelectViewPropを利用した検出を行わない。レイヤーレイアウトや選択アイテムがないものは1にすると効率がよい。 ... SRC=res\g\gn\shortcut.def.gyu MAP=res\g\gn\shortcut.map.gyu --------
■sketch: 立ちキャラ登場コマンド
新規作成で、キャラ未選択時に << を押すと、その行のキャラが取得されるようにしたい。
■Action273の拡張
p1に2が指定された場合、strParamを式として評価し、その結果をp1に設定します。
■sketch: ラインステータスおよびリソース検出のバグ修正
音声同期演出系で、重複検出されていたものを修正。
■sketch: 演出ビューのアクティブ時のノード移動アニメーションパターンを10->5に変更
演出ビューのアクティブ時にノードの距離が遠いと、ラグが鬱陶しいことがあったため。
■sketch: クリッパー関連のエラーレベルを実情にあわせて変更
・clipperがRSDをまたぐ level.4 -> level.3
・clipperの2重定義 level.4 -> level.2
・定義されていないclipperの破棄 level.2 -> warning
現在のExHIBITの動作は次の通りです。
・同じIDで作り直した場合は、従来のIDに関連づけられたレイヤーはすべて関連を解除され、
クリッパーが破棄された後作り直されます。
・利用されていないクリッパーが破棄された場合、なにもしません。
・破棄時の画面の再構築は明示的に指定しない限り行われません。
■sketch: ラインステータスの拡張
・clipper の状態を追加しました。
・立ちキャラ/顔表示/ビルボード/clipper の検出情報をクリックすることで、その行にジャンプします。
・行番号をクリックすると、調査した行にジャンプします。
■sketch: 音声同期演出に削除ボタンを追加。
■sketch: 音声同期演出に undo / redo を追加。デフォルトでは64階層まで保存します。
■sketch: 音声同期演出のキャラ登場コマンドに、存在しない顔や体を指定すると落ちる問題を修正。
■sketch: indent 表現を変更 色が多くて見づらくなってきたので、字下げ表現を変更した。 併せて字下げカラーも再設定した。 sketch.configの設定は、従来は、color.bg.tab=指定だったが、2013.03.20 rev.14 以降無効になり、 新たに、color.bg.indent= 指定に切り替わった。記述内容は、color.bg.tabと同じで、 0xRRGGBB形式で、16個の色をカンマ区切りで並べたものになる。 従来同様、色からインデントの深さを取得しているため、同じ色を指定することは出来ない。 インデントされた文字のない部分の色は、color.bg.indentSpace=0xRRGGBB で定義できる。 ■sketch: 演出ビューで行を選択->ドラッグして移動した場合、アンドゥ履歴が作られない問題を修正。 ■sketch: ツリービューの「編集履歴」を実装 いままでは飾りでした ^^; ついでに undo/redo 系を見直しました。 デフォルトでは編集履歴は4になっています。プロジェクトの設定で、16くらいに設定してください。 主体はツリービューにある「編集履歴」で、左クリックすると現在の操作履歴が表示されます。 上が新しく下が古いものになります。例えば、「行削除」と書かれている行は、行削除を行う直前の 状態になっています。 現在(undo前)は、最初にundoを行う直前の状態ですに戻ります。つまりundo履歴でundoを行う 直前の状態が保持されています。 注意して欲しいのは、redo()はこの状態に戻す操作で、undoを逆にさかのぼる動作ではありません。 ステップ処理の undo/redoは廃止されました。今後は編集履歴をご利用ください。 なお、メニューのundo/redoは、1つ前の状態に戻ると現在の状態に戻す動作を行うもので、 履歴をさかのぼりません。CTRL+Zも同様です。ご注意ください。
■sketch: 演出ビューに直接「シーン定義画像」をドロップできるようにした シーン定義画像とは、レイアウトエディタにドロップしてシーンを復元するためのGYU画像です。 従来は、レイアウトエディタにドロップした後、演出エディタに登録していましたが、 レイアウトエディタをサムネール化して直接ドロップできるようにしたため、 シーン画像もドロップできるようにしました。 決めのシーンを作ったら、サムネールからドロップして、レイアウトエディタのGETと同様に取り扱えます。 映画のフィルムの編集作業と同じ感覚でご利用ください。 ■sketch: 音声同期演出のグループマーカー操作を実装した 範囲選択後、表示されるメニューから「マーカー操作」を選択してください。 選択範囲にあるマーカーの位置と、間隔を自由に設定したり、元に戻したり出来ます。 ■sketch: 音声同期演出に編集ボタンを追加した 編集ビューでCMD_CMDVIEW (オレンジ色の行)をWクリックすると、音声同期演出ビューが開いて 当該コマンドの位置にカーソルがセットされます。 従来は、再編集をしたいとき、このマーカーをダブルクリックするか、ドラッグメニューから再編集を選択する必要がありましたが、 マーカーにカーソルを合わせるのが面倒なので、ダイアログ中に編集ボタンを作成して、それを押すことで再編集できるように してあります。 ■シーケンス移動コマンドに利用するシーケンスファイルを拡張した。 従来は、通常/file/file作成のうち、file部分に指定するファイルは、通常指定のシーケンス文字列がそのまま書き込まれたファイルでした。 例えば ide/data/seq/move_seq.txt が指定されたとき、そのファイルの中身は、 ---- ここから 2.-12345.-12345.3.300.4.-16.0.3.100.-4.0.0.3.100.4.0.0.3.100.-4.0.0.3.100.4.0.0.3.100.-4.0.0.3.200.0.16.0 ---- ここまで といったような生のデータでした。これを、 ---- ここから MOVE_SEQ.100 ; cmd (各パラメータの区切りは、TAB。エクセルで作成してそのまま貼り付けられます) ; 0 将来の拡張用(定義開始) 現在は利用できません ; 1 現在位置の設定(引数無し) ; 2 x y 初期位置指定(引数2) -12345で現在位置保存 ; 3 time x y accel 静的相対位置指定(引数4) ; 4 time x y accel 動的相対位置指定(引数4) ; 5 ループの開始点(引数無し) ; 6 count ループの終了点(引数1) ループ回数。-1で無限ループ。 ; 7 ch wavId wavIdを効果音チャンネルch(0/1)で再生する ; 8 count 先頭に戻る(引数1) ループ回数。-1で無限ループ。 ; 9 time x y accel 絶対位置指定(引数4) ; 255 将来の拡張用(定義終了) 現在は利用できません ; .STARTSEQ 2 -12345 -12345 3 300 4 -16 0 ; コメント 3 100 -4 0 0 3 100 4 0 0 3 100 -4 0 0 3 100 4 0 0 3 100 -4 0 0 3 200 0 16 0 .ENDSEQ ---- ここまで といった形式で記述できるようにしました。先頭のMOVE_SEQ.100 は定型句。 以下、.STARTSEQ行〜.ENDSEQ行までの間にコマンドをタブ区切りで指定します。 エクセル等で指定後、コピペで貼り付けるだけでシーケンスが作成できます。 現在、ファイルの内容をシーケンスとして定義するのは、シーケンス移動コマンドのプロパティを開いて、 閉じた時なので、後から定義ファイルだけを編集して、RLDを出力しても変更が反映されないので注意してください。 将来的には、RLDを出力するタイミングで読み直すことを検討中です。 ■sketch: GETボタンによるシーンドロップを演出ビューでも出来るようにした。 レイアウトエディタのGETボタンをドラッグして、演出ビューにドロップすると、 その位置に表示コマンドを挿入できます。 音声同期演出エディタ内へのドロップはシーン作成だけですが、こちらはシーンの作成や、キャラの登場を選択できます。 移動その他は、従来通りコマンドパレットから入力してください。 ■レイアウトエディタのフレーム(ボタンが表示されている半透明の黒い部分)以外を右クリックすることで、GETと同じ動作するようにした。 GETボタンの利用頻度が上がったため。暫定的に、SHIFT+左クリック(ドラッグではないので注意) にも同じ機能を割り付けてあります。 ゲームの画面サイズが大きくなって、レイアウトエディタにsketchが重なることが多いシチュエーションで便利です。 現状では次の3通りの方法でレイアウトエディタをサムネール化できます。 1.GETボタンをドラッグしてサムネール化、ドロップした位置に展開 2.フレーム以外を右クリック(ドラッグではない) カーソルにサムネールがついてくるので、配置したい場所で左クリック。 3.コントロールではない部分をSHIFT+左クリック(ドラッグではない) カーソルにサムネールがついてくるので、配置したい場所で左クリック。 ■sketch: 編集ビューの行をドラッグして画面外にドロップするとレイアウトエディタにシーン情報を送るようにした。 現在の編集ビューの行のドラッグ&ドロップは、ドロップ先に応じて次の動作をします。 ・編集ビュー内 その場所への移動。アンドゥできます。 ・ツリービュー内 ・コマンドパレット ・キー操作一覧 ・コマンドの再利用 ・ブロック一覧 ・IF-ENDIF一覧 ・編集履歴 ・検索 処理無し ・マクロ マクロの登録 ・ラインステータス その行のラインステータスを表示します。 ・何もない場所 レイアウトエディタへシーン情報を送る ・画面外 レイアウトエディタが起動していて、レイアウトエディタの上なら、レイアウトエディタへシーン情報を送る。 レイアウトエディタが起動していなければ、起動する。
■音声同期演出のスキップ時、最終画面のみ表示するように変更。
音声同期演出中に大きなレイアウトの変更やポーズ替えが複数ある場合、
クリックによるスキップですべてが表示されるため画面がころころ変わるが
それを最終画面だけ表示するように変更した。
やや描画制御が複雑な処理なので、大丈夫だとは思いますが、予期しない
デッドロックが発生したらお知らせください。
■skethc:CMD_ZOOMDRAWの初期位置及びプリセットの変更
従来は、40x30だったが、これを画面の縦横比を保って幅40に変更。
プリセットは、一辺が4〜255ピクセルの範囲で任意に幅設定できるよう変更。
また、プリセットは幅のみの指定で、高さは画面の縦横比を維持して設定されます。
■sketch:F5の動作を変更
現在 F5:最初から実行、Shift+F5:カーソル行から実行、なのを入れ替えた。
F5でカーソル行から実行になります。
■sketch:音声同演出の操作を変更
とりあえず全機能を1ボタンにまとめました。
メニュー表示が上下ドラッグだけがちょっと特殊ですが、すぐ慣れると思われます。
左クリック
再生中は、再生の停止。カーソル位置は再生開始場所に戻ります。
それ以外は、クリックした場所にカーソルを移動させる。
左Wクリック
マーカーがある場合はそのマーカーの再編集。
マーカーがない場合は、その位置から再生。
左ドラッグ(上下)
メニュー表示
・新規作成(マーカーがない場所だけ有効)
・再編集(マーカーがある場所だけ有効)
・再生
・削除(マーカーがある場所だけ有効)
・ペースト(現在その位置に演出エディタ上のCTRL+Cマクロを展開します)
左ドラッグ(左右)
範囲指定→範囲指定メニュー表示
・コピー(範囲指定内のマーカーをコピーする。なお、ペーストが実装されていない)
・均等割(範囲指定内にあるマーカーを均等割り付け。始点と終点は移動させない。
・削除(範囲指定内にあるマーカーを削除)
右は全部将来のためにあけてあります。
■sketch:レイヤーのコピーコマンドで、レイヤーのαを対象にした場合、再編集時に数値が壊れる問題を修正。
コピーレイヤーコマンドは、ほとんど利用されていない部分に、色々とおかしな動作があったため、
動作詳細を定義し直して、コードを書き換えた。後方互換性は確保されています。
今回は、大体期待通り動作すると思います。
■sketch: 音声同期演出へのコピペ関連
・編集ビュー上でCTRL+Cしたものを、音声同期演出のペースト(P)から貼り付けられるようにした。
$temp$.mbtを経由しなくてもCTRL+Cマクロを経由で貼り付けられるってこと。
■sketch: コメントのWクリックの動作を変更
従来:コメントのWクリックが全部open/close。
現在:コマンド表記部分は従来通り。詳細表記部分(右側)は再編集に変更。
■レイヤーの破棄コマンドに、カードスタイルの破棄を追加。
主にシーン作成でカバーレイヤーを削除しない場合、そのカバーをスクロールで外すために使用します。
併せて、編集ダイアログのコントロールを分かり易く変更。
dltを利用する場合の、表示速度を変更できるように修正。デフォルトで利用したい場合は、単位時間を-1に設定します。
■sketch: キャラの登場時、直接指定が0-3のままで4以上が指定できない。 最新の値にあわせて拡張されるよう修正。 現在は6人まで登場できるので、指定可能範囲は0〜5。 ■sketch: キャラ登場時キャラの入れ替えをやったら、再編集時に右の外指定に表示されるのを修正。 音声同期演出時のみ。 ■sketch: キャラの一括登場コマンドで、有効行にキャラ指定がないと決定時に落ちる問題を修正 空のデータが出力されます。 ■sketch: 音声同期演出にイベント画面の拡大縮小(CMD_CLIP系)が挟まるとラインステータスの取得に失敗する問題を修正 主にレイアウトエディタへの転送で問題が発生して、黒画面になることがあった。 ■sketch: 音声同期コマンドの追加 ・キャラの移動 CMD_C_MOVE ・シーン作成 CMD_FACEUP ・キャラの一括移動 CMD_EXECMOVECHARACTERS ・キャラの一括退場 CMD_LEAVECHARACTERS ■ラスタスクロールがフルカラーレイヤーに非対応だったので対応させた アルファチャンネル付きのフルカラーレイヤーには非対応です(単に不要だったため) 実行された場合、現状ではアルファは変形されません。
■sketch: キャラ登場コマンドに、その時点における対象キャラのbid/fidを取得するボタンを追加。
選択したキャラが現在登場されているなら、その情報を取得します。
■sketch: 音声同期演出ビューへ、LAYOUT EDITORのGETをドロップできるようにした レイアウトエディタのGETボタンをドラッグすると、サムネールウィンドウになるので、 それを音声同期演出ビュー(音声波形が表示されているウィンドウ)の表示したい位置に ドロップすると、ドロップされた位置に、シーン作成(F/O)コマンドが作成されます。 ■1音声に32個以上コマンドを登録しようとすると、32個目が登録されない問題を修正 現在、1024コマンドまで登録できます。 ※そもそもそれ以上は編集操作上現実的ではありません。、
■sketch:音声同期コマンド(キャラ登場/退場)のラインステータス表示が異常だったのを修正。 ■sketch:音声同期演出にmbtをドロップしたとき、処理の詳細を通知するようにした ■snapshotでキャラを退場させる際、スキップするとキャラの合成が行われなかったのを修正 スキップしてもキャラの合成を行うようにした。 ■sketch:音声同期コマンドの右ドラッグ処理は、範囲指定を優先に変更。 また、範囲指定した時点でそのままメニューを表示するようにした。 ■音声同期コマンドの追加 ・クリッパーの定義 CMD_CREATECLIPPER ・クリッパーの設定 CMD_SETCLIPPER ・クリッパーの破棄 CMD_DESTROYCLIPPER ・ウェイト CMD_WAIT CMD_WAIT は、その時間分次のコマンドの実行位置をずらすという処理で対応するべきだが そうすると音声より長いコマンド群を表現できないためCMD_WAITをそのまま導入した。
■演出ビューの強調表示が音声同期コマンド群に対応した
■音声同期コマンドの追加
・レイヤーのコピー(CMD_COPYLAYER)
■レイヤーのコピー(CMD_COPYLAYER)にスナップショットを追加
任意のレイヤーに現在の画面の任意位置を拡大/縮小して作成するのに便利です。
そのほかにも
・入力画像にスナップショットの任意位置が使えるようにした
・出力画像にレイヤーを選択した際、そのレイヤーがなければ作成するようにした
作成されるレイヤーの属性は次の通り
1.フルカラー
2.入力透過
3.不透明度0%(透明)
4.表示は行われている
5.サイズは、dw x dh
6.位置は、(dx, dy)
7.アルファチャンネルはなし。
■sketch:音声同期演出の均等割り付けの動作がおかしかったのを修正
選択範囲の最小マーカーから最大マーカーまでの範囲を均等に割り付ける
機能だが、割り付けた後「最小マーカー」から配置すべき所を
「先頭から」配置していたため、位置がおかしくなっていた。
■sketch: lineStatus/resource抽出に音声同期コマンドを対応させた
音声同期コマンドの中であらゆるコマンドが利用可能になったため
1.リソースの検出に対応
2.ラインステータスの表示に対応
した。
■sketch: エラー検出機能に音声同期演出を対応させた
対応 転送元領域をはみ出す転送元指定の検出
対応 遅延ビルボードレイヤーチェック
対応 ブロックをまたぐ非同期演出の検出
対応 check layerID
不要 シナリオ移動エントリーの検出
不要 その他のエラー検出
不要 スキップブロックのエラー
不要 シーン内飛び先の調査
不要 シナリオをまたぐ clipper の検出
不要 コマンド履歴分類
非対応 異常なオブジェクトIDのチェック