# リリースノートサンプル1

v1.04(2005/9/5)

\[Fix] \*Cursor.Newで未定義命令エラーが出ていた問題を修正。コンパイラが正しい中間言語を生成してなかったのが原因。

\[Fix] Carbon版のMac OS X上での動作時、環境設定ウインドウのタイトルバーが文字化けする問題を修正。

v1.03(2005/8/4)

\[Fix] *MesHead～を使ってる時、インライン命令の切れ目と、アニメーションやスクロールしてる時に*MesHead～が消えてしまう問題を修正。

\[Fix] エラーで終了する時、さらにNilObjectExceptionが出る可能性があった問題を修正。→v1.50の15018と同じ

v1.02(2005/7/23)

\[Fix] \*GameAboutImgの画像がゲームモードで表示されない問題を修正。コンパイルの時、arc.fwdにコピーするファイルの内部リストに追加されてなかったのが原因なので、このバージョンを使って再コンパイルして欲しい。

v1.01(2005/7/23)

\[Fix] *MesHead～が指定されていて、バックログから復帰する時、【】がない文でも*MesHead～画像が描かれてしまっていた問題を修正。

\[Chg] 命令中で、yes/no,true/falseだけでなく、on/offとも書けるようになった。

\[Fix] Mac Carbon版で、%var = \*System.OSの値が正しく返ってなかった問題を修正。

v1.00(2005/7/18)

\[Ref] 開発ウインドウのコンパイル画面のレイアウトを変更。また、処理をウインドウのメソッドへ移した。

\[New] src.fwdだけのコンパイルができるようになった。ただし、実行には前のsrc.fwdをsrc.bakとリネームしたファイルが必要。

\[Chg] すべてコンパイルの時、間違って上書きしないよう、arc.fwdがある場合はメッセージを出すようにした。

\[Fix] 「バックログで画面を暗くする」画像用のメモリは、今まで8bitで確保してたが、32bitにした。メモリは食うが、Windows XPなどでUnhandled Exceptionで落ちなくなった。

\[Chg] 開発モードで、テキストファイルを終わりまで実行した時、ダイアログを出すようにした。

\[Ref] Virtual Machine内部のメソッドを少し整理した。

\[Chg] 一部のエラーメッセージを変更し、同じようなエラーは表記を統一するようにした。

\[Imp] 画像が1ファイルしか読み込まれてないレイヤーは、アニメーション状態になってても無視するようにした。

\[Ref] 起動時、レイヤークラスのインスタンス生成が少し早くなった。

\[Chg] 命令中で、yes/noだけでなく、true/falseとも書けるようになった。

\[New] 整数型変数の右辺にもyes/no,true/falseが使えるようになった。

\[Ref] テキストバッファをVMから新たなクラスに移した。

0.x系

v0.58(2005/7/4)

\[Fix] *Menu.SaveScenario,* Menu.LoadScenarioを、 \&SaveDialog,\&LoadDialogで呼び出してキャンセルした時、戻るポイントを\&SaveDialog,\&LoadDialogの次の命令にした。

v0.57(2005/7/4)

\[Fix] arc.fwdを読み込む時、ある条件下でファイル長が適切に取得できなかった問題を修正。

\[Fix] ゲームモードでの実行時、グローバル変数の生成に失敗することがあった問題を修正。

\[Imp] シナリオテキスト読み込み時、軽くマルチステートメントの前処理をするようにしたので、コンパイルが少し早くなった。

\[Imp] setting.txtのコンパイル終了処理を修正した。今まではOutOfBoundsExceptionが出る可能性があった。

\[Fix] *Menu.SaveScenario,* Menu.LoadScenarioが設定されてて、選択肢でセーブ・ロードをするとき、選択肢が画面に残ってしまう問題を修正。

\[Imp] コンパイルスレッドのスタックサイズを64Kから512Kにした。

\[Fix] Windows版では、暗号化＋パック化の時にページ違反で落ちることがあったので、Threadを使わないようにした（おそらくREALbasicのThreadのバグによる）。

\[Ref] 上記バグ取りの時に、ファイルのコンパイルまわりを少し整理した。おかしな動作があったら知らせて欲しい。

v0.56(2005/7/2)

\[Ref] オーディオエンジンを、メモリが綺麗に使えるよう大幅に書き換えた。

\[Chg] Windows制限モードのWAVE再生でも、フェードアウトが使えるようになった。

\[Chg] *TitleScenarioのエイリアスとして、*&#x4D;enu.TitleScenarioをつけた。

\[New] *Menu.SaveScenario,* Menu.LoadScenario, \&DialogFileEnd を追加。

\[Imp] セーブ・ロードの前に、その時点でのセーブデータと同等のメモリ内容を、一度バッファに蓄えてから処理するようにした。

\[Imp] セーブ終了時とロードのキャンセル時（\&DialogFileEnd実行段）は、ロードと同等の内部処理で、そのバッファ内容を復帰するようにした。

\[Ref] セーブ・ロードダイアログ(OSのもの)の表示をセーブ・ロードクラスへ移動した。

\[Chg] ロード・セーブの処理中は、レイヤーのアニメーションとスクロールを止めるようにした。

\[Fix] \*EzMes～などを使ったスクリプトをコンパイルした時、arc.fwdから読めないファイルがあるケースでの問題を修正。

\[Chg] \&Drawの実行段でもセーブポイントが進むようにした。

