- 2006-11-10
lbl_text : InsertStrInStr 関数にバグがあったので修正。
lbl_message : [GENKIさん]のサンプルを参考に(ほぼコピー)、禁則処理を作成。
: 自動改行を実装。不具合・バグあり。
- 2006-11-09
lbl_command : randomize 命令を追加。
main : エラー処理を変更。HSPエラーはmdl_formulaから取得。
ENGINE : main に対応。
mdl_formula : 全ての式演算関数の先頭で、エラーフラグが真ならすぐに戻るように変更。
mdl_text : [GENKIさん]のサンプルを参考に、文字列幅を取得する GetStrWidth 関数を作成。
: [GENKIさん]のサンプルを参考に、文字列を文字列に挿入する InsertStrInStr 関数を作成。
lbl_message : 文字列を切り捨てるルーチンを再構成。半角・全角に対応。
- 2006-11-08
mdl_formula : 中置記法で実数・関数を扱えるようなので後置記法を削除。
: 16進数の変換を "$" に変更。
: コメントを記述。コードを整形。
: 8進数に対応。
: エラー処理をする関数・命令を追加。
: HSPエラーも内部で設定するようにした。
ENGINE : mdl_formula に対応。
[naznyarkさん]
mdl_formula : StringToToken : 数値判定で 0X 0B 0o(ゼロオー) 0O(ゼロオー) も有効にした。
: StringToToken : 数値判定で8進数と10進数の判定を組み合わせた。
: CIE_ParseIN : 構文チェック & 演算子決定後のエラー処理の順序を変更。
: CIE_CalcIN : エラーありで呼ばれたときはすぐ戻るようにした。
: Formula : 関数呼び出し時の不具合対策で変数名変更。
- 2006-11-07
win32api : 関数の解説を付属。
mdl_formula : IsByte 関数を修正。
mdl_text : getstr 命令を関数化した getstrf 関数を追加。
mdl_mm : exist 命令を関数化した existf 関数を追加。
ENGINE : mdl_mm / mdl_text に対応。
- 2006-11-06
lbl_command : button 命令の第二引数を "*label" からHSPと同じ *label へ変更。
: [ { 式 } ] の形式に対応( [ Var 式 ] と等価 )。
ENGINE : 全スクリプト内で、等価演算子を == 、等価代入演算子を = として明記。
main : 命令において、"]" や']' を終端としないように修正。
mdl_mm : mdl_graphic と mdl_sound を結合し、マルチメディア関連モジュールに。
mdl_text : 暗号化・複合化 Code 関数を作成。
[naznyarkさん]
mdl_formula : 関数処理を追加。
: 実数処理を追加。
: CIE_CalcIN の処理を少し変更。
: StringToToken 関数の検索を二分検索に変更。
- 2006-11-05
mdl_formula : 変数名判定関数 IsName を使用。
: 数値定数判定関数 IsNum を使用。
: variable配列変数を外部から参照する必要がなくなったので、モジュール内変数に変更。
: 文字コード ' ' に対応。
: 16進数に対応。
: 2進数に対応。
main : 複行コメント /* 〜 */ を採用。
mdl_text : 流れ文字が正常に動作しないバグを修正。
lbl_command : タイトルバーキャプションを変更する title 命令を追加。
: ボタン作成 button 命令を追加。
: ページ変更(初期化) new 命令を追加。
: 画像変更 BG_FadeCover 命令を追加。
scenario : ボタンによる、総合サンプルシナリオ作成。
- 2006-11-04
mdl_sound : 音楽データ操作モジュール を作成。
win32api : user32 の WindowFromPoint 関数を定義。
: 全て命令から関数としての登録に変更。
mdl_command : クリック待ち([c],[cc])での、ウィンドウ外クリックを無効に。
: 音楽再生用 play_music 命令を追加。
: 音楽停止用 stop_music 命令を追加。
: 効果音再生用 play_sound 命令を追加。
scenario7 : 効果音・音楽 確認用のサンプルシナリオ作成。
[naznyarkさん]
mdl_formula : 条件演算子(?:)を追加。
: CIE_ParseIN 構文チェック処理を一部修正。
: CIE_ParseIN,CIE_CalcIN 変数が必要な演算子のチェックは実計算時に行うように変更。
: CIE_CalcIN 順次演算子(,)、条件演算子(?:)が拡張左辺値(変数)を返すこともあるように変更。
: CIE_CalcIN 演算子判定処理を少し変更。
: CIE_CalcIN エラー処理を少し追加。
- 2006-11-03
mdl_formula : 文字列の引数を、"" を外して返すように変更。
editor : 簡単なエディターを開発。
mdl_command : コメント追加。処理を軽量化。
main : 多重起動防止を__RELEASE__マクロ定義時のみ有効に。
: TAB を無視することにより、シナリオファイルでインデントを可能に。
: TAB が表示不可能になったので、エスケープシーケンス \t を採用。
- 2006-11-02
lbl_message : { } を変数ではなく式として判断するようにした。
: 検索方法を二分検索にした。[naznyarkさん]
: listvariable配列変数でソートを実装した。[naznyarkさん]
lbl_command : 引数に式を使えるようにした。
: repeat - loop 命令を作成。
: gosub - return 命令を作成。goto 命令を仮作成。
: redraw 命令を作成。
main : ループ戻り位置・ループ実行回数・現在のループレベル の変数を作成。
: サブルーチン戻り位置・現在のサブルーチンレベル の変数を作成。
: error_message ルーチンを__RELEASE__マクロ定義時に無効に。
mdl_formula : 後置記法を中置記法と混在させた。
: Formula関数で、式解析ルーチンをまとめた。
: Formula関数の引数で演算方法を変えるように変更。
- 2006-11-01
mdl_graphic : mdl_cartain から改名。画像を扱うモジュールに。
: 背景を再描画するルーチンを main から命令 BG_ReDraw として移動。
: 背景を描画する命令 BG_Draw を作成。
mdl_text : mdl_delspace と融合。
lbl_cmdfrmt : 式が入る命令は引数処理を行わないように変更。
: mdl_var に対応。
main : _error 以外を全てインクルード、必要モジュールとした。
: _error を吸収。__RELEASE__が定義されていない時に実行する。
lbl_cmdprcs : mdl_graphic に対応。
lbl_command : 方向性が決まったので、lbl_cmdfrmt と lbl_cmdprcs を合体。
lbl_formula : 同じく、mdl_var mdl_fa_if mdl_fa_pf を合体。
- 2006-10-31
mdl_var : 簡単なソート関数を実装
: 簡単な二分検索関数を実装
lbl_message : エスケープシーケンスに対応。
: 変数を $-$ から {-} に変更。
scenario5 : 変数やエスケープシーケンスを使った例。画像を使用。
mdl_text : mdl_tstr から改名。文字列を扱うモジュールに。
: [osakanaさん]のサンプルを参考に、全角・半角を判定する関数を追加。
main : lbl_message 、mdl_text に対応。
lbl_cmdprcs : 改行命令・クリック待ち命令の「改行」の仕様を変更。
scenario1 : 新書式で再生出来るようになったので、命令を追加し再生可能に。
- 2006-10-30
mdl_fa_pf : RPNから改名。後置記法。
: 式全体の値を、最初の項の型に合わせた。
: 数値型・文字列型に同様の演算方式で値を出すように変更。
: 変数名の規約を C 言語と同様にした。
mdl_fa_if : 中置記法での式解析モジュール [naznyarkさん]
mdl_var : 変数を管理するモジュール [naznyarkさん]
lbl_cmdprcs : 簡単な if 命令を実装。
lbl_cmdfrmt : lbl_cmdprocs に対応。
: 命令の引数に変数を使用できるようにした。
main : ところどころバグを修正。
: mdl_fa_pf,mdl_fa_inf,mdl_var に対応。
- 2006-10-29
mdl_rpn : 3項以上の演算になるとRPNに直せないバグを修正。[naznyarkさん]
: その他、5箇所ほどバグを修正。[naznyarkさん]
: 解析関数・変換関数・演算関数を統合。
lbl_next : 仕様を「特殊記号」から「命令」へ変更したので、lbl_lbl_cmdprcs内に挿入。
main : [cmd prm1,prm2,prm3,...] 形式に変更。
: 改行を無視することで、「行」の概念をなくした。
ENGINE : 全てのコードをmainに対応。
scenario : 現状では以前のサンプルが再生できなくないので、簡単なものに変更。
- 2006-10-28
lbl_cmdfrmt : 命令形式の解析をするルーチンを作成(lbl_basic から改名)
lbl_cmdprcs : 命令対応の処理をするルーチンを作成(lbl_command から改名)
main : 改行や空白のみの行は完全に無視するように変更。
: lbl_cmdfrmt, lbl_cmdprcs に対応。
: <cmd prm1,prm2,prm3,...> 形式に変更。一行一行読み込む。
- 2006-10-27
_error : エラーメッセージ追加
main : エラー処理を追加(*lbl_exit,*lbl_error 仮完成)
mdl_rpn : 文字列もRPNで代入できるようにした。
: 文字列の加算に対応。
: 文字列に加算以外を行うとエラーを出すように。
: 括弧内の演算処理によるバグを修正。[naznyarkさん]
: 数値と文字列の「異なる型の演算」に対応。
lbl_message : 長い文字列を代入すると無限ループに入るバグを修正。
lbl_command : mdl_rpnに対応し var 命令を変更。
scenario4 : 文字列演算確認用サンプル作成
- 2006-10-26
mdl_tstr : [osakanaさん] のkakomi_mojiモジュールを参考に、tstrを囲文字に対応。
main : 二乗を求めるcTypeマクロ POW をglobal定義。
: TRUE,FALSE,NULL をconstマクロに変更。
mdl_rpn : % を「剰余演算子」 として実装
: & を「ビット積演算子」 として実装
: ^ を「ビット差演算子」 として実装
: | を「ビット和演算子」 として実装
: && を「論理積演算子」 として実装
: || を「論理和演算子」 として実装
: << を「ビット左シフト演算子」 として実装
: >> を「ビット右シフト演算子」 として実装
: == を「等価演算子」 として実装
: != を「非等価演算子」 として実装
: < を「左不等号演算子」 として実装
: <= を「等価左不等号演算子」 として実装
: > を「右不等号演算子」 として実装
: >= を「等価右不等号演算子」 として実装
: = を「代入演算子」 として実装
: += を「加算代入演算子」 として実装
: -= を「減算代入演算子」 として実装
: *= を「乗算代入演算子」 として実装
: /= を「除算代入演算子」 として実装
: %= を「剰余代入演算子」 として実装
: &= を「ビット積代入演算子」 として実装
: ^= を「ビット差代入演算子」 として実装
: |= を「ビット和代入演算子」 として実装
: <<= を「ビット左シフト代入演算子」として実装
: >>= を「ビット右シフト代入演算子」として実装
: 不必要な変数を除去。コメント記述。
: 命令名変更。先頭にRPN_を付けた。
: 関数内部から、直接variable配列を変動させるようにした。
lbl_command : 囲文字を設定する surround命令を追加。
: limit命令を wrap命令に改名。
: mdl_rpn に数値型の代入演算子も実装させたので、それに対応。
lbl_basic : 先頭に空白があると、命令として読み込めないバグを修正。
: 命令名が存在しなくてもlbl_commandに渡すように修正。
: "文字列"の中のカンマに対応。
- 2006-10-25
mdl_rpn : RPNによる演算モジュールを新規作成。
lbl_command : Var命令を演算してから代入するように改良。
: 変数名が存在しない場合は、エラーを出すように設定。
: 未知の変数の初期値を "" から 0 に変更。
: 変数を数値・文字列の両方に対応させた。
: 影を設定するShadow命令を追加。
lbl_message : 読み出す位置が1つずれていたのを修正。
main : mdl_rpn をインクルード。
: 異なるシナリオなら多重起動できるように修正。
: よく使うASCIIコードを定義
scenario1 : 代入を文字列型に変更。
scenario2 : 演算のサンプルを追加。実行例も追加。
: 表示に影文字を採用した。
mdl_delspace : SPACEとTABを消去できるように変更。[osakanaさん]
mdl_tstr : [osakanaさん] のkage_mojiモジュールを参考に、tstrを影文字に対応。
lbl_next : mdl_tstr に対応。
lbl_basic : main に対応。
- 2006-10-24
lbl_command : 変数を代入するための var 命令を追加。
: Mes命令で sentence を初期化しないことで起こったバグを修正。
lbl_message : 変数を値(文字列)に変換する処理を追加。
scenario1 : ファイル名を scenario.txt から scenario1.txt へ変更。
変数を使用した。
scenario2 : 書式を確認するためのサンプルを用意。
main : 文頭の連続記号は単記号として表示するように変更。
エラーダイアログに、エラーメッセージと行数を表示するように。
背景の初期設定を黒に、文字の初期設定を白に変更。
- 2006-10-23
main : 「シナリオの長さ」変数名を c_size から c_len へ変更。
: ''で指定した値をASCIIに変更
: クリックしたら次の#か@まで即表示するためのフラグ変数 txtWait を作成。
: エラーメッセージの詳細を表示。
lbl_tstr : txtWait に対応。
lbl_message : txtWait に対応。
lbl_command : Color命令において、省略値を設定。値はHSPと同じ 0 にした。
_error : 必要なエラーメッセージを設定。
- 2006-10-22
mdl_delspace : 第二引数を var から str へ変更。
: prmsize が 0 のときは、p1 に SC を代入するように変更。
lbl_basic : = を命令の書式から外し、HSPの命令と同一の書式に。
main : 命令種の判定前に、token配列の値を全て SC で初期化。
: 「行の読込位置」変数名を i から s_at に変更。
: 「全体の読込位置」変数名を c_i から c_at に変更。
: HSPコメント(;)の全角・半角を共に使用可能に。
scenario : 新しい命令形式へ変更。
- 2006-10-21
lbl_command : シナリオキーワードに対する命令キーワードが存在しない場合は、文を表示するように変更。
lbl_message : 文字列表示後に、現在位置を記憶させた。
main : #,@ に続く数値(flag2に格納)を2桁以上に対応させた。
: flag2を文字列型から整数型へ変更。
: マクロを全てglobal指定に。
lbl_next : flag2 が変数に変更されたので、それに対応。
- 2006-10-20
mdl_tstr : 途中に改行を含んだ文字列を表示可能に。
lbl_command : Font命令の第一引数が正しく取得されなかったバグを修正。
: 文字表示限界を指定する Limit命令 を追加。
lbl_message : 限界文字数を越えたとき、指定の処理を行う判定と処理を追加。
main : sentence の長さを保持する変数名を n から s_len へ変更(main外でも使用する為)。
: 一行に書く文字数が増えるようなので、SENTENCE_LEN を 256 から 512 へ変更。
- 2006-10-19
mdl_tstr : 半角文字にも対応できるようにした。
lbl_command : Mes命令をmes命令依存からtStr命令依存へ変更することで、
: 自由に半角を使用できるようにした。
win32API : 引数を全てintで統一した。これにより、main.hsp, lbl_command.hsp を変更。
- 2006-10-18
lbl_command : mes命令を追加。
scenario : 顔文字、半角文字を表示するように変更。
- 2006-10-17
main : ラベル判定ループで、ラベルが存在しない場合にエラーメッセージを出すように変更。
lbl_command : ラベル判定方法を変更。ダブルクオーツで囲む必要がなくなるように。
: Wait, Await 命令を追加。
: BG_fcでステップ数・待ち時間を設定できるように引数を増加。
: 今まで通り使用可能にしたいので、省略できるように。
lbl_basic : 不本意ながら、省略値を代入するために、TOKEN_NUM数ループさせるように変更。
BG_cartain : 新規作成。mdl_cartain.asにCartainStatic/CartainStream命令を作成。
- 2006-10-16
lbl_command : End, Stop, Goto 命令を採用。( goto = "ラベル名" )
scenario : ノベル系のために、黒幕を使用。Frame命令で実現してあります。
mdl_tstr : メッセージを流れるように表示するためのモジュールを作成。
- 2006-10-15
main : 様々な種類のアドベンチャーに対応したいと考え、フレームを使用可能に。
lbl_command : HSPと同じ、Font命令を追加。
: 初期位置を変更するIniPosition命令、フレームを設定するFrame命令も追加。
- 2006-10-14
ENGINE : 全体を処理毎(正確にはサブルーチン毎)に別ファイルに分けました。
main : #,@ の後ろに数値を書くと、(#1,@3など) その回数の改行をするように変更。
- 2006-10-13
_command : 画像をフェード交差させるImageChange命令を追加。
win32api : CreateMutexとGetLastErrorを追加。
main : 多重起動防止。
: 必要なグローバル変数を宣言。
: 命令が存在しない場合は無視するように変更。
- 2006-10-12
main : @ でページ変更に対応。
: 背景描画ルーチンを作成(常にid=3 のウィンドウを背景とします)
: グローバル変数を宣言。
: ページ変更時に現在データ配列から保存データ配列へコピー。
- 2006-10-11
main : ユーザー定義命令LowerCaseからAPIのCharLowerに変更。
: キー入力待ちのredraw内を少し修正。
_command : main に対応し変更。小文字変換はmainの方で処理させます。