したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

【エミュレータ】Emueraスレ【+α】

491Emueraの人:2013/08/29(木) 22:19:37 ID:SrJhDzE.0
>>490
不具合です
週末には修正版を出す予定なのでお待ちください

492Emueraの人:2013/09/01(日) 21:34:26 ID:A8iS7wDo0
Emuera 1.815 リリース
ttp://sourceforge.jp/projects/emuera/releases/
・マクロ以外での修飾キーとファンクションキーの組み合わせ(Atl+F4など)が機能していなかった問題を修正
・DELCHARAに引数を複数指定したときに逐次処理されていた問題を修正
・CSVCSTR以外のCSV文字列取得関数が定数項展開を行わない問題を修正
・_rename.csvの効果を*.ERHにも適用するように再変更
 ※この変更によりeramakerEXとの互換性は失われます(eramakerEXは*.ERHには_renamae.csvを適用しません)
・マクロ実行中にEscキーを押すことでキーマクロを中断する機能を追加
・エラー出力のうち、実行ファイル名に拡張子をつけないように変更
・HTML_TAGSPLIT 命令追加

追加された命令の詳細は以下のテキストを参照してください。
ttp://eratoho.dyndns.dk/cgi/upload.php?id=0005582

※以前の1813の解説に誤記がありました。
訂正してお詫びします。
誤:TOOLTIP_DELAY
正:TOOLTIP_SETDELAY
(計2か所)

493名無しさん:2013/09/13(金) 08:06:05 ID:.lEODX5s0
>>492
いつもお世話になってます。

494Emueraの人:2013/10/12(土) 22:53:49 ID:tfIZ3iSA0
Emuera 1.816 リリース
ttp://sourceforge.jp/projects/emuera/releases/
・SPキャラシステムの廃止
 ADDSPCHARA、GETSPCHARAの廃止
 GETCHARAを常に全てのキャラを対象にするように変更
 ADDCHARAによりSPキャラフラグによらずキャラを追加出来るように変更
 キャラクタCSV系関数について、SPキャラフラグに非0を指定した場合にエラーを発行するように変更
・互換性オプション「SPキャラを使用する」を追加
 上記各命令、関数を旧バージョン通りに動作させる
・同じ番号のキャラを重複して登録した場合に警告を発行するように変更
・HTML_TAGSPLITをRESULTS、RESULT以外への出力を設定可能に変更
 第2引数、第3引数にそれぞれRESULTS、RESULTの代わりになる変数を指定する

※今回の変更により標準でSPキャラへの対応を打ち切りました
ADDSPCHARAなどSPキャラを使用しているバリアントを動かす場合には互換性オプション「SPキャラを使用する」をONにしてください
また、GETCHARA関数については標準の動作が変わっていますのでご注意ください

495名無しさん:2013/10/13(日) 01:10:18 ID:RDgSX3cc0
乙です

正直、オリジナルの仕様をなくして汎用言語にするほど、
作りやすくなっていくと思うの

496名無しさん:2013/10/31(木) 19:35:59 ID:M1N1F162O
ちょっと気になった点を
SP関連無効にした場合、EXISTCSVでCFLAG:0!=0のキャラが探せません(対象外にされる)
SP関連無効の時はこちらも無条件でHITした方がいいかなと

497Emueraの人:2013/11/10(日) 23:47:28 ID:ZQms/Nrk0
Emuera 1.817 リリース
ttp://sourceforge.jp/projects/emuera/releases/
・1816v1修正取り込み
・キャラCSV系関数の挙動>>496の修正

>>496
報告ありがとうございます
NOが一致すれば無条件でヒットする仕様のはずがバグっていたので修正しました

498名無しさん:2013/11/11(月) 08:43:51 ID:LFr/mYOs0
いつもお疲れ様です

499名無しさん:2013/11/11(月) 19:09:13 ID:QqMLAUM20
いつもお世話になっております

500名無しさん:2013/11/13(水) 17:59:16 ID:WfgbwitY0
乙です

501watch for this:2013/12/19(木) 21:59:53 ID:t7/qNbBA0
2LgZcp I really liked your article post.Much thanks again. Will read on...

502妊)|д゚):2013/12/20(金) 05:59:23 ID:CV6ipTcY0
色々思うところがあったりなので、さくっと

・1817+v1
ttp://ux.getuploader.com/ninnohito/download/388/Emuera1817%2Bv1.7z

・追加
○コンフィグの解析タブにユーザー向けと開発者向けの設定を切り替えるボタン追加
Emueraのコード解析はデフォルトではユーザー向けのほとんど何もチェックしない仕様なため、
基本的な文法エラーが残ったままのバリアントやパッチ、口上がうpされるケースがよく見られる感があります

これらはEmuera側で起動時のコード解析を有効にすることでほぼ確実に引っかかるものですので、
あらかじめEmueraの構文チェックを通すだけでなくせるものなのですが、
どうにもこれが生かされていないようです

そこで、ワンクリックでデフォルトのほぼ何もしない設定と、
開発者向けの構文チェックを通す設定をワンボタンで切り替えられるようにしました。

コードを書く方は、完成したうpしようの前に、
開発者向け設定で再起動し、基本的な文法エラーがないかチェックする
簡単な一手間を是非とも踏んでいただければと思います。

503名無しさん:2013/12/21(土) 10:25:35 ID:9G5hzI460
>>502
ありがとうございます。
自分が関わっているバリアントに入れて開発者向け設定で起動したら
警告が大量に出て焦りましたが、よく見たらすべてeramaker互換の
警告でした。
設定を変更しeramaker互換の警告は出さないようにしたら警告が消え
一安心しました。

504seo thing:2013/12/21(土) 13:27:33 ID:T8/5XOMU0
lP8bg8 I think this is a real great blog post.Much thanks again. Really Great.

505名無しさん:2013/12/21(土) 20:00:52 ID:MBNkg9ys0
>>502
いつも(間接的に)息子がお世話になっております

506妊)|д゚):2013/12/21(土) 21:19:11 ID:bzv.qKzM0
もいっちょ開発者向けの便利な機能をコンフィグ側で使いやすくしてみる

・1817+v2
ttp://ux.getuploader.com/ninnohito/download/389/Emuera1817%2Bv2.7z

・変更点
○エラー時のテキストエディタ連携の設定にプリセット追加
実はLv2以上のエラーで終了待ちになった場合、Emueraはそのエラーをボタンとして出力します。
そのボタンを選択するとオプションで指定したエディタが開くようになっています。

また、メモ帳はともかく主要なエディタは行指定コマンドラインオプションを保つので、
オプションでそれを指定しておくと、実はエラー箇所を速やかにエディタで開けるようになってます。

とはいえ、自分でコマンドラインオプション設定したりは大変だろうなぁとは常々思ってはいたので、
サクラエディタ、TeraPad、EmEditorについて、ドロップダウンリスト式のプリセットを用意してみました。
該当エディタの場合、ドロップダウンリストから選んでおけば自動的に行番号指定でエディタを開いてくれるようになります。

507名無しさん:2013/12/31(火) 02:24:34 ID:cxUjyTIA0
ttp://era.moe.hm/cgi/era/upload.php?id=0001113

EmueraのConfigItem.cs
TryParseメソッドについて改変案です

508名無しさん:2014/01/01(水) 04:19:54 ID:1Uhh4tIc0
総合エミュ ROMのホームページ紹介サイト移転したみたいだね

つttp://doragonfry.7.tool.ms/

509名無しさん:2014/01/30(木) 07:56:48 ID:dx5LtF0U0
いつもお世話になっております
質問なのですが、CALLFが組み込み関数に使えないのは仕様なのでしょうか
CHKCHARADATAに使いたかったのですが

510名無しさん:2014/01/30(木) 08:23:24 ID:L4qL8lX20
>>509
組み込み関数に引数渡して呼ぶだけの関数を実装してみては?

511Emueraの人:2014/02/06(木) 01:00:21 ID:3ZyUHjfg0
Emuera 1.817 リリース
ttp://sourceforge.jp/projects/emuera/releases/
・1817+v2取り込み
・データロード時に配列サイズの異なるセーブデータを読むとエラーになることがある問題を修正

>>509
ほぼ全ての組み込み関数はCALLF命令を使うまでもなく、直接命令として呼び出すことができます
 CHKCHARADATA STR
と書けば、
 RESULT = CHKCHARADATA(STR)
と同じ結果を得られます

512Emueraの人:2014/02/06(木) 01:01:00 ID:3ZyUHjfg0
Emuera 1.818でした

513名無しさん:2014/02/06(木) 08:15:28 ID:UOSvJ.LQ0
>>512
毎度お世話になっております。

514509:2014/02/08(土) 01:40:23 ID:UR5suUjM0
>>511
そうだったのですか
レスありがとうございました

515妊)|д゚):2014/02/08(土) 18:17:02 ID:vcsgJ/GY0
・1818+v1
ttp://ux.getuploader.com/ninnohito/download/390/Emuera1818%2Bv1.7z

・主な修正
@v1
○PRINT_HTML構文中で大文字で書かれた<BUTTON>が正常に認識されないバグを修正

516妊)|д゚):2014/02/13(木) 21:57:06 ID:hh3fdJxM0
・1818+v2
ttp://ux.getuploader.com/ninnohito/download/391/Emuera1818%2Bv2.7z

・主な修正
@v2
○高負荷時のONEINPUT系の挙動の修正

517名無しさん:2014/02/14(金) 03:38:17 ID:k5r8cE4k0
いつも乙です

518セバスチャン・ミカエル:2014/02/14(金) 18:45:37 ID:mrCKkRf.0

お気に入りの女の子っ♪

ttp://livedoor.blogcms.jp/member/

519妊)|д゚):2014/03/04(火) 20:59:27 ID:Im2vbhZg0
・1818+v2
ttp://ux.getuploader.com/ninnohito/download/393/Emuera1818%2Bv3.7z

・主な修正
@v3
○v2の変更で特定の環境下で処理がスタックし応答がなくなる場合があることへの対応策

520名無しさん:2014/03/04(火) 21:47:50 ID:lKF3sX420
毎度乙なのです

521落ちたので立て直しました:2014/03/06(木) 01:44:15 ID:7NHi9Ek60
落ちたので立て直しました

【風俗Wiki】新宿歌舞伎町 新入社員

www.bag1413.com
(PC/Mobile共通URL)

522妊)|д゚):2014/03/06(木) 20:08:09 ID:r4Y0h5dM0
・1818+v4
ttp://ux.getuploader.com/ninnohito/download/397/Emuera1818%2Bv4.7z

・主な修正
@v4
○TINPUT系を短時間で連続して処理し続けると動作に問題が起こることがあるのを修正

523名無しさん:2014/03/06(木) 21:22:17 ID:tqW3P2IE0


524名無しさん:2014/03/08(土) 19:11:46 ID:3JhA8ISM0
おつかれさまです
emueraをAndroidに移植することは理論的に可能なんでしょうか

525名無しさん:2014/03/09(日) 05:46:43 ID:sQPlQSc60
野外調教はやめれ

526名無しさん:2014/03/09(日) 11:33:43 ID:1r9SwIaw0
いくたりか、君と同じようなことを発想して闇に消えていったよ

527名無しさん:2014/03/09(日) 12:44:10 ID:MCx61CHA0
Windowsコンポーネントの一部を使ってるからWindows系OSでしかできない
Androidでやるならそれこそ1から作り直すくらいの大改修が必要

528名無しさん:2014/03/09(日) 16:25:49 ID:V4Er6A6I0
Windowsタブレットでええやん

529妊)|д゚):2014/03/11(火) 00:18:21 ID:8SpWDzSo0
・1818+v6
ttp://ux.getuploader.com/ninnohito/download/403/Emuera1818%2Bv6.7z

・主な修正
@v6
○v2〜v4までの変更に関する細かいtweak
@v5
○マクロで\eが単体で\e\nの機能を持つように変更(既存のマクロも正常に動作する…はずです)