\[New] $var = \&LoadBuffer.ShortDate; $var = \&LoadBuffer.ShortTime; を追加。

\[Chg] 終了確認ダイアログをMovable ModalからSheetにした。

\[Fix] Windows版で、より正しい方法で最大化・最小化ボタンを生成するようになった。

v0.55(2005/6/26)

\[Fix] FmWr.iniがない状態で、グローバル変数を右辺に持つ命令の実行段でエラーが出ていた問題を修正。

v0.54(2005/6/25)

\[Fix] テキストの書き方によっては、タイトルに戻るやセーブ・ロードで、MesHead,MesBodyがクリアされずに文字が重ねて描かれてしまう問題を修正。

\[Chg] テキスト行末の\_に続けて\&selectを使った時、選択肢の位置ではなく、そのテキストの位置がセーブされるようにした。

\[Chg] テキスト行末の\_でアンカーをまたぐ場合にも、アンカーの位置ではなく、そのテキストの位置がセーブされるようにした。

\[New] グローバル変数が扱えるようになった。

\[Chg] グローバル変数を保存するため、FmWr.iniの仕様を変更した。FmWr.iniのバージョンは今回から0.54になった。

\[Chg] 開発ウインドウのレイアウトを少し変更。グローバル変数の表示欄を設けた。

\[Fix] v0.52の開発ウインドウの変数表示の変更で、文字型変数のリストを非表示にせず、変わりに整数型変数のリストの非表示→表示を二度してた問題を修正。

\[New] \&EzSEを追加。

\[Fix] \&EzSndがSEのトラックで鳴っていた問題を修正。

\[Fix] \&StopSEと\&StopSndが正しく動作してなかった問題を修正。

\[Fix] ?の文で、書き方によっては変数名が正しく解釈できなかった問題を修正。これはv0.53で>=と<=の解釈をつけた時から発生していた。

\[Ref] ウインドウとグラフィクスのクラスのインスタンスをグローバルで生成するようにした。オーバーヘッドが減り描画が少し速くなった。

\[Ref] レイヤーの重ね合わせ状態のチェックをレイヤークラスでやるようにしたので、オーバーヘッドが減り少し速くなった。特に重いアニメーションやスクロールなどで効果を発揮。

\[Chg] 「変数hogeが見つかりません」エラーの出し方を変えた。コンパイル中はコンパイルのウインドウ内に表示される。実行中は見た目は今まで通り。

\[Imp] コンパイル中の行の解析処理を少し切り分けたので、そのぶん早くなった。

\[Chg] シナリオテキストのコンパイル中のエラーは、1ファイル内の全てのエラーを表示するようになった。

\[Chg] コンパイル中のエラーは、発生箇所の行番号(1ベース)を表示するようにした。

\[Imp] 内部的に、シナリオテキスト読み込み時（コンパイル処理の前）に行番号リストを作成するので、メモリ展開まで少し時間がかかるようになった。

\[Fix] arc.fwdへのコピー中にエラーが出た場合、正常終了のメッセージが出ないようにした。

\[Chg] 空のアンカーがあるシナリオをsrc.fwdにコンパイルした時に正しく動作しないことがあったので、空のアンカーにはエラーを出すようにした。

v0.53(2005/6/19)

\[New] \&Wait = Timer:int;を追加。

\[Chg] 条件判断(?の文)の演算子に、>=と<=が使えるようになった。

\[Imp] 内部のInStrに相当する関数は、separator相当箇所が2文字以上の場合にも対応するようになった。シナリオ解釈でおかしな動作があったら知らせて欲しい。

\[Chg] *MusicFormat,*&#x53;oundFormat,*VoiceFormatは、それぞれ*Format.BGM,*Format.Snd,*&#x46;ormat.vというエイリアスを用意した。実際に使用する命令名と近くなるように。

\[New] \&LdSE; \&PlaySE; \&StopSE;を追加。

\[Chg] 効果音の割り当てチャンネルを変えた。おかしな動作があったら知らせて欲しい。

\[Imp] arc.fwdから音声ファイルの読み出しの際、テンポラリの一覧表をチェックし、使ってないものは随時消去するようにした。

\[Imp] arc.fwdからファイルの読み出しに失敗した時、もはやREALbasicのエラーを出さず、Famous Writer側でメッセージを出すようにした。

\[Imp] セーブファイルとFmWr.Iniの書き出し処理を統一した。セーブファイルはTextOutputStreamではなく、BinaryStreamで書き出すようになった（データの中身は変わらないはず）。

\[Fix] \&SelectButton実行段で、キーボード操作すると\&ButtonEnable=0のボタンが選択できていた問題を修正。

\[Ref] \&Drawなどのタイマー終了時の処理を整理した。

v0.52(2005/6/12)

\[Ref] アプリケーションクラスとVMクラスの役割分担をはっきりさせた。

\[Ref] その他、全般的に、メソッド、プロパティなどのリネームや移動をした。

\[Chg] コンパイル中のウインドウにエラーを表示できるようにした。一部のエラーメッセージが表示される。

\[Fix] setting.txtでテキスト表示をさせようとした場合に、エラーメッセージを出すようにした。

\[Imp] 開発ウインドウにて、ListBoxの書き換えを不可視にして行うようにしたので、特にウインドウを開く時などは高速化した。

\[Fix] アバウトボックスの画像がarc.fwdの中から読み出せなかった問題を修正。

\[New] \&TimerReset,%var = \&Timerを追加。内部タイマーのリセットと取得。

