ChangeLog

C.Ponapalt edited this page Jan 29, 2017 · 22 revisions

Mc159-4

  • OnCloseイベント以外でも終了タグ自動挿入処理が誤爆していたせいで、OnGhostChangingを書いていない辞書で切り替え時に終了タグが実行されてしまう問題を修正

Mc159-3 (kanade_lab)

  • OnChoiceSelectExのReference1が里々が手を加えたままなのでOnChoiceEnterと同様にして対応
  • \q[,script]が里々が手を加えて動かないので\q[,http://]と同様にして修正

Mc159-2 (kanade_lab)

  • 「$次のトーク」使用時に辞書に「OnTalk」があると次のトークの動作が正しくないことがある問題を修正。

Mc159-1 (bnfs_buy)

  • イベント「なでられ時の反応」と、特殊変数「$なでられ時実行イベント」を追加。
    変数「なでられ時実行イベント」に文字列「なでられ時の反応」を設定すると、OnMouseMoveが辞書内に存在しない際、通常の反応の代わりにイベント「なでられ時の反応」が呼び出されます。
    リファレンスの内容はOnMouseMoveと同じであるので、

    *なでられ時の反応
    >(R3)(R4)なでられ

    とイベントを用意すると、標準での反応と等価となります。
    なお、文字列「なでられ時の反応」設定時に辞書にイベント「なでられ時の反応」が用意されていない場合は、通常の反応が呼び出されます。

Mc158-5 (kanade_lab)

  • 特殊変数「$れしばログ一時保存件数」を追加。
    この変数に数値を設定すると、設定した数までのイベントを里々内部に一時的に保管して、「れしば」が接続された際に送信するようになります。保存量が指定した件数に達した場合、古い方から順に消えていきます。
    (あらかじめ設定しておけば、バグなどが発生した際にある程度「後出し」でれしばを起動してもログを取得できるようになります。)

Mc158-4 (bnfs_buy)

  • 累計時間を示す変数の値がおかしくなる場合がある問題を修正

Mc158-3 (bnfs_buy)

  • 重複回避が動かない場合があった問題を修正

Mc158-2 (ponapalt)

  • ソースコード内の細かい不具合の可能性を潰して再発防止対策を仕込んだ

Mc158-1 (kanade_lab)

  • callをユーザ関数以外にも使えるようにした
  • vncall関数追加 (ただし、call/vncall共に引数の遅延展開をする関数を呼び出した際の動作は未定義です。)
    • 使い方
      $v0【タブ】あ,い,う
      $v1【タブ】,
      :(vncall,split,v0,v1)
    • 説明
      vncallはcallのように関数やSAORIを呼び出すことが出来ます。
      違いはcallでは引数をそのまま渡しますが、vncallは引数を「名前」で渡します。
      callで言うなら「(call,split,(v0),(v1))」に近いです。
      callとの決定的な違いは「引数を区切ってから名前を置き換える」ため、いわゆる里々の「区切り文字問題」を完全に回避することができることです。
      (例えば、上記の例ではcallを使うと区切り文字の問題で上手く動作しませんが、vncallでは期待通りの動作をするはずです。)

Mc157-3

  • ssu統合の際に考慮できていなかった、(S?)変数に関する挙動の互換性問題を修正

Mc157-2

  • @SAORI を全消ししても元ssuコマンド群が動くようにした

Mc157-1

  • equal内部関数の作成 (bnfs_buy)
  • compareの挙動がcompare_caseと同じようになっていたのを修正 (bnfs_buy)
  • ssuをsatori内部に統合
    • ssu.dllが要らなくなりました (互換のため一応配布パッケージには入れたままにしています)
    • ssu関連の@SAORIの記述も要らなくなりましたが、書いたままでも大丈夫です (書いていないものは自動で補われます)
    • 「内部SAORI」として扱われるので、今までの辞書をそのまま使用できます

Mc156-3 (bnfs_buy)

  • ゼロで割る数式を計算すると落ちる問題を修正

Mc156-2 (bnfs_buy)

  • +の直前に里々の自動ウェイトが発動する文字があった場合にキチンと動かなかった問題の修正

Mc156-1 (kanade_lab)

  • bts:113 単語の選択でフリーズすることがある 一部対処?
  • bts:112 さくらスクリプトによるスコープ切り換え時の不具合対処
  • bts:110 whenlistの実装
  • さとりすと用デバッグインターフェースの実装

Mc155-5 (bnfs_buy)

  • ssu printfのパラメータが数字以外も必ず半角変換される問題を修正
  • 半角/全角変換で「ー」が対象になっていなかった問題を修正

Mc155-4 (bnfs_buy)

  • 「ゴースト起動時間累計秒」などが異常値になる場合がある問題を修正

Mc155-3 (ponapalt)

  • 辞書読み込みの高速化 (from id:bnfs_buy)

Mc155-2 (ponapalt)

  • 重複回避が昇順か降順に設定した単語群で単語群に追加するとフリーズする問題を修正

Mc155-1 (kanade_lab)

  • 一部のNOTIFY情報の自動内部保持を実装 システム変数に $NOTIFYの自動保存=有効 と書き込むと有効になり、以下の情報取得変数が使用可能になります。
  • (導入済みゴースト「○○」の存在)
  • (導入済みシェル「○○」の存在)
  • (導入済みバルーン「○○」の存在)
  • (導入済みフォント「○○」の存在)
  • (導入済みヘッドライセンサ「○○」の存在)
  • (導入済みプラグイン「○○」の存在)
  • (導入済みプラグイン「○○」のID)
  • (使ってるぞグラフ「○○」の本体側の名前)
  • (使ってるぞグラフ「○○」の相方側の名前)
  • (使ってるぞグラフ「○○」の起動回数)
  • (使ってるぞグラフ「○○」の単純累計分)
  • (使ってるぞグラフ「○○」の起動割合)
  • (使ってるぞグラフ「○○」の状態)

    • 一部、れしばの改行が抜けていた問題を修正。

Mc154-1

  • コミュニケート系検索の候補絞込処理に別の方法を実装 (Patch from id:kanade_lab)
    • システム変数に $コミュニケートの検索方法=合計文字数 と書き込むと切り替わります
    • 従来の検索方法では長い単語がマッチした際の候補優先度が上がりにくかった点を改善
    • 従来の処理に戻すのは $コミュニケートの検索方法=里々 で。
    • 標準は「里々」モードなので何もしなければ今までと変わりません

Mc153-3

  • 「括弧展開後で置き換え済みの部分」の把握コードのミスで括弧展開されない場合がある問題を修正

Mc153-2

  • 括弧展開後の内容を「通常喋り文」として認識せず、喋っていない判定となって自動サーフィス戻しなどが動かなかった問題を修正

Mc153-1

  • 各DLLとさとりてにバージョン情報リソースをつけた。内容は同じ。
    • Mc153-1 ## 1,153,1,1 / Mc151-9 1,151,9,1
  • れしばだけでなく「玉」(AYAのログツール)にもログ送信できるようになった。

Mc152-1

  • $れしば送信=有効 でれしばを再探索。 =無効 で送信中断。

Mc151-9

  • デタラメな式を評価させようとすると最悪落ちる問題を修正

Mc151-8

  • さとりての送信ボタンが重い問題を修正

Mc151-7

  • 計算式に括弧を使うと式が計算不能扱いになるバグを修正
  • 重複回避の特殊変数を複数回セットしても、設定が同じなら選択候補を維持する(=重複回避データを保持する)ようにした

Mc151-6

  • (S?)(R?)などのシステム変数の末尾を削除した際に、Sの数・Rの数などに反映されていなかった問題を修正

Mc151-5

  • (S?)(R?)などのシステム変数に空文字を代入できない問題を修正

Mc151-4

  • 括弧展開時に閉じていないタグを含む文字列を処理しようとすると落ちる問題を修正

Mc151-3

  • 日本語以外の環境で挙動がおかしい問題を調整

Mc151-2

  • さっそくホールドの挙動がおかしい点が見つかったので修正

Mc151-1

  • 新マウス反応処理「ホールド」を追加しました。SSPやその他OnMouseDown/UpイベントとOnMouseDragStart/Endイベントに対応しているベースウェア上で、特定の位置で左マウスボタンをしばらく押していると反応します。「ぎゅっとつかむ」的な内容を想定しています。
    • 書き方は他のマウスイベントと同じで、 *0Bustホールド のように書いてください。
  • 上記「ホールド」追加に伴い、ボタンを押すのをやめてしばらく経つと起こる「ホールド終了」も追加しました。
    • 書き方も同じで、 *0Bustホールド終了 などのように書いてください。
    • 「ホールド」など他のトークのスクリプト実行中は発生しません。

Mc150-1

  • ssu compare_head・compare_tailも大文字小文字無視するようにした。
  • 大文字小文字判定が要る人向けに、compare_case・compare_head_case・compare_tail_caseを用意した

Mc149-4

  • 実は差し戻しコードはまったく関係なくトーク中判定にエンバグがあった問題を修正

Mc149-3

  • 【実際バグい】ついでにいろいろ細かい挙動に関係ない部分をいじったつもりが挙動に関係あったっぽいので、れしば対策以外のすべてのコードを差し戻し【爆発四散】

Mc149-2

  • 「れしば」を仕掛けていると時々不調になる問題への暫定対応

Mc149-1

  • 自動アンカー辞書の有効・無効制御ができるように
    • $自動アンカー=有効 $自動アンカー=無効
  • 自動アンカー有効無効制御のトーク一発のみ版も追加
    • $今回は自動アンカー=有効 $今回は自動アンカー=無効
    • 1トーク出力が終わったら、$自動アンカー の設定に戻ります

Mc148-3

  • OS起動~の「OS」を全角で書いても解釈されない問題を修正

Mc148-2

  • 累計時・分・秒(+単純~)が49.7日でリセットされる問題対策
    • ミリ秒単位積算なんて要らなさそうなので秒単位にして49710日もつようにした

Mc148-1

  • $今回は会話時サーフェス戻し を追加。$会話時サーフェス戻しの一発のみ版。 (TW:avery_goya)
    • 有効・無効・強制を設定可能
    • トークを1回生成すると、次の回は $会話時サーフェス戻し の設定に戻る

Mc147-5r2

  • ssu is_digitの第二引数に「整数」または「integer」と指定すると、小数点を無効扱いするようにした。例:(is_digit、9801、整数) (TW:avery_goya)

Mc147-5

  • 重複回避「起動中」が効かない問題をなおした気がする (BTS:MS:82)
  • calc,calc_floatの優先順位問題修正 (BTS:MS:72 Patch Merged)
  • ssu is_digitで小数点1回まで許容するようにした (BTS:OTHER:15)

Mc147-4r2

  • ssu.dllのsplitの第四パラメータに「区切り文字が連続していても1文字ずつ認識して分割」フラグを追加
    • 要は「空っぽの要素を許容するか否か」です。
    • (split、文字列、区切り、最大分割数、空要素分割(0/1))
    • satori.dllのバージョンは変化ありません。

Mc147-4

  • そもそも $デバッグ=有効 にしないとShioriEchoが動作しないようにした
  • ShioriEchoの結果に最低限の危険タグフィルタを追加
  • 上記の対応でいろいろ解決したので再びShioriEchoをオーバーライド不可に戻した

Mc147-3

  • ShioriEchoでSecurityLevel: local以外を蹴り忘れていたとんでもない問題を修正
  • ShioriEchoをオーバーライド可能にした

Mc147-2

  • コミュニケート反応探索でマルチバイト文字を考慮するのを忘れていた問題を修正

Mc147-1

  • _q _q でかこまれた部分に自動ウエイトを入れないようにした

Mc146-3 (r173,r174)

  • \p[2]以降用のrecommendsitesがちゃんと使えない問題を修正 (char2.recommendsites以降)

Mc146-2 (r170,r171)

Mc146-1 (r168)

Mc145-1 (r166)

{{{ 新しい構文"when"を実装したのでsend-prします。 機能は引数が事前に評価されない点を除いて"if"と同じで す。

*さんぷる1 :ifの場合 (set、変数1、0)(set、変数2、0) (if、1、(set、変数1、1)、(set、変数2、1)) 変数1は(変数1)#=>1 変数2は(変数2)#=>1 :whenの場合 (set、変数1、0)(set、変数2、0) (when、1、(set、変数1、1)、(set、変数2、1)) 変数1は(変数1)#=>1 変数2は(変数2)#=>0

*さんぷる2 :10の階乗は(call、階乗、10)です。

@階乗 (when、(calc、1<(A0))、 (calc、(A0)*(call、階乗、(A0)-1))、 1) }}}

Mc144-4 (r164)

  • 引数自動計算有効+呼び出し先がSAORI+計算結果が数字のみ、の場合のみ、全角数字を半角に変換するようにした。

Mc144-3 (r162)

  • 括弧展開時の処理が腐っていた問題を修正

Mc144-2 (r159)

  • 計算処理たぶん高速化
  • _? / _!でのエスケープの前にできるだけウエイトをはさむようにした

Mc144-1 (r156)

  • SSPのエラーログ統合機能に対応

Mc143-12 (r154)

  • 擬似乱数初期化を改良

Mc143-11 (r150,r151)

  • さとりてでアンカー処理が二重適用される問題修正
  • さとりてから送るSSTPにnotranslateをつけた
  • 高速化

Mc143-10/Rev2 (r148)

  • ssu.dllのみ:compare系を半角全角無視

Mc143-10

  • 引数自動計算での計算処理は誤爆しないようできるだけ厳格にした

Mc143-9

  • 全角数字をきちんと認識しない部分がいくつかあった問題を修正(4)

Mc143-8

  • 全角数字をきちんと認識しない部分がいくつかあった問題を修正(3)

Mc143-7

  • 全角数字をきちんと認識しない部分がいくつかあった問題を修正(2)
    • まだある可能性が。検証を希望。

Mc143-6

  • 全角数字をきちんと認識しない部分がいくつかあった問題を修正
  • 数値を結果として戻す部分が全角/半角まちまちなので全角にできるだけ統一した

Mc143-5

  • 引数が計算式でなかった時に勝手に数字などを半角にしていた問題修正

Mc143-4 修正差し戻し

  • 変数名の半角・全角を区別しないようにした(全部とりあえず半角にする)

Mc143-3

  • マルチモニタ認識系の処理を改善

Mc143-2

  • -タグをきちんとスルーできていなかった問題を修正

Mc143-1

  • $自動挿入ウェイトタイプ=無効 / $自動挿入ウェイトタイプ=里々 / $自動挿入ウェイトタイプ=一般
    • 「無効」で自動挿入全て無効、「里々」で従来の処理、「一般」でゴーストで一般的に使われるウェイトを自動挿入します。
    • 「一般」=「、」で\w5ぐらい、「。!?」や改行など文末で\w9ぐらい、話者変更で\w9\w9ぐらい。「ぐらい」はわざと微妙にランダム調整してるので。
  • 自動挿入ウェイトの処理自体をよりスマートにした
  • ssu.dllのsprintfで実数(小数点以下)も扱えるように - r116
  • ssu.dllのsprintfで精度指定、その他いくつかフォーマット指定をサポート - r116

Mc142-1

  • (本体の所在)追加。ベースウェアがインストールされているフォルダを取得 (ukiya)

Mc141-7

Mc141-6

  • $スクリプトの一番頭 が、本当の頭ではなかった問題を修正
  • URLを書いた\qタグにも里々内部識別用データが付加されてしまう問題を修正 (ukiya)

Mc141-5

  • ランダムトークと予約トーク機能で意図せず\1側の最初に余分な改行が入る場合がある問題を修正
  • VC2005以降でコンパイルが通らなくなっていた問題修正

Mc141-4

  • φでエスケープしたデータをSAORIに渡すと妙なことになる問題を修正

Mc141-3

  • ID=26,27再対応、もっとも外側の括弧置換時+calcや条件式計算時のみ空=0とするように

Mc141-2

  • ID=25 修正漏れ

Mc141-1

Mc140-3

  • 特定条件下で自動喋り機能が暴走する問題を暫定修正

Mc140-2

Mc140-1

  • (合成単語群、A、B、C)と書くとA/B/Cそれぞれの単語群の内容全てからランダム選択
    • 今のところ「重複回避」設定はできません。

Mc139-5

  • 符号1文字でも「正しい数値文字列」として認識していた問題を修正

Mc139-4

Mc139-3

  • 名前限定コミュニケート処理の細かな不具合を修正

Mc139-2

  • 計算式括弧展開の互換性問題修正
  • サーフェス初期化処理がぶっこわれていた問題修正

Mc139-1

  • hira2kata/kata2hiraが小さいワを認識できない問題を修正
  • is_digitが符号つき数字を認識できない問題を修正
  • 括弧展開をちょっとだけ高速化

Mc138-901

  • recommendsites / portalsites系の改修
    • 4行目以外も単純な括弧展開なら実行するようにした
    • 条件判断つきエントリをきちんと考慮するようにした

Mc137-2

  • (Aの数)(Rの数)(Sの数)実装
    • 要するにそれぞれの総数です。(R0)~(R5)まで有効なら(Rの数)は6になります。
    • 間が抜けている場合は最後の数+1になります。

Mc137-1

  • ssu.dll han2zen / zen2hanで変換タイプ指定可能に
    • 例:(zen2han、ABC123アイウガギグ?、数字 アルファベット カナ 記号)
    • 2番目に空白等適当な文字で区切って指定します。省略時は全指定。
    • 数字・アルファベット・カナ・記号 が指定可能(複数指定・任意の組み合わせ可能)

Mc136-901

  • 空エントリ=ランダムトークにジャンプしようとすると暴走したり落ちたりするひどい問題を修正
  • コミュニケート時に名前をきちんと限定してエントリを探索するよう変更

Mc135-1

  • (単語の追加、単語群名、単語)で、あらかじめ単語群が存在していないと落ちる問題を修正
  • (単語群「」の数)の実行結果がおかしな数値になる問題を修正
  • (追加単語の削除、単語群名、単語)で、単語の追加で入れた単語のみ削除可能に
  • (追加単語の全削除、単語群名)で、単語の追加で入れた単語を全て削除

Mc134-902

  • -901での変更で(H?)が動かなくなっていた問題を修正
  • システム変数への代入処理が妙なことになっていた問題を修正
    • 本来はシステム変数への代入はあんまりしないでくださいね!

Mc134-901

  • >や≫でのジャンプ回数制限を大幅緩和、実装を関数呼び出しの繰り返しでなくした
  • 上記実装変更に伴い、「呼び出し回数制限」はcall機能利用時のみになりました。
    • そして新たに「ジャンプ回数制限」キーワードが追加されました。デフォルト20000回。
  • (バイト値、1)と書くとバイト値1が簡単に得られるようにした。
    • 数値部分を書き換えると何でも生成可能ですが0とか書くと大変なことになります。

Mc133-4

  • セーブデータとして保存される変数の内容にカッコが含まれていると読み込み時にエラーになる問題を暫定修正

Mc133-3

  • タイマーで呼び出された場所でさらにタイマーをいじると落ちる問題を修正

Mc133-2

  • システム変数の処理をもうちょっと改善(範囲指定のないつつき処理の互換問題含む)

Mc133-1

  • $会話時サーフェス戻し=強制で、スクリプトの頭で必ずサーフェス戻しを実行
  • 無限呼び出し検出処理を改善

Mc132-4

  • (S0)(R0)などのシステム変数の処理をさらに改善

Mc132-2~3

  • SFMTからMTに戻した。VC++6だと遅いみたいなので…
  • (S0)などのS系システム変数の処理を改善
  • セーブデータ破損対策のため、ちょっとした回避コードをさらに組み込んだ
    • この改修処理で、とりあえずセーブデータ破損はまず回避できるものと思われます。ねとわく後に喋らなくなる問題についてはまだ追いきれてませんが。

Mc132-1

  • 乱数生成エンジンをSFMTに積み替え
  • (隣で起動しているゴースト)の候補にSSTP-ViewerやSSPのダミーエントリが含まれないようにした ##Mc131-1
  • $スクリプトの一番頭=ほげほげ で、返り値の一番最初に強制的に何か別のものをつける機能追加
    • $スクリプトの一番頭=\C で、SSPのみバルーンに「追記」ができます。
    • 一度SHIORI呼び出しが来るごとに空っぽに戻ります。必要な時は毎回設定し てください。 ##Mc130-3
  • SAORI呼び出しでエラーになった際に、エラー原因だけでなく呼び出し名(nswitchとか)も表示するようにした。 ##Mc130-2
  • 変数名にShift-JISコードで「=」と同じバイト列が含まれていると代入処理が正しく行われない問題を修正(Thanks to UKIYA) ##Mc130-1
  • 「$見切れてても喋る【タブ】有効」で、見切れ状態でもOnTalkを呼ぶ(=見切れ状態でもランダムトークをしゃべる)。 ##Mc129-3
  • アンダースコアつきの関数名に対応
    • borland 系コンパイラで、かつモジュール定義ファイルを用意していないときの対応用。
  • ssu.dllでも Mersenne Twisterを使うように (2007/1/4 差替) ##Mc129-2
  • セーブデータを1世代バックアップするようにした。 あわせてセーブデータの書き込み方法もより確実に。
    • satori_savebackup.txt (.sat) が増えました。ねとわくに含めないよう注意してください。 ##Mc129-1
  • (単語群「ほげほげ」の数) / (文「ほげほげ」の数) で、現在読み込まれている辞書内の単語や文の数を取得
  • セーブデータ暗号化機能を使えない場合があった問題を修正 ##Mc128-2
  • (ウィンドウハンドル[数値])で、里々が把握しているウィンドウハンドル値を取得可能に ##Mc128-1
  • 呼び出し回数制限機能
    • 括弧や>で の無限呼び出しでスタッ クオーバーフローするのを防ぐ処理。
    • デフォルトは200回で中断します。うちの環境で280回くらいで落 ちたので。
    • 変えたい方は、システム変数「呼び出し回数制限」で。
  • SAORI呼び出しで何か変なことが起こった場合の処理を少し改善
  • \h/ \uがタグと関係ない部分も含めて全部\0/\1になる不具合修正
    • 以前この処理のコメントを外して不具 合が起こったのを忘れてた… ##Mc127-3
  • OnRecommendsiteChoiceで、サイト名比較ではなくURL比較で該当するスクリプトを見 つけるようにした。 ##Mc127-2
  • ランダムトークの重複回避が標準で有効になっていなかった問題を修正
  • 条件付きエントリ関係の処理を改善 ##Mc127-1
  • 重複回避処理で、直前の選択は常に避けるよう に変更 ##Mc126-1~4
  • $今回は喋らない=有効 で、何をしようが常に204 No Contentを返す機能追加
    • 一度SHIORI呼び出しが来るごとに「無効」に戻ります。必要な時は毎回設定し てください。
  • お気に入りメニューの構築を高速化
  • 乱数生成エンジンをMersenne Twisterに積み替え