530名無しさん:2014/03/15(土) 10:50:34 ID:wQKYOQmM0
更新乙です

531名無しさん:2014/03/25(火) 18:34:07 ID:YcyzZAyQ0
ユーザー定義の変数に関して、2つほどバグと思われる挙動を見つけたので報告します

ERHファイル内で#DIM CHARADATAを使って定義したキャラクタ変数にCVARSETを行うと予期しないエラーを吐く
ERHファイル内で#DIM GLOBALまたは#DIMS GLOBALを使って定義したグローバル変数がSAVEGLOBALを呼んでも保存されない

verは1818安定版、セーブデータはバイナリ形式で保存しています

532妊)|д゚):2014/03/26(水) 03:44:37 ID:4wR.YB1Y0
・1818+v7
ttp://ux.getuploader.com/ninnohito/download/405/Emuera1818%2Bv7.7z

・主な修正
@v7
○配列処理系命令の多くがユーザー定義キャラクタ変数を処理できないのを修正
(もしかしたら変なリグレッション等あるかも)

>>531
前者はこの修正で多分治っているはずです
後者はwikiの記述と実際の実装が正しく対応していないので、小一時間ほど問い詰めておきます
現状では#DIM GLOBAL SAVEDATAにしないと保存されないような処理になっています

533名無しさん:2014/03/26(水) 19:28:19 ID:iT82Hn0Y0
素早い対応ありがとうございます
おかげさまで大いに開発が捗ります

534妊)|д゚):2014/04/09(水) 23:27:00 ID:9FGOgsT60
・1818+v8
ttp://ux.getuploader.com/ninnohito/download/406/Emuera1818%2Bv8.7z

・主な修正
@v8
○HTML_GETPRINTEDSTR()の実装がタコだったのを修正

なお、>>531後者は>>532で書いたようにしないとダメなのが仕様
という発言をEmuの人よりすでに頂いております

535名無しさん:2014/04/10(木) 08:49:24 ID:JfMGuAtg0
修正乙です

536名無しさん:2014/04/15(火) 10:00:56 ID:yWVsIpeQ0
毎度お世話になっております。

537妊)|д゚):2014/04/28(月) 07:12:12 ID:JaGsiDrI0
・1818+v9
ttp://ux.getuploader.com/ninnohito/download/407/Emuera1818%2Bv9.7z

・主な修正
@v9
○COLOR_FROMRGB関数が全く動作しない代物だったのを修正
○関数宣言での引数の解析について、重複する引数がある場合Lv1で警告するように変更

538名無しさん:2014/04/28(月) 08:46:25 ID:3mMJWaEk0
>>537
乙です。
試しに自分が関わってるバリアントで試したら引数重複の警告が幾つかw

539名無しさん:2014/05/29(木) 03:12:17 ID:zB2iFHiE0
いつもお世話になってます
色々なバリアントを見ていると一つのTALENTに同種の素質を詰め込んでいるものを見かけます
TALENT:0 == 1なら貧乳
TALENT:0 == 2なら巨乳
といったようにTalent.csvで定義しておいてゲーム中で表示させる命令は可能でしょうか?
こちらの利便性のための要望で恐縮ですがご一考いただければ幸いです

540名無しさん:2014/06/11(水) 01:00:28 ID:czUqRfdM0
いつもありがとうございます
HTML_PRINTのツールチップ機能が嬉しすぎて
フル活用したいんですが、

HTML_PRINT Aボタン
HTML_PRINT Bボタン
HTML_PRINT Cボタン 

を、PRINTCのように

A[0] B[1] C[2]

と横に3つ並べたいのですが、1行に1ボタンしか作れず悩んでいます。
何か方法はあるでしょうか?ご助言お願いします。

541名無しさん:2014/06/11(水) 04:19:00 ID:nzlTJhhU0
{
HTML_PRINT " " * (PRINTCLENGTH() - 4) + "<button value='0'>A[0]</button>"
+ " " * (PRINTCLENGTH() - 4) + "<button value='1'>B[1]</button>"
+ " " * (PRINTCLENGTH() - 4) + "<button value='2'>C[2]</button>"
}

こういうのはダメ?

542名無しさん:2014/06/11(水) 08:59:18 ID:0YTYrFe60
まさにこれだ、この形式が作りたかったんだ!
助かりました!ありがとうございます!

543Emueraの人:2014/06/26(木) 23:38:13 ID:Mpw2Ib6s0
Emuera 1.819 リリース
ttp://sourceforge.jp/projects/emuera/releases/
・1.818v+10ベース
・STRFORM(str)関数追加
引数の文字列をFORM展開した文字列を返します
・メニューまたはコンフィグからの再起動時にウインドウの位置とサイズが変わらないように修正
・入力待ちの内部処理を変更
・描画処理を変更
・コンフィグオプション「イメージバッファを使用する」を削除
・GETNUM関数の引数にNAMEを指定することができるように変更
 (RELATIONと同じ辞書を使います)

544名無しさん:2014/06/26(木) 23:45:43 ID:mCmwkLfg0
>>543
毎度乙です。

545名無しさん:2014/07/04(金) 19:22:28 ID:AOVO6PWA0
>>543
TONEINPUTで描画ループさせた際、マウスオーバー時button判定が継続されずリセットされるようになっちゃってます

546妊)|д゚):2014/07/04(金) 23:24:02 ID:NioluifA0
・1819+v2
ttp://ux.getuploader.com/ninnohito/download/410/Emuera1819%2Bv2.7z

・主な修正
@v1
○エラーボタンのサクラエディタ用の引数が間違っていたのを修正
○解析の簡易設定ボタンで互換性のチェックをいじらないように変更
@v2
○1819でTINPUT系の時間切れ時のボタン更新処理が消滅してひどいことになってたのを修正

547名無しさん:2014/07/12(土) 13:57:57 ID:.Gc4q4n20
質問です
Emuera1820alpha008において
HTML_PRINT命令の<img src='〜'>内でLOCALSのような文字列変数を使って指定することは可能ですか?
PRINT_IMG命令ではPRINT_IMG @"%LOCALS%" + @"%TOSTR(LOCAL, "000")%"で問題なく出来ました

あと>>546の1819+v2では直ってるTINPUT系のバグが1820alpha008だと直っていませんでした

548名無しさん:2014/07/12(土) 14:02:12 ID:.Gc4q4n20
すみませんTINPUT系のバグはalpha008で直ってました
申し訳御座いません

549名無しさん:2014/07/13(日) 17:10:29 ID:8uxeqmrY0
ただいま板移転について議論を行っています

板移転を考えるスレ
ttp://jbbs.livedoor.jp/bbs/read.cgi/otaku/12839/1404734832/

550名無しさん:2014/07/16(水) 21:02:06 ID:aDQPG05.0
Emuera1820alpha009において
PRINTW直後にCLEARLINE LINECOUNT
PRINTWでのwait時にemueraから別のウインドウにフォーカス移してemueraに戻るとapplicationエラーと共に、emuera画面赤いバッテン表示されました

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at MinorShift.Emuera.GameView.EmueraConsole.OnPaint(Graphics graph)
at MinorShift.Emuera.MainWindow.mainPicBox_Paint(Object sender, PaintEventArgs e)
at System.Windows.Forms.Control.OnPaint(PaintEventArgs e)
at System.Windows.Forms.PictureBox.OnPaint(PaintEventArgs pe)
at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
at System.Windows.Forms.Control.WmPaint(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

551妊)|д゚):2014/07/17(木) 02:38:32 ID:CD00l6jA0
小規模な更新

・1819+v4
ttp://ux.getuploader.com/ninnohito/download/412/Emuera1819%2Bv4.7z

・主な修正
@v3
○1819でTINPUTSに空文字入力した場合に時間切れ時のデフォルト入力が代入されてしまっていたのを修正
@v4
○1819でコードリロード後の処理がおかしいことになっていたのを修正

552名無しさん:2014/07/18(金) 23:07:12 ID:40rhl8ss0
Emuera1819+v4にて下記のエラー(?)がでたのでご報告

@TEST
SELECTCASE 1
 CASE 1
  IF 1
  ENDSELECT ;ENDIFと間違って書いたENDSELECT
ENDSELECT

上記の関数を読み込ませた起動時の構文解析にて
下記の例外がEmueraの画面に表示されました


スクリプトの構文チェック中・・・
警告Lv2:TEST.ERB:5行目:IF文に対応するENDIFがない状態でENDSELECT文に到達しました
ENDSELECT ;ENDIFと間違って書いたENDSELECT
警告Lv2:TEST.ERB:1行目:@TEST の解析中にエラー:System.InvalidOperationException:Stack が空です。
@TEST
場所 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)