\[New] \&Drawに51,52を追加。

\[Chg] テキスト行の最後に「\_」があった場合、続けて\&Selectが使えるようになった。

\[Fix] 選択肢の実行段でロードした時、選択肢が残ったままフェードする問題を修正。

\[Chg] メニューの「タイトルへ戻る」は、ロードと同様に一回暗転するようにした。

\[Fix] 要素を複数指定する命令で、要素数が足りない時はエラーで終了させず、その分を空の文字または0と見なして処理するようにした。

\[Fix] \*MesBodyが非表示から表示になる際、テキスト表示開始位置を左上にリセットするようにした。

\[Fix] Carbon版の環境設定で、Font Family IDのチェックを外した。インストールされてる全てのフォントが表示される。

v0.51(2005/6/7)

\[New] \&b.LdCG = \&Loadbuffer.Img,int1,int2;を追加。ボタンにLoadBufferの画像を貼ることが出来る。

\[Chg] \&Click実行段でも、メニューのオートや早送りなどが使えるようになった。

\[Chg] 内部で確保するメモリブロック、書き出すファイルを全てリトルエンディアンに変更。今までのFmWr.ini、セーブファイル、src.dat、arc.datは使えないので、起動前に捨てて欲しい。

\[Chg] 今回からは、セーブファイルのバージョンは0.51とする。

v0.50(2005/6/5)

\[Chg] *MesBody.New,*&#x4D;esHead.Newの実行段で、テキスト領域を画面から消すようにした。

\[New] コンパイル済シナリオの書き出しと、素材ファイルのパック化機能がついた。これにより今回からVer0.5xというバージョン系統になる。

\[Imp] setting.txtの解釈を変更した。内部的に、setting.txtのコンパイル後、その後に設定反映の中間言語を付加する。

\[Chg] 内部的なファイルとアンカー情報の保持の仕方と、吐き出す中間言語を変更した。

\[Imp] 内部的な変数インデックスの保持方法を変更した。

\[Imp] ロードした時の変数のメモリ上への展開処理を変更した。特にセーブされてる変数が多い時、展開が早くなった。

\[Chg] 今回からは、セーブファイルのバージョンは0.50とする。

\[Imp] 開発モードとゲームモードの互換性確保のため、起動時の処理、インスタンス生成順などを変更した。おかしな動作があったら知らせて欲しい。

\[Chg] ゲームモードでの動作時、\&SaveEnable=0;の時は、保存確認ダイアログを出さずに終了することにした。

\[Imp] \&LdButtonの画像読み込みを、\&LdCGと同等のものに書き換えた。おかしな動作があったら知らせて欲しい。

v0.22(2005/5/31)

\[Fix] dataのトップディレクトリにないシナリオファイルでセーブした時、ロードできなかった問題を修正。

\[Chg] セーブデータの読み込みにバージョンチェックをつけた。これは本体のバージョンとは別でセーブファイル個別のもの。今回からは、セーブファイルのバージョンは0.22とする。

\[Fix] \&SelectButton実行中にロードした場合、ボタンが画面に残ってしまう問題を修正。

\[Fix] ロードしたとき、アニメーション状態にあるレイヤーがあった場合、表示が終わるまでにアニメーションが先走って開始してしまう問題を修正。

\[New] 開発ウインドウに、アンカーの一覧がついた。その他、開発ウインドウ内を少し変更。

\[iVM] Virtual Machineをグローバルなクラスにした。今まではアプリケーションクラスのインスタンスだった。動作によっては、オーバーヘッドが減ったことで少し高速化する。

\[iVM] Virtual Machine内部のクラス配置も変更した。全般的に、おかしな動作があったら知らせて欲しい。

\[iVM] *MesRect,*&#x4D;esHeadの管理を、オフスクリーンのクラスに移行。今まではアプリケーションクラスで管理していた。

\[Imp] その他、全般的にソースをだいぶ書き換えた。おかしな動作があったら知らせて欲しい。

\[Kis] テキスト表示のタイマーの取り方はv0.18から変わらず。

\[New] インライン命令に\&w=shake&、標準命令に\&Shake;を追加。画面のシェイク。

\[Imp] フルスクリーン実行時に、ウインドウの描画範囲外を黒で塗る方法を変更。再描画の時のちらつきが減った。

\[Fix] レイヤー重ね合わせの計算式が間違っていた問題を修正。今までは、特にWin NT系において、レイヤーが切れて表示されることがあった。

v0.21(2005/5/29)

\[Fix] セーブ・ロードができなかった問題を修正。

\[Imp] 起動時、*MesRect,*&#x4D;esBody,カーソルのインスタンス生成順を若干変更。

v0.20(2005/5/29)

\[Fix] \&s=int&でフォントサイズを変えてる時にルビを使うと、ルビの後ろがデフォルトサイズに戻っていた問題を修正。\&s=int&のサイズに戻るようになった。

\[Imp] ルビの「ふりがな」部分の表示は一気に表示するようにした。今までは一文字ずつタイマーに従っていた。

\[iVM] ルビ命令に割り当てていた中間言語を改訂。命令1個をコンパイルすると3バイトほど少なくなる。

\[Fix] バックログから通常状態に復帰する時、\*MesHead利用時に【】の中が正しい場所に描かれなかった問題を修正。

\[Fix] バックログは、変数も表示できるようになった。ルビも解釈するが「ふりがな」の部分は無視される。色とサイズも無視するが、とりあえずこれでフィックスとしたい。

