-
Notifications
You must be signed in to change notification settings - Fork 9
ChangeLog
C.Ponapalt edited this page May 12, 2022
·
51 revisions
550-3以降は Releases を見てください。
- コード書き直し時に一部ミスがあり ,= 演算子の挙動が変わっていた問題を修正
- ,= 演算子での配列追加や += 演算子での文字列結合を超高速化した
- 正規表現ライブラリをboost::regexから DEELX に変更した
- 実行中に適宜計算結果の一時保存領域を解放することで、大きなデータを扱う際の実行中のメモリ使用量を削減
- REPLACE・RE_REPLACE・RE_REPLACEEXに置換回数オプション追加
- 配列同士の加算の挙動を変更
- 関数出力のarray指定と出力確定演算子を同時使用した時の挙動を変更(内部では配列加算処理をしているので)
- TRANSLATEの第3引数を空にすると第2引数で指定したパターンを削除するようにした。tr///dと同じ。
- ちなみに今までは落ちていた。うわあ。
- HEXSTRTOIを、頭に0xがついた文字列でも動くようにした
- TRANSLATEで指定のしかたが悪いと落ちる場合がある問題を修正
- TRANSLATEで-記号を使うためにエスケープシーケンスを導入 とりあえず\・-・\t(タブ)・\r(CR)・\n(LF)・\f(LF)あたりは使えます
- 汎用文字変換関数TRANSLATEを実装
- HAN2ZEN/ZEN2HANで一部の文字をちゃんと変換できていなかった問題を修正
- 具体的には「パピプペポッヴ」
- ASORTに序数返却オプションを追加
- 空っぽのヒアドキュメントで意味不明のエラーを吐く代わりに、正常に読み込むが警告を出すようにした
- STRFORMの文字長制限を緩和
- STRFORMでフォーマット指定に応じて内部で文字列や数値等に自動変換するよう変更
- STRFORMで型指定子nとpが使える問題を修正(不具合の元になる)
- STRFORMで型指定子S(sではない)やMS拡張指定が使える問題を修正(不具合の元になる)
- 正規表現ライブラリが腐っていたのでビルドしなおしたら全角括弧や全角|などを正規表現演算子と認識して大惨事になったので調整して再度ビルドしなおした
- ASEARCH/同EXで空配列を渡した時に警告を表示していた問題を修正
- 正規表現ライブラリが腐っていたのでビルドしなおした
- #globaldefineしなくても使える組み込みプリプロセッサ定義を2つ追加
- AYA_SYSTEM_FILE 実行中のファイル名(相対パス)
- AYA_SYSTEM_LINE 実行中の行数
- 今後の追加予定なし
- INSERTの警告表示がERASEになっていた問題を修正
- TOINT関数を、「小数点以下を機械的に切り落とす」処理に変えた(今まではfloorと同等)
- 「玉」を起動してログを受信している時に不安定になる場合がある問題を暫定修正
- CVAUTO関数に文字列以外を投げ込むと返り値が出る問題を修正
- ASORT関数のバグを修正(要素数1の配列を渡すとオプション文字列が1つだけ入った汎用文字列が返る、エラー時に空配列が返らない場合がある)
- GETSECCOUNT機能追加で苦闘中その2(だいたい修正済)
- GETSECCOUNT機能追加で苦闘中(だいたい修正済)
- GETSECCOUNT関数に、日付文字列解析機能追加
- FREADBIN関数が腐っていた問題を修正
- FDIGEST関数が腐っていた問題を修正
- ASORT追加
- FreeBSDでビルドできるようになった修正済みソースで再ビルド (send-pr from Henry Hu. Thanks.)
- (manifest.cppの番号書き換え忘れたので差し替えた)
- ERASEの第二引数に負値を使えるように (BTS:MS:73 Patch Merged)
- ISFUNCで空文字列を指定すると2が返るひどい問題を修正
- SETSETTINGでiolog,logpathの変更を有効に
- 新関数 RE_ASEARCH RE_ASEARCHEX RE_ASEARCHMULTI ASEARCHMULTI
- MKDIRの返り値の論理が逆だった問題を修正
- 空文字列が代入された変数が保存されない問題を修正
- [BTS:64] LETTONAMEの挙動を修正
- 設定ファイルのdic設定に第2引数を新設、ファイルごとに文字コード設定可能に
- ARRAYSIZE関数で1要素の汎用配列を指定するとその中のテキストを簡易配列として解釈する問題を修正
- 互換性の問題が出たので新たにGETTYPEEXを新設しGETTYPEの挙動は戻した
- 設定ファイルに charset.save.old を追加(旧形式セーブデータの文字コード明示)
- GETTYPEのタイプ検出をずいぶんまともに。
- RE_SPLITに分割制限数パラメータ追加(SPLITといっしょに)
- ダブルクオート等の処理が微妙におかしい問題を修正
- FREADENCODE、FREADBINの読み出しが途中で切れる問題を修正
- FREADENCODE追加
- ヒアドキュメント機能追加
- LOADLIB / UNLOADLIBで2回目以降の読み込みの場合はload/unloadを呼ばないようにした
- RE_OPTION追加、Perl互換正規表現オプションが使えます
- 正規表現文字クラスがWin9x系でうまく動かない問題を修正
- FOPENでファイルを開くのに失敗すると落ちるひどい問題を修正
- 文字コードサポートを拡充
- foreach文内部で列挙対象配列に変更を加えてもループ処理に問題が生じないように
- FOPEN済みファイルへのFSIZEが通らない問題を修正
- 擬似乱数初期化改良 - ほぼ同時起動したゴーストが同じ乱数系列を使わないように
- EXECUTE_WAIT追加
- STRDECODE / STRENCODE追加 旧名はGETSTRURLENCODE / DECODE
- ERASEVARで複数指定可能に
- 設定ファイルにinclude指定追加
- 設定ファイルのiolog指定は、玉にD&Dする使い方で強制onされるように
- CHARSETLIB / CHARSETLIBEXをいじった
- コメント処理がまたおかしかった問題を修正
- CHARSETLIBEXをロード前でも動くようにした
- iolog,offしても完全にログを無効できなかった問題を修正
- FDIGESTに32bit CRC追加
- LICENSEシステム関数追加(ライセンス表示)
-
/* */
でのコメント処理の挙動が怪しかった問題を修正 (xenon/ponapalt) - FSEEKシステム関数追加(ファイルの現在位置移動)
- FTELLシステム関数追加(ファイルの現在位置取得)
- FOPENのアクセスモードに+相当を追加(ランダムアクセス)
- 上記3つの追加により、ファイルのランダムアクセスが可能となりました。
- LETTONAMEで配列が代入できない問題を修正
- FREADBIN / WRITEBINでデータが化ける問題を修正
- FREADBINでデータ読み出し途中で意図せずファイル読み込み終了扱いになる問題修正
- そのため、FOPENの引数にバイナリモードが追加された
- DUMPVARシステム関数追加、変数内容をログファイルにダンプします。デバッグ用
- 基礎設定ファイル(yaya.txt)に ignoreiolog オプション追加
- OnSecondChangeなどでログが大量になる/見にくい のを防止するためのオプション
- SUBSTRの第二引数を負値にすると「文字列の最後から何番目」を示すように
- || と && 演算子の処理最適化
- 符号1文字でも「正しい数値文字列」として認識していた問題を修正
- GETSTRURLDECODEがバグってたのを修正
- FATTRIBがディレクトリの日付情報を取れなかった問題を修正
- システム関数SETSETTING追加(なんだ!この「馬に乗馬する」的なネーミングは!)
- 二項演算子を単項演算子のように誤って書いていた場合にエラーを吐かずに即落ちるひどい不具合を修正
- Win9x/Me上で正規表現関係の細かい不具合があったのを修正
- EXECUTE追加、外部アプリの実行が可能に
- FDIGEST追加、MD5/SHA-1などのダイジェスト値計算が可能に
- save.auto追加、自動保存のON/OFFが可能に
- FATTRIBを呼び出すたびにリソースリークするひどいバグを修正
- FATTRIBがいつも-1を返すひどいバグを修正
- RMDIRが成功時に0を返していたひどい問題を修正(Windows上のみ)
- FATTRIBが返す配列に日付情報追加
- けっこう高速化
- FENUMが常に空変数(void)を返していたひどい問題を修正
- 整数かどうかを判定する処理を厳しくした
- システム関数の解析・実行まわりの高速化
- sequentialでもnonoverlapと同じ「初期化直前の選択肢は除く」機能が動いてしまう問題を修正
- RE_SPLITで落ちる問題を修正
- メモリリークだらけになっていたのを修正
- 安定しないのでふつうのMTに差し戻し
- READFMO追加
- 設定ファイルにsave.encode,onと書くとセーブファイルが暗号化
- 乱数エンジンをSFMTに積み替え
- 非Windows環境対応工事中
- "--"演算子で確定する候補がまったくなかった場合に落ちる問題を修正。
- 出力候補として空文字列が使えなかった問題を修正。特にarray指定とか悲惨なことに…
- GETTIMEの第一引数にEPOCHからの秒数指定可能に
- GETSECCOUNT追加。time関数とmktime関数の役割を果たします。
- 未定義型を配列へ追加・代入する操作は、IARRAYを代入する時と同じように、削除もしくは無視されるようにした。
- 辞書・requestの出力・ファイル入出力・セーブデータ・SAORI等外部DLLの文字コードを個別に設定できるようにした。
- SINH / COSH / TANHを追加。これでだいたいCライブラリ並みに。
- RAND(0)を実行するだけで一発墜落するひどいバグを修正
- 文字列を「大小比較」できるようになった。要はC言語でいうstrcmp。ソート用。
- GETSTRURLENCODE / GETSTRURLDECODE追加。
- リリース初版。517-901と同等品。
- 「未定義型」の導入
- 定義されていない変数が持つ型です。文字列としては""(空文字列)と同等、数値としては0と同等に扱われます。
- この導入で、未定義変数と数値演算をした時に文字列扱いされて変な結果になる問題が解消されました。
- 0で割り算すると落ちる問題を修正
- さすがに落ちるのはまずいのでチェックを入れました。
- ランダム選択を指定している関数で選択の結果がなかった場合に落ちる場合がある問題を修正
- FREADBIN(filename,size,alternateof0)
- FWRITEBIN(filename,data,alternateof0)
- 文字コード変換をせずバイナリデータとして読む。第三パラメータはバイト値"0"の代わりになる文字。デフォルトは半角空白。
- CHR(Int配列) も可能に
- CHRCODE(文字列,文字の位置) も可能に
- SAVEVARの第一パラメータにファイル名も渡せるように(省略可)
- RESTOREVAR新設。これもファイル名を渡せるように(省略可)
- 指定したセーブファイルから変数を復旧します。
- &color(Silver){SAORIの処理が全滅していた情けないバグを修正};
- シングルプロセスで複数のインスタンスを作れるようなコードにしてみた(実験的)
- &color(Silver){””や’’で囲まれた文字列の解析に失敗する場合がある問題を修正};
- LETTONAMEで変数展開までやっていた特大バグを修正
- aya5.txtの文字コードが反映されない問題修正
- 演算時に型を「昇格」させる機能追加
- 整数と実数の計算ではどちらも実数に変換して計算
- 整数・実数と文字列の計算ではどちらも文字列に変換して計算
- CHARSETLIBEX - すでに読み込まれたSAORIとの通信用文字コードを変更
- 重複回避ランダム選択機能で、常に前回の選択は候補から除外するようにした
- ビット演算機能
- BITWISE_OR(int1,int2)
- BITWISE_AND(int1,int2)
- BITWISE_XOR(int1,int2)
- BITWISE_NOT(int)
- BITWISE_SHIFT(int,シフト量)
- 中括弧閉じを忘れた場合にエラーを吐くように
- ZEN2HAN/HAN2ZEN - 文字列の半角全角変換