場所 System.Collections.Generic.Stack`1.Pop()

場所 MinorShift.Emuera.GameProc.ErbLoader.nestCheck(FunctionLabelLine label)

場所 MinorShift.Emuera.GameProc.ErbLoader.checkFunctionWithCatch(FunctionLabelLine label)
非コメント行数:240937, 全関数合計:5928, 被呼出関数合計:2442

553妊)|д゚):2014/07/19(土) 00:02:53 ID:C1vKG05w0
・1819+v5
ttp://ux.getuploader.com/ninnohito/download/413/Emuera1819%2Bv5.7z

・主な修正
@v5
>>552の修正

554名無しさん:2014/07/19(土) 09:02:09 ID:Y/R7SNh60
毎度乙です

555名無しさん:2014/07/19(土) 13:12:51 ID:Ryp8VtA20
>>553
乙様です

1819+v5でエラー落ちしたのでログをアップしました
ttp://era.moe.hm/cgi/era/upload.php?id=0001404

発生
 Emuera起動してタイトル画面でフォルダを読み直す → OK → 読み込み完了後にEmueraの画面クリック
 
ファイルを読み直す、全コードを読み直す、ではいまのところ発生していません
1819+v4でも1819+v5でも発生したり?しなかったり?で完全な再現性はまだちょっと分かりません
1819+v3までは発生しないのでv4からでしょうか

556妊)|д゚):2014/07/20(日) 23:55:52 ID:1J/kDbdw0
・1819+v6
ttp://ux.getuploader.com/ninnohito/download/415/Emuera1819%2Bv6.7z

・主な修正
@v5.1
v4での修正に漏れがあったのを修正
@v6
HTML_PRINTのコメント行処理がおかしいのを修正

557 ◆PMOMiLOVE6:2014/07/21(月) 03:36:17 ID:2h5laojw0
地震だああああああああああああああああああああああああああああ!!!!!!!!!

558名無しさん:2014/07/21(月) 04:02:41 ID:2h5laojw0
うわあ誤爆った…
ごめんなさい

559名無しさん:2014/07/21(月) 21:04:07 ID:0i0lMfzQ0
うわぁ…

560名無しさん:2014/08/02(土) 03:01:40 ID:1Yzb1amo0
三角関数の話があったみたいだが、正弦と余弦を出力する関数をERBで作ったんでロダに上げておいたよ

561名無しさん:2014/08/08(金) 15:05:35 ID:lbsNChzU0
ADDCHARA 1を500回くらい繰り返すスクリプトでエラー
VariableSize.csv を消去するとエラーが発生しなくなるのですが
もしかして記述法を間違っている?

ログ
---
人数181
SYSTEM_MAIN.ERBの23行目で予期しないエラーが発生しました:Emuera1819+v6
System.OutOfMemoryException:種類 'System.OutOfMemoryException' の例外がスローされました。
場所 MinorShift.Emuera.GameData.Variable.CharacterData..ctor(ConstantData constant, VariableData varData)

場所 MinorShift.Emuera.GameData.Variable.CharacterData..ctor(ConstantData constant, CharacterTemplate tmpl, VariableData varData)

場所 MinorShift.Emuera.GameData.Variable.VariableEvaluator.AddCharacter_UseSp(Int64 charaTmplNo, Boolean isSp)

場所 MinorShift.Emuera.GameProc.Function.FunctionIdentifier.ADDCHARA_Instruction.DoInstruction(ExpressionMediator exm, InstructionLine func, ProcessState state)

場所 MinorShift.Emuera.GameProc.Process.runScriptProc()

場所 MinorShift.Emuera.GameProc.Process.DoScript()

562Emueraの人:2014/08/08(金) 22:09:27 ID:Y/SFy4Ts0
>>561
OutOfMemoryExceptionはメモリ不足により発生する.NetFrameworkのエラーです
原因は記述法のミスではなく、単にVariableSize.csvにおいて変数の要素数を多く取りすぎているためと考えられます
とくにキャラ変数は(キャラ一人当たりのメモリ使用量×ADDCHARAした数)のメモリを必要とするため、メモリを圧迫します
無駄に大きな配列がないかどうか今一度検討してください

563名無しさん:2014/08/09(土) 01:58:06 ID:P41W7Sfs0
>>562
ありがとうございます
VariableSize.csvを見返してみたところ、
CDFLAG:2000:2000くらいになっていました
こいつが原因か…

564Emueraの人:2014/08/09(土) 03:20:13 ID:TbksJq3E0
・Emueraの変数のメモリ消費について
Emueraはローカルでない非キャラ変数はゲーム起動時に、キャラ変数はADDCHARAしたときにメモリを確保しています
ローカル変数については最初にその関数に入ったときに確保します
文字列変数については代入された時点で代入した文字列の分だけ追加でメモリが確保されます
ERB中で全く使われない変数であっても上記のタイミングで要素数分のメモリだけは確保されます

多次元配列は要素数を乗算した数だけメモリを必要とします
例えばCDFLAG:2000:2000はキャラ一人当たり2000×2000、400万個の整数を保存する領域を要求します
Emueraの整数は64bit、すなわち8バイトなのでCDFLAGだけでキャラ一人当たり最低でも32Mバイトのメモリを消費します
キャラを500人追加すればCDFLAGだけで16G弱のメモリを消費することになります

CFLAGやCDFLAGを大量に確保し要素100ごとに別の用途に使用する、などの手法はメモリを浪費します
メモリを節約し効率よく使うには*.ERHファイルで
#DIM SAVEDATA 変数名A,10,10
#DIM CHARADATA SAVEDATA 変数名B,10
のように変数の用途ごとに最小限の要素数で変数を宣言していくとよいかと思います

565名無しさん:2014/08/09(土) 18:54:05 ID:hi9nrGhc0
>>564
('Д')ノ 先生!ERHで宣言した変数やキャラ変数の引数を文字列指定したいです!

566名無しさん:2014/08/12(火) 19:56:18 ID:7FqAB4Zs0
そんだけで32MBすっとぶとか豪勢やな
可能なら十進BIT使うなりで節約考えたほうがよさげ

567名無しさん:2014/08/18(月) 03:01:53 ID:/8KEDCC20
ソート系命令について質問させて頂きます
SORTCHARA を実行するとキャラクターの登録番号が、
ARRAYSORT を実行すると指定した変数のインデックスが、
[FRONT,BACK]順にソートされるという認識で正しいのでしょうか。

CHARA00 NO == 0 / ABL:0 == 10
CHARA01 NO == 1 / ABL:0 == 5
CHARA02 NO == 2 / ABL:0 == 99
のとき、[SORTCHARA ABL:0, BACK] を実行すると
CHARA02 NO == 0 / ABL:0 == 99
CHARA00 NO == 1 / ABL:0 == 10
CHARA01 NO == 2 / ABL:0 == 5
になる、ということですよね?

また、[ARRAYSORT ITEMPRICE] を実行すると
ITEM.CSV に記載されている N, (ITEMNAME),(ITEMPRICE)のN部が
ITEMPRICE 順に新しい番号が振られる???

うーん、ソートされた結果がどう出力されるのかよく分からん…

それと、各ソートの実装内容はソートの分類上どの方式を執っているのでしょうか。
安定ソートなのか、配列があらかじめある程度整列されていると動作速度が上がるのか、
実感できる程度の差は無いのか、などemuera wiki の情報からは読み取れませんでした。

当方はプログラミングや数学はそこまで詳しくないので詳細な最悪計算時間などを示されても
理解できませんが、バリアントで利用するにあたって影響がありそうな点について
設計者の意見をお聞かせ頂けると大いに助かります。

参考にした emuera wiki
ttp://sourceforge.jp/projects/emuera/wiki/excom

568名無しさん:2014/08/18(月) 15:02:25 ID:jzUNV4720
CHARAはそれでいい

ITEMPRICEは単なる一次元の変数にすぎないんでITEMPRICEの中身がソートされるだけで
他の変数には一切タッチしない

ソート方式はクイックソートで、C#本体がカバーしてるのをそのままつかってるはず
本体側機能なのもあるし、速度改善を考える余地はほぼないんじゃないかな

というかそもそもて実装のバブルなんかで組んでた頃でも速度は気になったことはないし
基本的に計算で速度気にしなきゃいけないような事態ってよっぽどのことをしない限りは発生しないと思うよ

569名無しさん:2014/08/20(水) 11:25:42 ID:JCi2LFIQ0
>>568
ありがとうございます
どうしても安定性が欲しければ自分でシェーカーなりを組めってことですね
速度は…バブルでもいけるなら気にするだけ無駄でしたか

570名無しさん:2014/08/21(木) 01:23:06 ID:jIP7bzw20
>>569
ITEMPRICE(というか価格)でアイテム欄ソートしたいんだと思うけど

・ITEMPRICEをARRAYCOPYでまるごとどっか適当な変数にコピー
・その変数の全ての値をFORでx10000(ITEMの枠数適当に)し、+アイテム番号足す
・ARRAYSORTでソート、その後10000のあまり算でITEM番号取得
・並んでるITEM番号ごとにアイテム欄表示処理

こうすればバブルなんかでやるよりスマートに行くと思う

571名無しさん:2014/08/22(金) 01:34:57 ID:AxSPPaqI0
>>570
ITEMPRICE 自体にITEM番号の情報をブチ込もうというわけですな

572名無しさん:2014/09/15(月) 11:51:00 ID:HcsoIzIY0
1819+v7バグってるくさい。
Process.cs 117行目がたぶん
if (gamebase.LoadGameBaseCsv(Program.CsvDir + "GAMEBASE.CSV"))
じゃなくて
if (!gamebase.LoadGameBaseCsv(Program.CsvDir + "GAMEBASE.CSV"))
だと思う

573妊)|д゚):2014/09/15(月) 12:52:31 ID:uOzouUKA0
>>572
入れるファイル上書き忘れてたオチ
差し替えておきました

574妊)|д゚):2014/09/15(月) 20:03:36 ID:uOzouUKA0
+v7で将来向けのレビュー用に入れたコードに関する変更で、
一部挙動が変わっていた部分があったのを元に戻したバージョンに再度差し替えを行いました

575名無しさん:2014/10/31(金) 21:33:11 ID:kBfhRsmc0
***NAME系の配列で、TALENTNAME:プライド高い のような書き方は出来ないでしょうか?
番号指定だとどの素質かわかりにくいし間違ったまま気付かない場合があります
その点上の書き方なら素質名が正しいか起動時にチェック出来るし、grep検索でも探しやすいと思います

576名無しさん:2014/11/01(土) 01:35:46 ID:QVYISUO20
「TALENTNAME:プライド高い」って指定が仮にできたとして、
どういう値が返ってくればいいんでしょうか。
○○NAME系は番号から名前をとるための配列なのだけれど、
その逆(名前から番号)もしたいということなのでしょうか。

577名無しさん:2014/11/01(土) 10:35:50 ID:NCXA9aaY0
その場合に返って来て欲しいのは”プライド高い”という文字列です
文字列が欲しいというより、その文字列がTALENTNAMEであるかをチェックして欲しいというイメージです
自作関数でくるんで文字列指定だと実行時チェックになるので

それと番号指定と名前指定を相互変換するソフト作っていて、
TALENTNAMEでも名前指定が出来ると、元の形を変えずにスッキリ変換出来そうなので

578名無しさん:2014/11/01(土) 23:25:12 ID:79YixNiI0
>>577
FINDELEMENT(TALENTNAME , "プライド高い" , , , 1)

579名無しさん:2015/01/06(火) 21:48:57 ID:.Zow.BEs0
1819+v6で強調キーワード1と3が息して無いのですがそれは

580名無しさん:2015/01/09(金) 15:53:38 ID:1fiGdze.0
sakuraエディタの話なら、どのキーワード設定ファイルをどのように使ったかが重要
そして、強調キーワードはemueraのバージョンとは関係ない

強調キーワード1と3が息してないと、どう困るのかすら分からない
(使わなくてもいいから、息していない可能性もあるし)
少なくとも現在の設定値を書くべき

581妊)|д゚):2015/02/08(日) 19:44:32 ID:.5ZkMV620
久方に互換性上の影響がある問題が出てきたので、

・1819+v10
ttp://ux.getuploader.com/ninnohito/download/422/Emuera1819%2Bv10.7z

・主な修正
@v7
ISTIMEOUTが機能していないのを修正
Emueraのバージョンをメニューバーにこっそり表示するように
@v8
TIMESの実装を変更、計算誤差が生じないようになった
(旧挙動は互換性オプションから選択できます)
@v9
v3での修正をTINPUTに対しても実装
@v10
互換性オプション「ユーザー関数の引数に自動的にTOSTRを補完する」の実装が設定と真逆になっていたのを修正
(この変更によって、これまでエラーになるべきものがエラーにならずに動いていたものがエラーとなる場合があります)

582名無しさん:2015/02/08(日) 21:22:50 ID:ssjG5wmM0


583名無しさん:2015/02/08(日) 21:42:20 ID:49jx3guw0
乙ですー

584名無しさん:2015/03/20(金) 10:53:04 ID:We2hwuCo0
Emuera 1.820alphaテスト11 1819+v11統合版のreadmeについて質問なんだけど
「srcにはcsv/resourceフォルダのcsvに指定したリソース名を入れる」
「csvフォルダ内にresourcesフォルダを作成し、その中にリソースファイルを用意する。」
って書いてあるけど説明文が巻き戻ってる?
あとshapeが一部shpaeになってるけど誤字?

585Emueraの人:2015/03/22(日) 00:43:45 ID:oJIBmneg0
間違ってますね
古いreadmeをもとに作ってしまったみたいです
alpha10の
>実行ファイルのフォルダにresourcesフォルダを作成し、その中にリソースファイルを用意する。
>ファイルはresourcesフォルダの直下におく必要がある。サブフォルダは不可。
上記が正しいです。

shpaeも誤字です

586妊)|д゚):2015/06/07(日) 03:45:03 ID:6mgpXVAg0
一個致命的な問題直したの忘れてた

・1819+v12
ttp://ux.getuploader.com/ninnohito/download/424/Emuera1819%2Bv12.7z

・主な修正
@v11
空マクロに対する重複判定処理がおかしく、.Netが例外を投げることがあるのを修正
@v12
FINDELEMENT(LAST)式中関数が、定数配列をターゲットとし、範囲指定等がすべて定数の場合、定数化するように変更

587名無しさん:2015/06/07(日) 18:27:31 ID:DQ6BWNoQ0
乙です

588名無しさん:2015/06/07(日) 18:31:35 ID:DwTeVHNo0
>>586
毎度お世話になっております

589Emueraの人:2015/07/13(月) 00:09:42 ID:OpzFmxa20
Emuera 1.820リリース
ttp://osdn.jp/projects/emuera/releases/
私家版Emuera1819+v12までの更新を取り込み
LOCAL変数を@付きで呼び出した場合の警告が出ないことがある不具合を修正
DRAWLINEFORM命令、GETLINESTR関数に空文字列を渡すとフリーズする不具合を修正
TINPUT系命令のタイムアウト後、マウス直下のボタンが選択されない不具合を修正
PRINT_IMG, PRINT_RECT, PRINT_SPACE命令追加
HTML_POPPRINTINGSTR関数追加
HTML_PRINT命令に<img><shape>タグ追加
HTML_PRINT命令の<button><nonbutton>にpos属性追加
VariableSize.csvに変数の禁止指定機能を追加

590名無しさん:2015/07/13(月) 01:32:52 ID:wW3Cl2R.0
乙です!

591名無しさん:2015/07/13(月) 18:53:12 ID:c.KyZndQ0
乙です
下の流れを見ていて思ったんですがキャラ登録番号に変数を与えてみてはどうでしょうか
ttp://jbbs.shitaraba.net/bbs/read.cgi/otaku/16783/1433080637/209-217

592名無しさん:2015/07/13(月) 20:13:02 ID:a1QZger60
>>589
乙です。
毎度お世話になっております。

593Emueraの人:2015/07/14(火) 00:42:10 ID:FZX5vMyg0
>>591
「キャラ登録番号に変数を与え」るの意味がわかんないです
「キャラ登録番号に変数を与えられた変数」がどんな状況でどんな値を返すのか、
用途とともに具体例を挙げていただけると助かります

594名無しさん:2015/07/26(日) 02:58:16 ID:nznat1/U0
画像表示に関する要望です:
「HTML_PRINTのimgタグにxposが欲しい、もしくは自動改行の撤廃」

HTML_PRINTの画像表示に関する問題点
ttp://era.moe.hm/cgi/era/upload.php?id=0002019

画像表示する際に、HTML_PRINT1つで縦列を揃えることができません。
よって複数のHTML_PRINTで表示を揃えることになるのですが、自動改行されるため
表示がズレてしまいます。

どうかご検討をお願い致します。

595名無しさん:2015/07/26(日) 03:02:10 ID:nznat1/U0
あと、画面の成形のしやすさの関係で自動改行しないHTML_PRINTがあると嬉しいです。

596Emueraの人:2015/08/06(木) 00:41:27 ID:Z3j.Pa3U0
Emuera1.821betaテスト版1
ttp://era.moe.hm/cgi/era/upload.php?id=0002046

Windows 10に対応しました

>>594
x位置の調整にはbuttonのpos属性を使用してください

597名無しさん:2015/08/07(金) 22:10:51 ID:f0j1nElI0
乙です

598妊)|д゚):2015/09/28(月) 05:01:00 ID:j5C0M8PU0
ひょんなところで面倒な仕様にぶつかってみる

・1820+v1
ttp://ux.getuploader.com/ninnohito/download/425/Emuera1820%2Bv1.7z

・主な修正
@v1
TIMESでOverFlowExceptionが飛んで来る場合があるのを修正

599名無しさん:2015/09/28(月) 19:10:57 ID:AKOS2t5.0
>>598
乙です。
毎度お世話になっております。

600妊)|д゚):2015/09/29(火) 02:41:41 ID:5t0wpOzI0
・1820+v2
ttp://ux.getuploader.com/ninnohito/download/429/Emuera1820%2Bv2.7z

・主な修正
@v2
変数使用禁止設定とバイナリ形式セーブの読み込みの組みあわせでエラーを吐くのを修正

601名無しさん:2015/10/04(日) 01:06:49 ID:jdiRNgSk0
乙です
そういやこのスレは引っ越さないの?

602妊)|д゚):2015/10/21(水) 04:16:50 ID:WeozlXFA0
あまり重要な修正ではないけど
・1820+v3
ttp://ux.getuploader.com/ninnohito/download/430/Emuera1820%2Bv3.7z

・主な修正
場所指定のログ出力がどうやってもEmueraと同じフォルダにしかログを出力しないのを修正
ついでに、出力可能フォルダをEmueraのあるフォルダ以下に限定

>>601
ここはゆっくりなスレなので、スレが埋もれにくいこっちの方が現状はあってる気がしないでもないですね

603名無しさん:2015/10/25(日) 19:45:07 ID:5e1w2Ubc0
1821betaテスト版1でWin10に対応しましたが
修正内容重視で1820系を利用+Win10の環境ではウィンドウ上でマウススクロールが効かず地味に不便です
1820系へWin10マウススクロール機能を取り込んで欲しいです

604名無しさん:2015/10/26(月) 21:45:31 ID:vnJOmj9g0
とりあえずスクロールバーの上でならマウススクロール効くからしばらくそれで回避しようぜ

605妊)|д゚):2015/11/01(日) 03:24:23 ID:kUOiLj720
・1820+v4
ttp://ux.getuploader.com/ninnohito/download/431/Emuera1820%2Bv4.7z

・主な修正
1821betaのWin10でのホイールによるスクロール対応と同等の実装を行った

betaにはソースコードなんてないからベタ移植なんてものは存在しないのねん

606Emueraの人:2015/11/04(水) 01:15:35 ID:NY7TjMCw0
Emuera 1.821リリース
ttps://osdn.jp/projects/emuera/releases/
私家版Emuera1820+v4までの更新を取り込み
CALLEVENT命令の追加
GETCONFIG(str), GETCONFIGS(str)関数の追加
データロード直後、@SYSTEM_LOADENDが存在すればEVENTLOADの前に呼び出すようにフロー変更
描画インターフェースがTEXTRENDERERの場合、右端がスクロールバーに重なることがある不具合を修正
画面右端での折り返しが1文字早く行われる場合がある不具合を修正
Win10へ対応
システムオプション「キャラクタ変数の引数を補完しない」の追加

607名無しさん:2015/11/04(水) 10:08:18 ID:2diUHDgc0
乙です

608名無しさん:2015/11/04(水) 20:32:27 ID:xDAg7p9c0
いつもお世話になっております。

609名無しさん:2015/12/09(水) 09:48:38 ID:9jWaDEjo0
Win10への対応が進んできたけど、タブレットモード時のタッチ操作に対応する予定はありますか?

610名無しさん:2016/03/27(日) 06:51:16 ID:MYpTHLlk0
javascriptのV8エンジンを組み込んでは如何だろうか
変数領域を共有すればERBとjavascriptをちゃんぽんで管理できそう

611名無しさん:2016/06/08(水) 23:44:23 ID:CcIgnvpY0
ちょっとした妄想的希望
・JScript.NETのEvalを呼び出す関数が欲しい。CodeDom経由?
桁落ち桁あふれ管理を楽にするために、局所的にでも浮動小数点演算がしたいんです…
Eval内で色々できすぎてしまう点がリスクですが
・FORM文字列中の左右アライメント指定に文字式(変数)を使いたい
・SORTCHARAとかARRAYSORTなどの配列並べ替え関数で、
FORWARDとBACKに文字式(変数)か整数変数の真偽値を使いたい

612名無しさん:2016/06/10(金) 01:32:20 ID:UiST/ElE0
任意精度演算関数があれば小数演算のニーズは満たせそうな気がする

613611:2016/06/12(日) 17:41:15 ID:RiuZCsic0
任意精度演算で精度要件的にはOKで、実際に手ERBで作りかけてもみたけれど
桁管理と低級言語的なアルゴリズムの塊で、他人様バリアントのパッチとしてはうpできないなと
変数型をいじるのは大変だから、小手先で JScript.NET の eval を呼べると楽かなぁって

でも、”妄想”は無かったということで
eval内からCOM呼べるんはやはり致命的ですわ

614名無しさん:2016/06/29(水) 13:30:11 ID:I49B1/rM0
ARRAYSHIFT <対象変数>, <ずらす数>, <ずらしてできた空白領域の初期値>{, <ずらず配列範囲の初値>, <ずらす配列要素の範囲の数>}
ということですが、

#DIM HOGE = 1, 2, 3, 4, 5
で、

ARRAYSHIFT HOGE, 1, 0, 2
すると、
HOGE = 1, 2, 0, 3, 4
初値を含むそれ以降が一個後ろにずれる。初値は残る

ARRAYSHIFT HOGE, -1, 0, 2
だと
HOGE = 1, 2, 4, 5, 0
初値から一つ後ろ以降が一個手前にずれる。初値は消える

となるのはそういうものなんでしょうか?

615妊)|д゚):2016/07/05(火) 01:28:41 ID:j9J1WHRQ0
>>614
想定通りの挙動です
移動の結果、指定した配列範囲の外に移動した配列要素は消去されます

616名無しさん:2016/07/07(木) 00:23:49 ID:hn5DWaJM0
毎度お世話になっております
ログファイルはUTF-16で保存されますけど設定でUTF-8やShift_JISにできないでしょうか?
それから『ログを保存する』の時のファイル名の既定値を時刻ではなくERBで指定することができると助かります

617妊)|д゚):2016/07/24(日) 20:09:55 ID:xRmyyqk60
・1821+v1
ttp://ux.getuploader.com/ninnohito/download/434/Emuera1821%2Bv1.7z

・主な修正
1820+v2の修正がキャラクタ変数で漏れていたのを修正

>>616
理屈上は可能ですが、色々考えることがあるので一旦保留で

618名無しさん:2016/07/24(日) 23:32:37 ID:o7U/tXHE0


619名無しさん:2016/08/06(土) 16:44:06 ID:upSLuKLU0
開発者様にお伺いしたいのですが
三次元配列キャラクター変数CDFLAGをCHARA.CSVで定義するにはどうすれば宜しいでしょうか。
もし定義できないなら定義できるようにして頂きたいのですが、
実装は可能でしょうか。

620名無しさん:2016/09/08(木) 16:11:59 ID:hO8.G8OQ0
老婆心ながら、現行のソースに修正をかけてみました。
readmeにも書いてはありますが、現行の動作とほぼおなじではあるとは思われますが、
いかんせんテストの時間が取れてないので、保証しかねるところです。

// 修正の規模の割には、コンパイル通った→オッケーオッケー
// ちょこっと動かしてみる→動いた、オッケーオッケーなザル具合w

まぁ、何かの足しになれば幸いです。

ttp://era.moe.hm/cgi/era/upload.php?id=0002680

621名無しさん:2016/09/08(木) 16:23:04 ID:hO8.G8OQ0
なんか違うものが上がっていたっぽいので、上げ直しました
なれないものはするものじゃないなぁ orz

622妊)|д゚):2016/09/29(木) 17:21:06 ID:wJpSQKsg0
・1821+v2
ttp://ux.getuploader.com/ninnohito/download/435/Emuera1821%2Bv2.7z

・主な修正
大半のPRINT系命令がSKIPDISPフラグを無視して表示されてしまう問題修正
(CALLTRAINによる自動表示省略も該当するため、CALLTRAINでgdgdに)
一応画像表示等もSKIPも対象に

623名無しさん:2016/09/29(木) 18:59:18 ID:5lyYIMwE0


624名無しさん:2016/11/18(金) 03:29:25 ID:mmHFVDxI0
キャラクタ変数を変数使って呼びたいんですが、対応可能でしょうか?
%変数名%:TARGET:%能力名% みたいな書き方をしたいのです。

目的は、たとえば任意のキャラクタ変数をキーにソートできる汎用関数を作りたいのです。

625名無しさん:2016/11/21(月) 00:11:16 ID:6UXxn7wo0
#DIM REFについてですが、最初に渡した変数の参照をその後も保ち続けてしまう(二回目以降の呼び出しにおいて、参照がわたっていない)ように思われます。
たとえば
CALL FUNC_REF(LOCAL:1)
CALL FUNC_REF(LOCAL:2)

@FUNC_REF(HOGE)
#DIM REF HOGE
HOGE += 10

これはLOCAL:1とLOCAL:2に10ずつ加算されるはずですが、LOCAL:1に20が加算されました。
1820,1821,1821+v2で確認しました。

626名無しさん:2016/11/21(月) 02:40:09 ID:RNdXbXdk0
・関数の戻り値として、配列を使用することはできないのでしょうか?
・配列の要素数を変数で確保する(VBやBASICでいうREDIMに相当する)機能はないのでしょうか。

どちらも、配列に順々にフィルタをかけていって目的のデータに絞り込む、
Javaのラムダによく似た機能を実装しようとしています。

627名無しさん:2016/11/22(火) 22:10:39 ID:9v0VSMvo0
よく使われる、キャラクタ変数や配列での検索だけど、
FINDCHARAやFINDELEMENTなどの検索系命令・関数で 検索条件式 を指定できると
コードがすごくシンプルにできて個人的には嬉しいんだけれど、どうだろう?

記述方法はSELECTCASEと同じ、「IS <比較演算子> <値>」 と 「<値> TO <値>」が馴染みやすそう
例) FINDCHARA CFLAG:10, IS > 123

628Emueraの人:2016/11/26(土) 02:11:47 ID:hT1u8oD60
おひさです
数か月前の書き込みに今さらですがレス

>>616
ログファイルは緊急避難的な意味もあり、できるだけ単純化しときたいので弄りたくないところです。
特にERB内で任意のファイル名を指定できるようにすると>>6のような問題があるのでやりたくないです。
もしも目的がログ保存ではなく、csv出力とかerh出力に流用することであるならば、任意テキストをクリップボードに出力する命令とかどうでしょうか。

>>619
現バージョンではできません。
実装は不可能ではないですが対応予定はありません。
csvの内容はERBの動作とは関係なくメモリ上に保持し続けなければならないので二次元変数を保持させるのは大変なのです。

>>624
現バージョンではできません。
任意条件での並べ替えなら
REPEAT CHARANUM
CFLAG:COUNT:ソートキー = (ソート順)
REND
SORTCHARA CFLAG:ソートキー
とかで何とかなりませんか

629Emueraの人:2016/11/26(土) 02:12:35 ID:hT1u8oD60
>>625
その例ではLOCAL:1は変動せずLOCAL:0が20加算されていると思います。
誠に分かりづらくて申し訳ありませんが、それで正しい仕様です。
参照渡しは配列の一要素を参照させることはできず、配列まるごと渡すことしかできません。
CALL FUNC_REF(LOCAL:1)
CALL FUNC_REF(LOCAL:2)
の両方とも同じ意味に解釈され、両方ともHOGEにはLOCALがまるごと渡されます。
HOGEはHOGE:0の省略と解釈されるのでLOCAL:0が20加算されます。

>>626
>・関数の戻り値として、配列を使用することはできないのでしょうか?
現バージョンではできません。
前提としてerabasic言語には、例えば「LOCAL」と書くと「LOCAL:0」の省略とみなされるという仕様がありまして、「LOCAL:0」という配列の一要素ではなく「LOCAL」配列そのものを指すための書式が存在しません。
Emueraではどうしても配列そのものを指してもらう必要がある場面では、「LOCAL」も「LOCAL:1」も全て配列LOCALを指すと解釈することで対応しています。
これが上記の「CALL FUNC_REF(LOCAL:1)」「CALL FUNC_REF(LOCAL:2)」が同じ意味、という不条理な解釈の原因であり、プログラムになじみのある人、ない人の双方にとって非常に分かりづらい仕様だと思っています。
なのであんまり増やしたくないです。
で、戻り値を配列にすることは、#FUNCTIONの代わりに#FUNCTIONREF、RETURNFの代わりにRETURNREF命令とか作れば不可能ではないですが、追加の予定はありません。

>・配列の要素数を変数で確保する(VBやBASICでいうREDIMに相当する)機能はないのでしょうか。
現バージョンではできません。
そのうち追加するかもしれません。

>>627
関数に値ではなく条件式を渡すというのは内部的にすごい大変なのでかなり無理です。

630名無しさん:2016/11/26(土) 21:51:45 ID:KvdxxOf.0
>>628
ご教示の方法も検討しましたが、
・SORTCHARAは共通データであるキャラクタリストの値を変更してしまうため、副作用が怖い
・将来的に(メソッドそのものは分けるにしても)キャラ配列と通常の配列で同じ関数を使えるようにしたい
という理由から、使用を諦めた経緯があります

限られたキャラクタ変数であれば、関数の戻り値で配列を返せるようになれば可能性があるので、
・各キャラクタ変数のラッパー関数を作る
・ソート判定は関数名の文字列で与え、TRYCALLFORMで呼び出す
ことでなんとかできないか、研究してみようと思います。


>>629
なるほど、理解しました。確かに言語仕様上難しそうですね
(一応、VBの場合は配列の最初の要素のポインタを配列そのもののポインタとして使っていましたが・・・・)

最後の配列要素数については、実装を検討してもらえると助かります。

631617:2016/11/26(土) 22:27:13 ID:I8x99pCQ0
Emueraの人レスありです
> すごい大変なのでかなり無理です
パーサー部に、値でなく条件式を渡す構造を増設するのは、確かに大変ぽいですね

私家改造実験では、FINDELEMENTに「IS <演算子> < 値>」 と 「<値1> TO <値2>」の両ケースでパーサ部でエラーになるところをひたすら乗っ取らせて、
検索値代わりに検索条件クラスオブジェクト(==,!=,<,<=,>,>=,range(x,a,b), )を無理やり渡して動かしてみました。
が……動きはしますが…構造がぐっちゃぐちゃ……

その他の各配列検索関数にも展開にしたいので、上流のExpressionParser?で 「汎用の IS〜式」「汎用の 〜TO〜式」などを定義して、
delegate関数オブジェクト値を生成するクラスを作るほうが良さそうです

// Emueraで ラムダ式やLinqの使用は無し?

632〇627 ← ×617:2016/11/26(土) 22:56:13 ID:I8x99pCQ0
627でした

>>629
> で、戻り値を配列にすることは、#FUNCTIONの代わりに#FUNCTIONREF、RETURNFの代わりにRETURNREF命令とか作れば不可能ではないですが、追加の予定はありません。
とのことですが、RETURNFでもRETURNと同じく複数の引数を取る(=RESULT的な無名局所配列を生成する)ようにはできませんか?
今でも LOCAL = 1,2,3,4,5,6,7 みたいな代入ができているわけなんで、単純な代入式の右辺にある時には何とかならんだろうかと思えてしまうのですが。

数式中にある時に、何時破棄するかの管理は面倒ですが。参照カウンタ式にするのか、行単位で強制削除するのか…

633名無しさん:2016/12/25(日) 02:12:09 ID:Beb60obk0
式中関数内で、式中関数をTRYCALLFORM(あるいは類似の呼び出し)する手段はないのでしょうか?
通常の関数であれば、TRYCCALLなりなんなりできるのでしょうが、式中関数内ではそれもできず、呼び出す方法がないように見えます
また、CALLFORMFでは返り値が破棄されてしまうため、使用に耐えません
ご検討をお願いします

634名無しさん:2016/12/25(日) 10:17:40 ID:tqdSoilo0
はるか昔にもそのネタが出て却下された記憶があるけど
式中関数が見つからなかった場合はどういう処理させる前提なの?
0? 1? その数式行そのものを無視?

んで、式中関数にラッパー関数噛ませて
引数でTRYCALL相当の分岐させる処理とかじゃアカンの?

@FUNC(ARGS, ARG)
#FUNCTION
SELECTCASE ARGS
 CASE "FOO"
   RETURNF FUNC_FOO(ARG)
 CASE "BAR"
   RETURNF FUNC_BAR(ARG)
 CASEELSE
   THROW 未知の分岐引数%ARGS%を受け付けたため終了
ENDSELECT

635名無しさん:2016/12/25(日) 13:05:05 ID:Beb60obk0
>>634
他の開発者が任意に拡張できる、フレームワーク的な実装を作りたい、というのが要件。
んで、ラッパー関数入れると各開発者の修正箇所が増えるから、やりたくないんだよ

見つからなかった場合は無視でもいいが、ユーザーが指定できるようにしてもいいと思う
たとえば

    FOO = TRYFUNC(関数が見つからなかった場合の値,関数名,引数)

みたいな感じで。



・・・・ここまで考えて、これまんまEXCELのIFERROR関数やないけと気づいた

636名無しさん:2016/12/27(火) 14:16:48 ID:t6cKKnmA0
そもそもとして、無理に式中関数でやることないんじゃねってもある
式中関数でやるなら使い方間違うとエラー起きない計算程度の用途で使うかラッパー挟んで無理やりにやるかだと思うぞ

637名無しさん:2016/12/31(土) 16:15:35 ID:go1Ep4iM0
ツールチップの表示時間を指定、もしくは無制限にする事は出来ませんか
表示情報量が多いと読み終わる前に消えてしまうので

638名無しさん:2017/01/10(火) 15:36:12 ID:rsizOKBk0
#DEFINEの置換元にコロン(:)使うと、コロンより前の文字しか認識してくれずエラーになるのは仕様ですか?

639妊)|д゚):2017/01/12(木) 02:59:23 ID:xemqVZps0
>>637
ツールチップはモーダルとして実装されているので、該当ボタンにカーソルが乗っている限りは消えないはずなような…
一応、時間設定自体は可能ですが、その場合表示のされ方変わってしまうとかあるので、色々ややこしい

>>638
挙動的には何が起きてるかは理解できてますが、
そこらへんの処理は、Emueraのコードパースの基本処理とも絡んでくる部分もあるので
実装可能なのか、仕様とすべきなのか現状では判断が難しいところです

640妊)|д゚):2017/01/13(金) 01:49:22 ID:MpW5Hx960
・1821+v3
ttp://ux.getuploader.com/ninnohito/download/437/Emuera1821%2Bv3.7z

・主な修正
ツールチップの最大表示時間を設定する命令TOOLTIP_SETDURATIONを追加
書式等はreadmeに

641名無しさん:2017/01/13(金) 04:00:08 ID:SCmckZmI0
>>640
TOOLTIP_SETDURATIONの動作確認を行いました
表示時間をデフォルトより短くした場合、指定時間でツールチップが消えますが
長くした場合、指定時間を無視してデフォルトの時間でツールチップが消えてしまいます

Win10環境 複数台のPCで同症状を確認しました

642名無しさん:2017/01/13(金) 12:57:11 ID:LYvdoLjo0
不具合起きてる方も居るようですが、一応自分の環境では動いたと報告しておきます
デフォルト(約5秒)の2倍である10000msで指定して使ってみましたが、表示時間はちゃんと延長されていました
同じくWin10でデバッグモードはオフです

643名無しさん:2017/01/20(金) 21:16:28 ID:ewwSkzOM0
TOOLTIP_SETDURATIONの動作を再度確認しました
表示時間の設定がsigned 16bit上限である32767までなら期待通りの動作をするようです
設定を32768以上にするとデフォルトの時間でツールチップが消えます

644名無しさん:2017/01/20(金) 21:55:36 ID:NTFJj7Oo0
Windowsの仕様で32767ms≒32sまでしか対応してないみたいだね

645妊)|д゚):2017/01/21(土) 12:51:21 ID:ftuHB9xQ0
ふむふむ
うーむ、じゃあどうするかのぉ
こういうリファレンスにない仕様が頭痛の種になるのよねー

646妊)|д゚):2017/01/21(土) 13:04:25 ID:ftuHB9xQ0
てか、もしかしてTOOLTIP_SETDELAYも同じ問題抱えてるってオチまであるんじゃ…

647名無しさん:2017/01/21(土) 14:47:38 ID:/GlyWxlk0
サブメニューみたいに出しっぱなしにするとかそういうものでなければ
一定時間で消えるのが当たり前、と割り切って設定可能な時間に上限を
設けるくらいしかないのでは。

648名無しさん:2017/01/21(土) 18:41:42 ID:WO38780U0
まあツールチップに長文や重要な情報書く奴はおらんものと願おう

649妊)|д゚):2017/01/23(月) 02:18:54 ID:KYEgrLPU0
・1821+v3
ttp://ux.getuploader.com/ninnohito/download/438/Emuera1821%2Bv3.1.7z

・主な修正
命令TOOLTIP_SETDURATIONの引数がshortの最大値を超える場合に、shortの最大値と扱うように変更

TOOLTIP_SETDELAYは大きな値使う人居ないだろうしここではスルーで

650妊)|д゚):2017/01/23(月) 02:19:30 ID:KYEgrLPU0
間違えた
・1821+v3.1

651名無しさん:2017/02/18(土) 13:20:59 ID:fQJ9pAC60
最近始めたにわかなんですが、一つ要望出してみてよろしいでしょうか。

ウィンドウに余白が欲しいのです。
ウィンドウの際から文字が描画されているので少し見にくさを感じます。

特にウィンドウの左側と下側に多少のスペースが欲しいのです。
環境と好みによって余白の需要は変わるでしょうから、configで設定できると嬉しく思います。

652妊)|д゚):2017/03/17(金) 01:36:52 ID:sSmvZme60
>>651
処理実装上は可能な範囲ですが、パフォーマンスにどこまで影響出るか確かめてみないとかもです

653名無しさん:2017/03/25(土) 23:23:56 ID:tLnBw8r60
>>652
レスありがとうございます。
パフォーマンスに悪影響でないのでしたら、よろしくお願いします。

654妊)|д゚):2017/05/03(水) 17:35:28 ID:HXB2PiIE0
ユーザーエンド側には特に大きな変化はなし
>>651はうまい実装法が見つからず迷走中

・1821+v4
ttp://ux.getuploader.com/ninnohito/download/439/Emuera1821%2Bv4.7z

・主な修正
一部命令でのエラーメッセージがおかしいのを修正
解析モード時の出力行数を内部で規定

655名無しさん:2017/05/04(木) 10:11:02 ID:bvyhS.XE0


656名無しさん:2017/05/20(土) 15:29:00 ID:HxzrAV1c0
開発者用設定のコンフィグを,、パッチに間違って混入うpしてしまいがちなので提案を。
私家改造では ConfigData.cs の LoadConfig() でやってます。

「Debugモードの場合 かつ、debugフォルダがあって、かつ debugフォルダ内 に emuera.configがあるなら、そちらを読み込む。そうでなければ今までどおり」

657名無しさん:2017/07/07(金) 20:27:23 ID:ycnbzKBY0
Emuera1821.exeの報告です。

STRFORMに関して報告します。
FOR内でループ用変数をSTRFORMで拾おうとすると常に0になります。

FOR L_桁, 0, 10
LOCALS '= STRFORM("{L_桁}")
PRINTS LOCALS
NEXT

;出力
;0000000000
;0123456789にならない

658妊)|д゚):2017/07/24(月) 23:47:33 ID:eIq6/Eds0
・1821+v5
ttp://ux.getuploader.com/ninnohito/download/440/Emuera1821%2Bv5.7z

・主な修正
STRFORMが内部で全く正しく処理できていないのを修正

こんな超が付くレベルでクリティカルなバグが埋もれてたとはびっくりだぁねぇ

659名無しさん:2017/07/25(火) 10:25:47 ID:mXUoDbGY0


660名無しさん:2017/07/25(火) 16:52:15 ID:2vMFJcuw0
やや挙動不審っぽいものの報告です。
TOOLTIP_SETDURATIONしない場合はマウスの20pxほど下にツールチップの左上端が来るようなのですが、
TOOLTIP_SETDURATIONするとその場所がマウスと同じ位置になり、
自動的にマウスオーバー判定(?)になってマウスを動かさないとツールチップが点滅を繰り返すようになります(右クリックしながらツールチップ付きのコマンドを連続的に選択するときに頻繁になります)。
一応Windows10です。おま環なのかな?

661妊)|д゚):2017/07/25(火) 22:55:00 ID:218J0umQ0
>>660
TOOLTIP_SETDURATIONの設定の有無で表示処理が変わりますので、その影響ですね
手動で完全な再現は困難なので、疑似的な対応が精一杯というところでしょうか

662名無しさん:2017/07/30(日) 10:45:55 ID:eoclhQ/s0
ERHで宣言する定数や変数を他のERHで使用する場合、
使用できるか否かがEmuera上での読み込み順序に依存しているのはどうにかできませんか?

バリアント上最適な定義箇所にできず、可読性を損なっています。

663名無しさん:2017/07/31(月) 03:50:16 ID:xDumph4g0
昔なんか手を付けた気がするけどロダ掘り返したらなんかあるんじゃ

664妊)|д゚):2017/07/31(月) 13:41:14 ID:ypkFA8.o0
ここまでシステムの根幹部分になると、自分は手を出さないことにしてるのでEmuの人が動くの待ちになってしまいますね
(自分は私的に修正等をやって、結果的にそれが本家にも取り込まれているという形になっているだけなので、
 根幹部分をいじって将来的に互換性問題が起こりうるケースは避けるようにしてます)

665妊)|д゚):2017/08/01(火) 02:22:05 ID:.zr9EIQ.0
・1821+v5.1
ttp://ux.getuploader.com/ninnohito/download/441/Emuera1821+v5.1.7z

・主な修正
v5の変更で引数に文字列変数1つのみをとるSTRFORMが正しく動作しないのを修正
TOOLTIP_SETDURATION設定時のツールチップ表示位置を調整

666名無しさん:2017/08/01(火) 04:31:27 ID:J3dDizzk0
ログ掘り返した 去年の1月ぐらいにEmuの人が「#DELAY <識別子>でファイルのそれ以降を識別子が#DEFINEされるまで読み込みしないという宣言」とかいうemuera追加機能案出してた
実装されてない理由は知らん ・・・Emuera最新版はおととしだし

667名無しさん:2017/08/01(火) 09:09:40 ID:s3Tj37qQ0
>>665
助かります!

668名無しさん:2017/08/01(火) 22:07:30 ID:J3dDizzk0
>>662
ttp://era.moe.hm/cgi/era/upload.php?id=0002367
とりあえず、Emuera1321に対しそこをどうにかする私家改造版は昔作った人がいたからどうしても使いたかったらこれを自力で妊の人のとマージして使ってみればいいんじゃないかな
バグがないかは知らんが

669名無しさん:2017/08/29(火) 07:17:41 ID:/WvlW60I0
STRFORMや変数への代入時、
*** のような文字列でエラーが発生してしまいます。

TEST.ERBの21行目でエラーが発生しました:Emuera1821
LOCALS = ***
エラー内容:キャラクタ配列変数NAMEの第1引数(1)はキャラ登録番号の範囲外です

いろいろ試したところ、1821+v5.1で実行すると、
PRINTFORML %STRFORM("***")%
の場合はCALLNAME:0の内容が表示され、

PRINTFORML %STRFORM("+++")%
の場合はCALLNAME:1の内容が表示されました。

Emuera1821の場合はどちらも LOCALS = *** のときと同様のエラーが表示されました。

これはEmueraのバグなのか、それとも単に自分がこの書式付文字列を知らないだけで動作としては正常なのか、
どっちなんでしょう?

670名無しさん:2017/08/29(火) 07:23:30 ID:/WvlW60I0
>>669に訂正があります。
1821+v5.1
PRINTFORML %STRFORM("***")%
PRINTFORML %STRFORM("+++")%
ともに、表示されるのはCALLNAMEではなくNAMEの内容でした。


追記
Emuera1821で+++を評価するとCALLNAME:0が参照されるようです

TEST.ERBの66行目でエラーが発生しました:Emuera1821
PRINTFORML %STRFORM("+++")%
エラー内容:STRFORM関数:文字列"+++"の展開エラー:キャラクタ配列変数CALLNAMEの第1引数(0)はキャラ登録番号の範囲外です

671名無しさん:2017/08/29(火) 08:12:36 ID:DB9FZdf.0
三連文字列がNAMEとかCALLNAMEに展開されるのは、あなたが知らないだけで動作としては正常です。
気に入らないならコンフィグで「FORM中の三連記号を展開しない」をYESにしましょう。

ttp://cbaku.com/b/erakanon/eramacsv.htmlの最後とか参照のこと。

672名無しさん:2017/08/29(火) 09:08:57 ID:/WvlW60I0
>>671
ありがとうございます
そうなんですね。助かりました

673名無しさん:2017/08/31(木) 20:38:30 ID:ATa2t.4w0
Emuera1821+v5.1のバグ報告です

HTML_PRINTで画像を表示する際にwidthを負にして反転させると
後ろに配置したものがずれることがあります

自分でも何言ってるかわからないので実証コードです
ttps://www.axfc.net/u/3840362.zip
DLPass : era

未確認ですがConsoleImagePartクラスのXsubPixelの計算で絶対値をとっていないことが原因な気がします

674妊)|д゚):2017/09/30(土) 01:12:49 ID:BgNbEnQw0
ちょっとリクエストが入ったので

・1821+v5.2
ttps://ux.getuploader.com/ninnohito/download/442

・主な変更
あんま知られていない、REUSELASTLINEを用いて@USERXXXの後のシステム内部処理を一部スキップさせる手法の
REUSELASTLINEの引数が空白でない場合は、システム文字列の表示をスキップするように変更

675名無しさん:2017/09/30(土) 01:47:27 ID:JaThkKZI0
>>674
毎度乙です

676名無しさん:2017/10/07(土) 01:43:28 ID:29sYvR7k0
BEGIN命令について質問です。

EVENTTRAINやSHOW_STATUS内でBEGIN命令を使おうとしたところ「(当該場所で)BEGIN命令を使うことは出来ません」とエラーが出ます。
eratohoまとめwikiのQ&Aの中に「BEGIN命令ができないタイミングが存在する」という記載もあり、エラーメッセージからして仕様なのでしょうが、具体的にどのタイミングでは使うことができないのでしょうか。

677妊)|д゚):2017/10/07(土) 02:24:53 ID:IVRvo.qc0
基本的な理解としてはerabasicで区分けされる各セグメント内で
「ユーザーの入力結果を受けた処理を行う局面」においてはBEGINを受け付けるようになっており、
「システム内で閉じた処理を行う局面」ではBEGINを受け付けないケースが大半である
と考えていただければよいかと思います

ただし、一部@EVENTSHOPのような例外的に受け付けるものもあるので、実態は少しややこしいです

678名無しさん:2017/10/19(木) 01:42:28 ID:EGC1DZvE0
ttp://era.moe.hm/cgi/era/upload.php?id=0003204

イベントに合わせて
いつもの方々とは別の人による改造版です
C#にあるような名前空間を部分的にemueraに導入する改造 変数は現在未実装、また実装の隠蔽などは未実装です

バグあると思うので報告ください

679名無しさん:2017/11/02(木) 22:52:10 ID:CuzrVdNw0
>>678
使用させてもらってます!報告です!
名前空間中のユーザー定義式中関数をデバッグコンソールから呼び出そうとするとパースに失敗するのか呼び出せません

以下そのときのコンソールの内容
非コメント行数:14066, 全関数合計:186, 被呼出関数合計:125
GAMEMAIN.STRING_INSERT("1234")
'('に対応する')'が見つかりません

680妊)|д゚):2017/11/04(土) 02:18:49 ID:FYAB9U7Y0
例外踏み抜きパターンが見つかったので

・1821+v6
ttps://ux.getuploader.com/ninnohito/download/443

・主な変更
SORTCHARAをユーザー定義キャラ変数でやると華麗に.Net例外が返ってくるのを修正

681名無しさん:2017/11/06(月) 01:16:54 ID:6.Do4vGI0
>>679
ttp://era.moe.hm/cgi/era/upload.php?id=0003230
微妙に遅くなったけど反応があったのに気づいたので修正しました
あと、ソースコードの改変点が汚かったので治せないかと試行錯誤したら汚い場所が別の場所に移動しました

682名無しさん:2017/11/17(金) 23:43:57 ID:EmO1/WgY0
global.savが読み取り専用になっているなどの要因でSAVEGLOBAL命令が失敗すると、Emuera1821や1821+v6ではエラー落ちします。
Emuera1755では「グローバルデータの保存中にエラーが発生しました」が表示されるけど落ちません。
1821のソースでは"グローバルデータの保存中にエラーが発生しました"のあたりがコメントアウトされているようですが、これは
「グローバルデータが保存できてないことに気付かないままゲーム続行したら宜しくない」等の理由による仕様変更でしょうか?
それとも、何か例外処理を変更する都合上、こうなったのでしょうか?

セキュリティ対策ソフトか何かが偶然同じタイミングでglobal.savにアクセスしたりすると、
ttp://jbbs.shitaraba.net/bbs/read.cgi/otaku/16783/1483621747/816
のような再現性のないエラーになったりすることもあるんじゃないかと思います。

一度の失敗で即エラー落ちではなく、例えば
・「失敗したら500ミリ秒待ってからリトライ」を10回繰り返す
あるいは
・無限ループ警告のようにダイアログを出して、リトライするか終わらせるかユーザーに選んでもらう
のような実装を検討していただくことは可能でしょうか?

683名無しさん:2017/12/02(土) 18:08:35 ID:Ly56bH3Q0
SPLITの逆関数にあたる関数とかリクエストしていいですか?(他の言語ではjoinとかimplodeとか呼ばれてるやつ)
関数のインターフェースはSUMARRAYとほぼ同じ(対象が文字列配列で出力も文字列)でいいと思います
ERBで書いてもいけますがSPLITと同じ理由で配列長が大きくなると速度が気になってきました

684妊)|д゚):2017/12/03(日) 02:10:42 ID:EK7rAOhw0
>>683
確かにないのが不思議なレベルですな(全く気づいてなかったことから目を背けつつ

というわけで
・1821+v7
ttps://ux.getuploader.com/ninnohito/download/444

・主な変更
文字列配列結合関数STRJOIN追加
 基本的にSUMARRAYと同じ
 キャラ配列版は現状未実装(必要があるか確証がないため)

685名無しさん:2017/12/03(日) 05:51:45 ID:HOYniHlg0
はええ!乙です!
しかし一晩してから今SUMARRAYと同じだとセパレータ文字列がなくてこれ逆関数にならねえ!しまった!と気づいてしまいました。
なのでセパレータ文字列を引数に追加してもらってもいいですか?

SPLIT "a,b,c", ",", LOCALS
LOCALS:1 '= "hoge"
PRINTSL STRJOIN(LOCALS, ",", 0, 3) ; a,hoge,c
こんな感じです

せっかく高速実装していただいたのにごめんなさい

686妊)|д゚):2017/12/04(月) 02:22:55 ID:4VCr/.v20
>>685
ういうい

・1821+v7.1
ttps://ux.getuploader.com/ninnohito/download/445

・主な変更
STRJOINに区切り文字引数追加
引数の順序が変わってるので要注意

687名無しさん:2017/12/04(月) 23:28:52 ID:DuoOCB7o0
ありがとうございました!助かります!
2度手間取らせてすみませんでした〜

688名無しさん:2017/12/07(木) 23:38:52 ID:gT7vtgXI0
ttp://era.moe.hm/cgi/era/upload.php?id=0003266
>>682のSAVEGLOBAL,LOADGLOBALでファイルアクセスに失敗すると即座に例外となる問題に対応してみました。
変更したEmueraのソースファイルを同梱してあります。取り込んでいただければ幸いです。

尚、global.savが読取専用になっていた場合はどうしようもないです。
想定できる発生条件としては、
・多重起動時にSAVEGLOBAL,LOADGLOBALが同時に発生する
・Emueraとは別のソフト(セキュリティ対策ソフトなど?)が偶然同じタイミングでglobal.savにアクセスする
あたりだと思います

689妊)|д゚):2017/12/08(金) 03:26:21 ID:x0JPZGCk0
あえてJavaScript的にしてみる

・1821+v7.2
ttps://ux.getuploader.com/ninnohito/download/446

・主な変更
STRJOINを数値配列変数にも対応(JavaScriptでいうArray.join的な感じに)
7.1で追加した区切り文字列の扱いに問題があったのを修正

690名無しさん:2017/12/17(日) 02:35:16 ID:Cn6Jr3yQ0
SAVECHARAおよびLOADCHARAってもしかしてDIM SAVEDATA CHARADATAした変数に対応できなかったりしますか?

691690:2017/12/17(日) 03:35:15 ID:Cn6Jr3yQ0
追記
生成されたdatを読んでみましたが、DIM SAVEDATA CHARADATAされた変数自体は存在していました
セーブ時に値が入っていないか、ロード時に読めていないかのような気がします

692690:2017/12/17(日) 20:28:09 ID:Cn6Jr3yQ0
連投すみません。

色々試した結果、SAVECHARAおよびLOADCHARAは問題なくDIM SAVEDATA CHARADATAした変数を読み書きできていました。失礼しました。
今回、ADDCOPYCHARAやCOPYCHARAによってコピーしたキャラをSAVECHARA、LOADCHARAに突っ込んでいました。
ADDCOPYCHARAのコピー元になったキャラとLOADCHARAによって生成されるキャラを比較して、変数が同一になっておらず、セーブロードがうまくいっていないと考えていました。
しかしさらに調べたところ、ADDCOPYCHARAやCOPYCHARAの時点で問題があるようでした。
コピー先のキャラで変数の内容が吹っ飛んでおり、SAVECHARA/LOADCHARAにおいても変数が空になっており、上記挙動のようになっていたようです。
お騒がせしました。

それで、ADDCOPYCHARAやCOPYCHARAがDIM SAVEDATA CHARADATAした変数の中身をコピーしないのは仕様なんでしょうか……

693妊)|д゚):2017/12/31(日) 04:40:18 ID:xyNAxzLE0
>>692
あー、そこらへん考慮から外れてるかも
ちょっと考えてみますか

694名無しさん:2017/12/31(日) 22:34:36 ID:lTrJszrk0
式中関数でエラーが発生したとき、そのエラーを無視して何もしない、と設定することは実現可能ですか?
BASICでいう、ON ERROR RESUME NEXTに相当する処理です

695妊)|д゚):2018/01/01(月) 13:43:04 ID:Sy6.64LI0
お年玉(バグが入っていないとは言っていない

・1821+v8
ttps://ux.getuploader.com/ninnohito/download/447

・主な変更
COPYCHARA、ADDCOPYCHARAがユーザー定義キャラ変数に対応してないのを修正

696妊)|д゚):2018/01/01(月) 13:45:44 ID:Sy6.64LI0
>>694
うーん、できないことはないですが、
典型的なerror-proneになりそうなので、あんまり乗り気にはなれないですかねぇ

697名無しさん:2018/02/20(火) 20:18:37 ID:TM7N44F.0
ttp://era.moe.hm/cgi/era/upload.php?id=0003424

いつもの人とは別の人によるEmuera改造版です
ERBで定数を使っていたところ定数で定数の値を与えることが出来なかったので前につくったERHの定数をいい感じに処理してくれる奴に追加する形で改造版作りました

698名無しさん:2018/04/11(水) 22:19:36 ID:J7M5CUcQ0
SETCOLORすると値によってフォントサイズが変わるみたい・・・・?
0xFF4500と0x504010、フォントサイズ17で数ドットレベルで違うのを確認

699名無しさん:2018/05/01(火) 23:36:28 ID:83x4HkOA0
HTML_PRINTで& # x a ;(表示されないっぽいのでスペース入れてます)等の文字参照による改行が<br>や\nによる改行と挙動が異なる
通常HTML_PRINTを行った後はLINECOUNTとしては1行扱いだが<br>の改行の分だけ以降の行は表示が下になるのに対し文字参照の場合以降の行はHTML_PRINTの行の直後になる
つまり文字参照で改行した場合以降の行で表示した内容と描画位置が被ったりする
さらにbutton系でposで表示位置を動かしていた場合<br>では左端に戻るが文字参照の場合前の行と左端は同じになる
後文字参照の改行はコンフィグで設定した行の高さは無視されて文字のサイズによるものになる
最期にbuttonとして反応するのは最初の行だけ

尚この仕様の方が表示出来る幅は広い
例えば複数行に跨る文字列AとBが有ったとして
Aより前面に何らかの画像それより更に前面にBと表示できるのはこの仕様の場合だけである
<br>による改行の場合Aを表示しきった後画像を表示してBを表示すると必然的にBはA以降の行にしか表示できないのである
ついでにコンフィグで設定した文字サイズと行の高さが互いの素なら大きな余白行が必要だが文字の表示位置をピクセル単位で操作も可能

700妊)|д゚):2018/05/05(土) 23:34:57 ID:IROg4Tog0
改行文字の文字参照まではキャッチしてませんからねぇ
対応自体はそんな大変ってわけではないけど、正直やる価値があるかは疑わしいかなー

701名無しさん:2018/05/06(日) 21:01:23 ID:BPuANbEE0
READMEのSTRJOIN関数の説明に誤りがあります
実際に結合される範囲は下記の通りです
第三引数≦i<第三引数+第四引数

702名無しさん:2018/05/09(水) 18:18:58 ID:64LkLGiQ0
描画範囲外の行で行われたPRINT_RECTとHTML_PRINTの<img>タグと<shape type='rect'>で画像又は長方形が描画範囲内まで入る位置、大きさでも描画されない

703妊)|д゚):2018/05/11(金) 04:45:47 ID:SLAq39/U0
>>701
単なる書き間違いですね、はい
次のリリースの時にreadmeの方直しておきます

>>702
描画の処理の仕様の関係で、画像の左上(描画の起点)が画面内にないと表示されないですね

704名無しさん:2018/06/04(月) 19:37:34 ID:tSc6O0i.0
SETCOLOR直後にPRINTBUTTONすると設定した色で表示されないようです

705妊)|д゚):2018/06/05(火) 03:10:01 ID:I4NEdLig0
>>704
ちょっと見てみますねー

706妊)|д゚):2018/06/05(火) 03:54:51 ID:I4NEdLig0
かなり変則的なバグですね

;PRINTL GOGOGO!
SETCOLOR 255,0,0
PRINTBUTTON "TEST2", 2

コメントを外すか外さないかで挙動が変わるっていう楽しい光景
根本的な原因はわかってるので修正修正っと(正直再設計必要なレベルな気もするけど

707妊)|д゚):2018/06/05(火) 04:06:02 ID:I4NEdLig0
バグ修正はとっても大事

・1821+v8
ttps://ux.getuploader.com/ninnohito/download/448

・主な変更
○PRINTBUTTON系、PRINTPLAIN系命令が特定条件でSETCOLOR系の処理を反映しないのを修正
○REPEATなどの多重構造に関する警告のtweak ちょっとだけしっかり見るようになりました

708妊)|д゚):2018/06/05(火) 22:48:34 ID:6Tv5kmDU0
設定の違いって時折大変な事態を生むのであった

・1821+v9.1
ttps://ux.getuploader.com/ninnohito/download/449

・主な変更
○v9の変更で設定によって、大量の例外がすっ飛んでくるようになったのを修正

709名無しさん:2018/06/10(日) 19:37:35 ID:y3FNtlvI0
STRJOINに TALENTNAME などを引数に与えると、構文エラーなど表示せずに例外吐いてEmuera自体が落ちます。

例:STRJOIN TALENTNAME, ",", 0, 10

DEMO.ERBの15行目で予期しないエラーが発生しました:Emuera1821+v9.1
System.InvalidCastException:型 'MinorShift.Emuera.GameData.Expression.SingleTerm' のオブジェクトを型 'MinorShift.Emuera.GameData.Variable.VariableTerm' にキャストできません。
場所 MinorShift.Emuera.GameData.Function.FunctionMethodCreator.JoinMethod.GetStrValue(ExpressionMediator exm, IOperandTerm[] arguments)
場所 MinorShift.Emuera.GameProc.Function.FunctionIdentifier.METHOD_Instruction.DoInstruction(ExpressionMediator exm, InstructionLine func, ProcessState state)
場所 MinorShift.Emuera.GameProc.Process.runScriptProc()
場所 MinorShift.Emuera.GameProc.Process.DoScript()

710妊)|д゚):2018/06/10(日) 21:58:55 ID:lhpj0PnI0
わー、とんでもない事故起こってる
ちょっと考えないとなぁ

711妊)|д゚):2018/06/10(日) 22:34:59 ID:lhpj0PnI0
ちょっと処理が雑だったな、うん

・1821+v10
ttps://ux.getuploader.com/ninnohito/download/450

・主な変更
>>709修正
○v9からの変更でエラーなコードが原因で例外が飛ぶのを修正

712名無しさん:2018/06/11(月) 20:57:34 ID:NQ4oVsVw0


713名無しさん:2018/06/11(月) 22:57:45 ID:gNEyLqmI0
問題無い感じです

714名無しさん:2018/06/12(火) 21:07:37 ID:oEeBneSU0
スレチならすんません
自分が仕様を理解してない可能性大なのですが
PRINT_IMG で 例えば640×480の画像を原寸表示する場合
行単位で表示する物を20行表示
画像A001,001.jpg,0,0,640,20
画像A002,001.jpg,0,21,640,20
〜略
画像A024,001.jpg,0,461,640,20
みたいなCSV登録をした上で
ループで廻して表示するしか方法がないのでしょうか?

715名無しさん:2018/06/12(火) 22:31:53 ID:JmuwOzQ20
>>714
一応HTML_PRINTなら画像全体を登録して原寸大表示できる
ただしそこまででかいならループ廻すのが一番
HTML_PRINTで画像を表示する時画像の左上が描画範囲内に無いと表示されなくなる

716名無しさん:2018/06/13(水) 18:34:16 ID:DY14XkqA0
>>715
教えて下さってありがとう
HTML_PRINT の方の仕様上の課題も教えて頂けて本当に助かりました
動作に必要な前提が少ないPRINT_IMGの方で
表示用ループ関数を定義して引数渡しの形で一般化して使う様にします
設計的にも画像表示はおまけ要素ですしね

717名無しさん:2018/06/25(月) 21:51:06 ID:mrbLtDas0
バグ報告

「履歴ログの行数」が正常に機能していない。
ここで設定した行数はCONFIGファイルには正常に記録されるが、本体側で10000に固定されてしまっている様に感じます。
例を挙げるとCONFIGファイルには2000と記録されていても10000まで履歴を取り続けてしまう。

気が付いたバージョンはEmuera1821+v8ですが、Emuera1821+v10でも同じ症状を確認。
試しにEmuera1821でも確認してみた所、こちらは正常に機能していました。

718妊)|д゚):2018/06/28(木) 03:35:03 ID:vpr9YSv.0
およ、直したつもりだったが直ってなかった

719妊)|д゚):2018/06/28(木) 03:50:49 ID:vpr9YSv.0
違った、v10の後に手元ではすでに修正済みなだけだった(別口で報告もらってた
基本的には次のverの時にセットでかなぁ

720妊)|д゚):2018/07/13(金) 02:45:35 ID:4ZNlghCc0
Emuの人が新バージョンやるぞオルァと息巻いてましたので、乞うご期待

・1821+v11
ttps://ux.getuploader.com/ninnohito/download/451

・主な変更
>>717修正
○v9からの変更に絡んで色々雑だったところを手入れ
○仕様と内部挙動の不一致があったところをこっそり手入れ

721妊)|д゚):2018/07/13(金) 21:05:35 ID:/K8gEFvA0
・1821+v11
ttps://ux.getuploader.com/ninnohito/download/452

・主な変更
REPEAT、FORの衝突絡みをエラー扱いから警告扱いに変更

722名無しさん:2018/07/14(土) 02:53:00 ID:J6S/dbCg0
ttp://era.moe.hm/cgi/era/upload.php?id=0003771

いつもの方々とは別の人による改造版です
Emueraにユーザー定義でCSV読み込んでINDEXアクセスを文字列でできるようにする奴です
怪しげなフォルダ名とか怪しげな命名規則とかめんどくさいところあるのでUpdate.txtの中身見てください

バグあると思うので報告ください

723Emueraの人:2018/07/16(月) 22:44:30 ID:pEJxvcec0
Emuera 1.822リリース
ttps://osdn.jp/projects/emuera/releases/
対象の.NetFrameworkのバージョンを2.0から4.5に更新
ERH内で宣言した定数をERH内で他の変数の宣言に利用できるように修正
(読み込み順によらず利用可能になります)

また、思うところありまして投げ銭版 Emueraの販売を始めました。
ttps://emuera.booth.pm/items/933704
よろしければご支援のほどお願いいたします

724名無しさん:2018/07/18(水) 05:44:11 ID:M2AnZwhk0
いつもお世話になっております。
Monaなら投げたいです。

725名無しさん:2018/07/30(月) 22:25:45 ID:WWbiMQqA0
解析モードの動作が変わっちゃってますかね。

ttp://seesaawiki.jp/eratoho/d/Emuera%A4%CB%A4%C4%A4%A4%A4%C6%A4%CE%CA%E4%C2%AD
で書かれているように、バリアントのERBフォルダをEmueraのexeファイルにドラック&ドロップして、出力されるAnalysis.logを見る。

を試してみたのですが、
Emuera1822.exe : ERBフォルダ直下のファイルだけを見る
Emuera1821.exe および Emuera1821+v5.1.exe :ERBフォルダ以下のファイルをサブフォルダも含めて全部見る
のようです。

726妊)|д゚):2018/07/31(火) 03:12:04 ID:scZ6DgDs0
あー、ログ行数周りの修正の影響かー
さっくり直しますか

727妊)|д゚):2018/07/31(火) 03:24:52 ID:scZ6DgDs0
・1822+v1
ttps://ux.getuploader.com/ninnohito/download/453

・主な変更
>>725修正

728average:2018/08/12(日) 08:42:58 ID:lf3fzaRA0
・SAVEGLOBALを頻発させると落ちてしまう不具合の報告
ttp://era.moe.hm/cgi/era/upload.php?id=0003842

【バージョン】
Emuera1822およびEmuera1822+v1
過去バージョンでも同様の不具合が起きています:Emuera1821、Emuera1820 ほか

【導入パッチ】なし
【エラー内容】
短時間にSAVEGLOBALを何度も実行させるとエラー落ちします。
エラーログは以下の通り:

SHOP.ERBの7行目で予期しないエラーが発生しました:Emuera1822
System.IO.IOException:要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。

場所 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

場所 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)

場所 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)

場所 MinorShift.Emuera.GameData.Variable.VariableEvaluator.SaveGlobal()

場所 MinorShift.Emuera.GameProc.Process.runScriptProc()

場所 MinorShift.Emuera.GameProc.Process.DoScript()



【エラーの再現性】
各5回ずつ試行し、5回とも全てエラーを出しました:
Emuera1822:セーブ19回目,18回目,284回目,353回目,17回目
Emuera1822+v1:セーブ20回目,15回目,28回目,21回目,20回目


【エラー発見の経緯】
eratohoJ+ v1.05.5をマクロで回しているときに時々エラー落ちする現象(再現性がなかった)を分析して、この不具合を突き止めました。
この不具合を回避しようとWAIT関数を駆使してみましたが、200フレームほど待ってもエラー落ちが回避できませんでした。1000フレームほど待機すればエラーを回避できるっぽい(たぶん環境依存)ですが、ゲームの円滑な進行に影響を及ぼします。
そのため、Emuera本体側での対応をなにとぞよろしくお願いします。

【対応案】
・SAVEGLOBAL等のセーブ系命令でエラーが起きたとき何回か再試行する
・erabasicに例外処理を追加する

729Emueraの人:2018/08/12(日) 19:32:51 ID:fu/4JBck0
>>728
こちらの環境では何度試してもエラーは出ませんでした
一応エラーが出ても強制終了はしないように次のバージョンで修正してみます

730Emueraの人:2018/08/12(日) 23:09:20 ID:fu/4JBck0
>>728
ttp://era.moe.hm/cgi/era/upload.php?id=0003843
セーブ時に落ちる問題が改善しているかもしれないし改善してないかもしれないバージョン1.823alpha002をupしました
同梱のEmuera1823alpha002を起動して旧バージョンと比較してみてください
これで改善していなければ別の修正を試みます

731Emueraの人:2018/08/14(火) 23:46:19 ID:iflHcKDk0
>>728
ttp://era.moe.hm/cgi/era/upload.php?id=0003847
Emuera1.823beta001
・SAVETEXT&LOADTEXT命令・関数を追加しました
・1.822+v1の修正を取り込み

SAVETEXT STR, X, 1,1
とすることでSTRの内容をtxtXX.txtファイルに出力します。
第3引数、第4引数に非0を指定することでオプションによらず、savフォルダ内にUTF-8エンコードで出力します。
この命令・関数はセーブに失敗してもエラーにならず、単にRESULT:0に非0を代入します。
頻繁にセーブを繰り返すなどセーブに失敗する可能性がある場面でお使いください。

732名無しさん:2018/08/17(金) 17:01:07 ID:RkSqWJ7I0
>>731
新規関数の追加ありがとうございます!era2talkっていう、ソフトウェアに口上を読み上げさせるツールを作っていたのでこれはありがたい仕様ですね…!

733Emueraの人:2018/08/30(木) 02:40:31 ID:pETVsHCM0
Emuera1.823beta003
「キャラクターなんとか機」っぽいもの
ttp://era.moe.hm/cgi/era/upload.php?id=0003892

色を変えたりフォントサイズに依存しない画像描画をする機能は次で。

734名無しさん:2018/09/10(月) 22:16:18 ID:UrHeD8b20
すみません、ひとつお聞きしたいのですがEXISTCSVのような感じで、
画像を表示するためのリソースが存在するかどうかを判定する関数はemueraに存在しますか?
なければ是非欲しいです。

画像がなければ何も表示せず、あればPRINT_IMGで表示するようにしたいのです。
そういった関数を見つけられなかったので、
IF NO:LOCAL == 5 || NO:LOCAL == 8
PRINT_IMG @"%TOSTR(NO:LOCAL)%"
ENDIF
のように力技でやろうとしているんですが、画像を追加するたびに記述を書き換えなければならないし
スマートじゃないなと思いまして。

735Enter ◆KRonai/j1M:2018/09/10(月) 22:22:35 ID:Pj0VhRXs0
>>734
現状無いので、定数を使うことで対応ができるかと思われます
ERB側は静的変数(定数)でIF分岐、画像追加と一緒にERHの定数も変える仕様にすればスマートに動くはずです

736名無しさん:2018/09/10(月) 22:39:04 ID:UrHeD8b20
>>735
ありがとうございます!

737Emueraの人:2018/09/10(月) 23:49:21 ID:GlzCIpmw0
>>734
1.822正式版の時点では存在しませんが1.823beta003でSPRITECREATEDという名称で追加しました。
上記Emuera 1.823beta003
ttp://era.moe.hm/cgi/era/upload.php?id=0003892
を使ってみてください。
例えば、
IF SPRITECREATED(TOSTR((NO:LOCAL)))
 PRINT_IMG TOSTR(NO:LOCAL)
ENDIF

のようになります。

738名無しさん:2018/09/27(木) 12:25:39 ID:2S9frzmE0
>>633に似た提案ですが、式中関数にTRYCALLFORMのようなのは出来ないんでしょうか?
副作用が一番の問題だと思うので、実行結果があればすぐRETURNする形にすればどうかと
仮にこの関数の名前をTRYRETURNFORMFとすると、

@GET_SOMETHING(FOO, BAR)
#FUNCTION
#DIMS FOO
#DIM BAR
TRYRETURNFORMF GET_SOMETHING_%FOO%(BAR) ; 関数があったらここで関数の実行結果をRETURNする
RETURNF GET_SOMETHING_DEFAULT(BAR)

こんな感覚です

こんなのができると副作用はないがキャラクタとかの追加に対応しやすい式中関数ができそうなので
Emueraの製作原則に反しないなら、考慮してくださればありがとうございます

739Emueraの人:2018/10/08(月) 00:32:48 ID:5.4uyczY0
>>738
昔から要望されていて実装してませんでしたがそのうち対応しようと思います。
いつになるかわかりませんがお待ちください。


掲示板移転しました。
今後はera板+でお願いします。
【エミュレータ】Emueraスレ【+1】
ttps://jbbs.shitaraba.net/bbs/read.cgi/otaku/16783/1538925902/


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板