\[Imp] バックログの「暗くする」に使うGWorldは、起動時に確保するようにした。これにより、バックログに突入する時の息つきが小さくなったが、その分メモリを使う。

\[Imp] 一部のCarbon環境で、環境設定からOsaka,Osaka－等幅以外の日本語フォントが選択できなかった問題を修正。

\[iVM] シナリオのジャンプ、メニューのロード、タイトルへ戻る、など、ポインタ変更関連の処理を内部で一元化。おかしなジャンプをしたら知らせて欲しい。

\[iVM] シナリオのファイルオープンからコンパイルまでの処理を大幅に変更した。おかしな動作があったら知らせて欲しい。

\[iVM] Windows版でもコンパイルにスレッドを使うようになった。もはやCPUを占拠しない。

\[Chg] 命令中のファイル属性は、ファイルパスの頭に「:」をつけて指定すると、\*～Formatで設定されてる拡張子を無視できるようにした。

\[Fix] \&v=file:int&は、intが切り分けられず、file:intでファイルと解釈してた問題を修正。今後はintも仕様通り動作する。

\[Kis] テキスト表示のタイマーの取り方はv0.18から変わらず。

\[Chg] デフォルトのカーソルを変更した。

\[Imp] アプリケーション起動時に起こったエラー（例えばdataフォルダやsetting.txtがないなど）は、必ず終了するようにした。今までは動作が継続できていた。

\[New] フルスクリーンをつけた。なお、解像度の変更はできない。

\[Fix] キーダウンと、マウスクリック（正確にはMouseUp）のタイミングでも、メニューバーを再描画するようにした。

\[Fix] シフトキーでスキップしている時、BGMのフェードアウトはカットアウトするようにした。

\[Chg] トランジション中のアニメとスクロールは、フェード以外は表示が崩れるので止めるようにした。つまり、フェードの時（\&Drawが10以下）のみ同時動作する。

\[Imp] レイヤー重ね合わせの座標計算を少し変更した。おかしな動作があったら知らせて欲しい。

v0.19(2005/5/22)

\[New] %foo = \*System.OSを追加。OSと動作モードが取得できる。

\[Fix] ロードするとき、セーブポイントに記録されたシナリオファイルがメモリに読み込まれてるシナリオと同じだった場合、正しく復帰しなかった問題を修正。

\[Fix] アンカーの所でセーブポイントを表すポインタが進んでなかったので、正しく復帰しないことがあった問題を修正。

\[Imp] セーブ回りを別クラスにした。エラーが出たら教えて欲しい。

\[New] \&SaveLocal,\&LoadLocalを追加。シナリオの中からセーブ・ロードが出来る。

\[Chg] \&SL.SetTextは\&SaveTextと表記変更。

\[New] \&LoadBuffer,\&LoadBuffer.Status,\&LoadBuffer.Text,\&LoadBuffer.Dateを追加。セーブデータからそれぞれ情報を取得。

\[Fix] \&LdButtonで、ファイル名の左右にスペースが入っててもきちんと無視するようにした。

\[Chg] \&B.Textの右辺に文字型変数が取れるようになった。

\[New] \&B.Color,\&B.Shadow,\&B.Font-Sizeを追加。個別ボタンの文字色とフォントサイズが変更できる。

\[New] \&ButtonEnableを追加。個別ボタンの有効／無効を設定できる。

\[Chg] レイヤーを、背景＋255枚（合計256枚）に増やした。

\[Imp] トランジションしてる時でも、アニメーションやスクロールが機能するようにした。ただし、同時動作は重くなりがちなので注意して欲しい。

\[Imp] アニメーション／スクロール状態のレイヤーが、\&Visible=0か\&Opacity=255の場合、アニメーション／スクロールの処理を停止するようにした。

\[Imp] 今までアニメーションは全画面で重ね合わせ計算していたが、座標を調べて最小範囲を重ね合わせするようにした。小さいパーツのアニメーションは如実に高速化した。

\[Kis] テキスト表示のタイマーの取り方はv0.18から変わらずだが、今回のレイヤー処理の高速化により、前よりもたつきが減って見えるはず。

\[New] インライン命令の\&v&を追加。セリフ再生なしで、リップシンクだけしたい時に使える。

\[chg] \&v=file&は、\&v=file:10&のように、動かすレイヤーを単独で指定できるようになった。「:」がないと、リップシンク状態のレイヤー全てに作用。

\[Fix] リップシンク中、テキストスキップのために特定のタイミングでクリックすると、アニメが止まらなかった問題を修正。

\[Fix] アニメーション／スクロールをしているとき、MesHeadが再描画されてなかった問題を修正。

\[Fix] ボタンにも同様の再描画問題があったが、こちらはOver,Pushも織り込まなくてはならなかったので抜本的に書き直した。おかしな動作があったら知らせて欲しい。

\[Imp] 選択肢の文字描画で、色とフォントサイズをセットするタイミングを変更した。おかしな動作があったら知らせて欲しい。

\[Fix] MesBodyを右クリックなどで消してる時に、アニメーション／スクロールが動作すると、ウエイトカーソルが正しく復帰しなかった問題を修正。

\[Chg] アプリケーションアイコンを謎の両生類に変更。

\[Fix] アバウトボックスの画像がdata直下のものしか読めなかった問題を修正。今後はどこに置いても良い。

\[iVM] 一部の文字列判断をバイナリ比較にしたので、適用部分は少し高速化。主にコンパイラの命令の切り出し、VMの文字型変数判断などに適用。

\[Kis] バックログを暫定的に復活した。\*Player～Nameの置換、【】のインデント、/や\_は正しく処理されるが、インライン命令の処理（変数含む）はまだしていないので無視される。

\[Chg] ルビの表示位置を2ピクセルほど下げた。

v0.18(2005/5/14)

\[Chg] 早送りもマウスクリックでキャンセルできるようになった。今までキャンセルはメニューからしかできなかった。

\[Fix] トランジション中、マウスクリックでオートモードがキャンセル出来るようになった。今まではトランジション中のクリックは無視されていた。

\[Chg] \&LoadEnable,\&SaveEnable,\&Transparent,\&Visibleなどの右辺は、1/0だけでなく、yes/noも取れるようになった。

\[iVM] \&v=&が入ってないテキスト行は、音声の再生終了待ちの中間言語を吐き出さないようにした。

\[New] \&Scroll=...; \&Animation=...; \&VoiceSync(\&LipSync); \&Wait=Scroll:x; \&Wait=Animation:x; を追加。レイヤーのスクロールとアニメーション関係。

\[Chg] アニメーション用に、複数ファイルを読めるよう\&LdCGを拡張。

\[Imp] レイヤークラスを大幅に書き直した。おかしな動作があったら知らせて欲しい。

\[Imp] 上に関連して、\&Opacity=0の時は省メモリになり、読み込んでからメモリへの展開までが速くなった。ただし、今までの処理は\&Opacity変更時に行われるので、そちらは多少遅くなる。

\[Chg] セーブデータにアニメーションとスクロールの属性も保存するので、今までのセーブデータは使えなくなった。

\[Fix] セーブデータにアクティブレイヤーの情報、セーブ日時が保存されてなかったので、併せて保存するようにした。

\[Imp] \&Wait系コマンドのタイマーの取り方を変更。空タイマーを回し、命令実行の瞬間からのMicrosecondsを見て終了するようにしたので、正確に近づいたはず。

\[Imp] オートモード、BGMフェードアウトのタイマーも上記同様に変更。環境によっては体感速度が変わったかも知れない。

\[Kis] テキスト表示のタイマーの取り方に無理が出てきてるので、重いアニメーション実施中はもたつく。後日タイマー自体を作り直すので今少し時間をください。

\[Chg] 開発モード・ヘルプウインドウの構成を変更。

\[New] ヘルプウインドウでは、レイヤーごとの詳細情報（画像も！）が確認できるようになった。

\[Imp] シナリオコンパイラとVirtual Machineは、内部的に完全に分離した。

\[Chg] シナリオファイルのコンパイル中は状況を表すウインドウを出すようにした。

\[Chg] シナリオファイルの読込とコンパイルを分離した。今までは読込中にマルチステートメントの展開とアンカーテーブル作成をしていた。

\[iVM] 生テキスト行の暗号／復号は、REALbasicのStringからMemoryBlockに変更して高速化。もし文字化けがあったら知らせて欲しい。

\[Imp] アンカーの処理を、Pack化対応仕様に作り替えた。おかしな動作をしたら知らせて欲しい。

\[Chg] アンカー名に「: / \* |」の文字が含まれてるとエラーを返すようにした。

\[Imp] ロードは、読み込んでフェードする前にMesBodyとMesHeadを消すようにした。

\[Kis] バックログの実装は進んでない。

\[New] \&EzBGFill(\&EzBF)を追加。

v0.17(2005/5/4)

※今回からこのリリースノートに見出しをつけた

\[Fix] VMからウインドウに投げられた命令が動作完了する度、メニューバーを再描画するようにした。

\[Imp] 開発モードの「ヘルプ」ウインドウ内のフォントを、Mac Classic版は'Osaka'、Mac Carbon版は'Osaka－等幅'、Windows版は'ＭＳ ゴシック'にした。

\[iVM] 変換エンジンと実行エンジンを大幅に書き換えた。作者が見やすいソースにしただけだが、コピペミスしてる可能性もあるので、変な動作をしたら知らせて欲しい。

\[iVM] バックログをアンカーで止めるため、アンカーにも中間言語を割り当てた（今まではポインタを記憶してるだけだった）。もしおかしな所へジャンプするなどあったら知らせて欲しい。

\[Kis] バックログ自体の実装は進んでない。

\[iVM] \&Dialogは内部でのパラメータ渡しの方法を変えた。変な動作をしたら教えて欲しい。

\[Chg] インラインの変数表示は、今まで\&Captionの右辺と\&Selectの表示文字でも使えていたがそれはやめ、テキスト内でのみ使用可能という仕様に変えた。

\[Chg] 変わりに、\&Captionの右辺と\&Selectの表示文字においては、文字型変数が使えるようにした。

\[New] 文字型変数に整数型変数を代入または加算の表記ができるようになった。実行すると、インライン命令と同様、自動で全角文字に変換される。

\[iVM] インラインの変数表示の処理を、内部的にインライン命令と統合。

\[Fix] テキストにインライン命令があると、【】のインデントが正しく反映されてなかった問題を修正。

\[Fix] Mac版はdataフォルダがエイリアスでも動作するが、オリジナルがdataという名前でないと起動時に無限ループに陥っていた問題を修正。そのようなフォルダは弾くこととした。

\[New] \&v=hoge&を追加。セリフが再生できる。環境設定にセリフの音量とミュートを追加。

\[Imp] セリフ再生に応用するため、\&Wait=StopBGM;の内部処理を作り換え、また、タイマーのタイミングを少々変更した。おかしな動作をしたら知らせて欲しい。

\[Imp] テキストスキップの判断は、シフトキー→文字の早さ=0→（メニューの）早送り、という順番でチェックしていたのを、シフト→早送り→文字の早さ=0に変更。

\[Fix] 環境設定でミュートになってる音声トラックは音量スライダーが操作できないはずが、再度環境設定を開いたとき操作できてしまってた問題を修正。

\[Chg] その音量スライダーのPageStepを20から10に変えた。

\[Imp] ボタンのインスタンスの生成/破棄を、ウインドウクラスからグラフィクスクラスへ移すと同時に無駄なコードを削った。コピペミスしてる可能性もあるので、変な動作をしたら知らせて欲しい。

\[Imp] Mac版でマウスカーソルを隠すのにToolBoxを使うことにした。今までは透明なCURSリソースを使っていた。また、シフトキーでもマウスカーソルが隠れるようにした。

\[Chg] Mac版のみ、環境設定のフォントは、日本語フォントだけ表示するようになった。

v0.16(2005/4/30)

\&Show,\&Hide,\&Goを追加。これらは既存の命令のエイリアス。

テキストファイルの読み込み時、ファイルをまとめて中間言語に翻訳するようにした。プレイ中の動作が速くなったが、あまり大きいファイルだと読み込み時にもたつく。

それに伴い、?とSelectとボタン系の命令は、処理を大幅に変えたので、おかしな挙動があったら知らせて欲しい。

かなり前から選択肢とボタンの実行段でセーブ／ロードできなかったが、再びできるようになった。

シナリオ位置情報を変更したことにより、セーブデータとFmWr.iniは今までのものが使えなくなった。

\[Known Issue] 今回からバックログが使えない。今回の中間言語化で目途が立ったので、もうしばらく待ってて欲しい。

内部的なファイルシステムを新たに書き直した。ファイルが読めない、セーブロードがおかしい、などあったら知らせて欲しい。

環境設定の「画面」に「Windowが非アクティブでも効果を有効にする」を追加。

タイマーがイベントを発生させるタイミングを変更した。マシンスペックによる挙動の違いを若干吸収できるはず。

タイマーで2つの処理を同時に回せるようになった。内部的に容易に拡張可能な形にしたので、将来はもっと増えるかも知れない。

\&StopBGM = x;を追加。BGMがフェードアウト出来る。なお、この命令はWindows制限モードでも機能する。

\&Wait = StopBGM;を追加。フェードアウトが終わるまでウエイトする。

選択肢とボタンの実行段で、メニューの環境設定が使えるようになった。

v0.15(2005/4/24)

概念として「クラス風命令」を新設した。

\&MesBodyFontSize, \&MesHeadFontSizeは、*MesBody.Font-size,* MesHead.Font-Sizeに変更。頭が\*になり、間にピリオドが入った。また、それぞれ必須項目になった。

\&MesBodyLineHeight,\&MesHeadLineHeightは、*MesBody.Line-Height,*&#x4D;esHead.Line-Heightに変更。上と同様。

上記に伴い、文字の座標取得部分を大幅に書き換えた。おかしな表示になったら知らせて欲しい。

*MesBodySpacing系は、*&#x4D;esBody.Padding系と表記変更。Spacingも後方互換で使えるよう残しておくが、将来的にはPaddingのみになるので注意して欲しい。

\&r=HOGE:hoge&、\&s=foo&を追加。テキストのルビと、フォントサイズ変更。

\&c=hoge&のある行で、クリックで効果をキャンセルすると、おかしな色になってた問題を修正。

クリックでテキストの効果をキャンセルしたときの描画方法を変えた。遅いマシンでは多少速く感じるはず。

\&b.Text,\&b.Padding系を追加。これらはボタンに文字を描く命令。

ボタン系命令実行時のメモリ使用効率が良くなった。またMac版はボタン生成時にバックグラウンドタスクを止めるようにしたため、表示までが少し高速化するはず。

\&Pos = leftcenter/rightcenterを追加。

命令系の中間言語化が終わった。が、まだ変数、\&select,\&button,?系の:以降、などがプレーンテキストで動いてるので、将来のバージョンでの課題。

\[Known Issue] v0.14からのバックログの挙動は変わらず。おかしいまま。

セーブデータをバイナリ化した。ゲーム開発中にメモリ内の情報を見るには、ヘルプで開くウインドウを活用して欲しい。

\&SL.Commentを追加。

実はセーブデータは、日時・縮小スクリーンショットなどの情報も保存しているが、コメントも含めて取得・表示する命令がまだ。将来のバージョンを期待して欲しい。

ロードする時というか、セーブファイルを読み込んだ後、処理直前のタイミングで画面を暗転するようにした。

内部的にオーディオトラックを4チャンネルにした。

FmWr.iniにオーディオトラックの情報も保存するようにした。前のバージョンのFmWr.iniは捨てて欲しい。

起動直後（FmWr.ini読み込み時）と、ロード／別名でセーブのタイミングで、saveフォルダがなければ自動で作成するようにした。

終了時に終了確認ダイアログを出す処理を作ったが、ゲーム開発中は邪魔になるので、プレーンテキストで動いてる時は出さない仕様。従って今は出番なし。

\&Select,\&EzSelの実行中にメニューの「タイトルへ戻る」を使うと、選択肢がそのまま表示されていた問題を修正。

v0.14(2005/4/17)

Mac Classic版のアプリケーションヒープ（Finderの使用メモリから確認できる）を56000Kに増やした。

グローバルなセーブファイル「FmWr.ini」を読み書きできるようにした。環境設定の値などを保存する。

セーブファイルのMIMEタイプが「application/x-FamousWriter」になった。今までのセーブデータは使えなくなるので注意。

\&Opacity=x;を追加。画像ファイルのマスクデータを別で保持するため、各レイヤーが使用するメモリが増えた。

マスクデータを保持したことで、副産物としてボタンがRollOverのマスクに従って選択されるようになった（今までは画像の大きさの矩形だった）。

\&LNil=all;\&LClear=all;を追加。

*cursor.new,*&#x6D;eshead.new,\*mesbody.newを追加。

*meshead.Color,*&#x6D;esbody.Color、*meshead.Shadow,*&#x6D;esbody.Shadow、\&c=hoge&を追加。

\*系命令、テキストまわり、変数まわりを中間言語化した。

命令翻訳部分のチューンをした。おかしな解釈があったり、エラーで止まったら知らせて欲しい。

\[Known Issue] バックログの挙動がおかしい。原因はわかっているが、中間言語化が進んだら治るので、今やっても非効率ということで理解して欲しい。

クリックでテキストを飛ばすときの処理を効率よく変更。遅いマシンでは多少速く感じるはず。

Osakaフォントはアセントが微妙に異なるため、文字位置を若干上方向へ修正するようにした。

shiftキーや「次の選択肢まで早送り」でスキップ中、\&waitか\&clickの実行段で反応しなくなる問題を修正。

オートモード中、\&clickの実行段も、テキストと同様の待ち時間を取ることとした（今まではクリックを待っていた）。

音声が鳴らないはずの所で環境設定を開いたとき、バッファ内に音声データがあると鳴ってしまっていた問題を修正。

環境設定の「画面」を「効果」と表記変更。また、テキストの所にあった「選択時の点滅回数」を「効果」に移した。

バックログ中は画面を暗くするようにした。これは環境設定で暗くしないようにもできる。

Windows制限モードで起動すると、それを知らせるダイアログを開くようにした。また、環境設定のウインドウタイトルの部分にその旨記載するようにした。

開発モードで動作中、メニュー→ヘルプで開くメモリなどの情報は、別のタイプのウインドウにした。また、開くのにcontrolキーはいらなくなった。

v0.13(2005/4/10)

テキストの行末に\_をつけると、メッセージ領域がクリアされずに続けて書けるようになった。

それに伴ってバックログの内部処理を変更した。おかしな挙動があったら知らせて欲しい。

行間を指定できるようにした。\&MesBodyLineHeight,\&MesHeadLineHeight。

メッセージ領域の表示タイミングを少し変えた。おかしな表示があったら知らせて欲しい。

メニューに「次の選択肢まで早送り」を追加。

オートモードの待ち時間を環境設定で調節できるようにした。

テキストにタイマーをつけ、一文字一文字表示するようにした。スピードは環境設定で調節できる（ゼロに設定すると今までの一気表示）。

shiftキーでスキップしてて\&drawが実行されたとき、タイマーを通らずメインに戻るようになったので、若干高速化した。

\&drawに21,22,23,24（スクロール）と31,32,33,34（カットイン？）と41,42を追加。

\&Posのleft/center/rightは、l/c/rと略しても書けるようになった。

選択肢の処理を内部的にボタンの処理と統合した。

ボタンのマスクのOver,Pushが、正しいものではなく全部Normalのものになってた問題を修正。

選択肢をテンキー（又は数字キー）で選択できるようになった。

\&EzMovをつけたが、これはまだ暫定。パラメータの扱いが変わるという意味での暫定なので（というかいろいろ設定項目を考えてる）、動作は普通にするはず。

変数（ゲーム中、内部用共に）の処理部分を大幅に作り替えた。今までのセーブデータは誤動作する可能性がある。

\&Jmp,\&ldcg,\&ldbgmなど、=の右辺がファイル名になるものは、文字変数が使えるようになった。

予約変数という概念はなくした。\&rnd,\&dialogの扱い方が変わってるので注意。

setting.txtの設定をシナリオから見れるようにした。とりあえず*PlayerLastName,*&#x50;layerFirstNameだけ。また、\*system.fooをつけた。

整数型変数の小数点以下は四捨五入するようにした。今までは小数点以下切り捨て。

setting.txtと変数系以外の命令は内部で中間言語化した。プレーンテキストは翻訳されてから処理部に渡される。これは将来の暗号化に必要な措置。

Carbon版のデフォルトフォントを「Osaka－等幅」に戻した。Classic版は「Osaka」で変わらず。

アバウトボックスの仕様を変更した。\*GameAboutImageで好きな画像を使えるようになり、ウインドウサイズはその画像に依存するようになった。

Windows版では最大化ボタンを、Mac版ではZoomIconを使えないようにし、プレイヤー側でウインドウをリサイズできないようにした。

v0.12(2005/4/3)

内部的にカーソルの処理をクラスにした（今まではテキストのクラス内で処理していた）。不具合があったら知らせて欲しい。

タイマーの挙動を少し変更。カーソルの挙動が少し変わったのと、一部コマンドで内部ステップが減ってさらに安定するはず。

グラフィクス関係を別クラスにした。今まではフェード中、上に他のアプリなどのウインドウが重なった時、正しく再描画されてなかった問題が修正された。

マスクつき画像を開く時間が約2/3に短縮された。

\&Draw=1,3,4,5を追加。今までの1が2。新しい1は2の半分、3～5はだんだん長くなる。

選択肢のx方向の判断がおかしかった問題を修正。

テキストが表示されてないときに環境設定を呼び出すと、テキスト領域がちらつく問題を修正。

環境設定をタブパネル化した。環境設定に「選択時の点滅回数」「表示効果のオン・オフ」を追加。

効果音機能をつけた。\&ldsnd,\&playsnd,\&stopsnd。

環境設定に効果音のボリュームもつけた。また、BGMとともにミュートもつけた。ボリュームは100段階で調節できる。

Ez系の命令群を追加。標準命令に\&Click,\&TitleEnable,\&LdButton,\&SelectButton,\&LayerCombine,\&Visible,\&LClear,\&LoadDialog,\&SaveDialogを追加。

\&Lnilが引数を解釈するようにした。

\&Layerのエイリアス\&Lyを用意した。

?の後ろにスペースなどがあったとき、正しく動作しなかったのを修正（今後はスペースなどを入れてもOK）。

表記変更。\*Caption→\&Caption、\&Position→\&Pos。\&Posは、+-、center/left/rightも取れるようになった。

setting.txtの命令*GameTitle,*&#x47;ameAuthor,\*MesBodyNameModeを追加。

*ImageFormat,*&#x4D;usicFormatは省略可能にした。\*ScenarioFormat追加。これらを設定しない場合、ファイルの指定は拡張子も含めること。

*MesHeadSpacing,*&#x4D;esBodySpacingを個別に設定できるleft,top,right,bottomをつけた。

アンカー@が使えるようになった。

\&LdSeen→\&Jmpと表記変更。

簡単なバックログ機能を付けた。

Mac版のデフォルトフォントを'Osaka－等幅'から'Osaka'に変えた。

セーブファイルのフォント情報の記録法を変更。また、ロードしたときに該当フォントがない場合、MacはOsaka,WinはMSゴシックにするようにした。

セーブファイルにヘッダを書くようにした。が、まだロードの時にチェックしてない。

ロードしたとき画面がフェードイン（\&draw=1と同等）するようにした。

「別名でセーブ」にキーボードショートカットをつけた。

そろそろ暗号化を視野に入れ、プレーンテキスト解析部を別クラスに移し始めた。不具合があったら知らせて欲しい。

プレーンテキストの解析に再帰処理をやめたので、より安定するはず。副産物として、シフトキーでスキップするスピードが上がった。

動作状況（簡易メモリ内容表示）機能を付けた。controlを押しながら、メニュー→ヘルプ→ヘルプを開くと見れる。

テキスト中に数値変数を書くと、マイナス記号が文字化けしていた問題を修正。

機種依存文字をMac/Winで相互変換するようにした。とりあえず丸数字とローマ数字だけ。

Windows版に限り起動時のQuickTimeチェックを外した。画像はBMPだけ、音声はWAVEでBGMのみということで動作する。

Mac版でキーボード操作をするとマウスカーソルが透明になるようにした。マウス操作で矢印に復帰（WindowsはOS側で自然と不可視になるはず）。

Mac版、重ね合わせ計算時と画像の読み込み時にはバックグラウンドタスクを止め、高速化させた。

v0.11(2005/3/27)

変数と、条件判断の内部処理方法を変更した。記述方法は変わらないはずだが、不具合があったら知らせて欲しい。

ファイルに対して、dataフォルダをホームディレクトリとしたパスで指定できるようになった。パス区切り記号は/。

メモリ内にあるファイル名（パス含む）と同じファイルを開こうとした場合、無視するようにした。

コマンド\&Transparent,\&Wait,\&Dialog,*DefaultLastName,*&#x44;efaultFirstName、予約変数$firstname,$lastnameを追加。

\&LoadBGM→\&LdBGMと表記変更。

色指定をR,G,Bにしてたのを、HTML式にrrggbbにした。

メニューから環境設定が開くようになった。とりあえずBGMのVolumeと、フォント、ボールドが設定できる。

BGMのVolumeをセーブファイルに保存するようにした。今までのセーブファイルはVolume=0として扱われる。

レイヤーが\&fillの状態でセーブされてると、ロード時に再現できなかった問題を修正。

アクティブレイヤーが背景レイヤーの時、\&LNilを受けても無視するようにした。そうでないと\&LNil後に\&Fillが使えない。

一部のコマンドで、実行後に短いウェイトを入れた。大量コマンド連続実行時のStackOverflowExceptionが減るはず。

画面のフェード(\&Draw=1)用に確保するメモリの量が約3/4になった。

タイマーを1本に統合した。今までは描画とその他コマンドで、それぞれ別のタイマーを使っていた。

クリック待ちのカーソルを使えるようにした。カーソル系の命令追加。

選択肢でカーソルキーを使ったときの挙動を変更。また、選択すると枠が点滅するようにした。

選択肢の表示中にオートモードに入れないようにした。

Shiftでのスキップ中にきちんと選択肢で止まるようにした。

シナリオファイルのヘッダをチェックするようにした。とりあえず頭4バイトがFmWrでないと読めない。

メニューにヘルプをつけた。

v0.10(2005/3/22)

初公開
