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

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

380妊)|д゚):2011/08/30(火) 01:06:43 ID:MgFZOZMk0
・1803beta007+v2
ttp://ux.getuploader.com/ninnohito/download/273/Emuera1803beta007%2Bv2.zip

○#DIM(S) DYNAMICな動的ローカル変数が関数末端で例外を吐くのを修正
○警告表示周りにいくつか不自然な挙動があったのを修正

381saorin:2011/09/01(木) 03:17:14 ID:h/y0kdXQ0
世の中には簡単で儲かる仕事があるもんだ(;・ω・)。 ttp://tinyurl.k2i.me/GoeA

382名無しさん:2011/09/06(火) 07:11:49 ID:y1ogD4Qs0
Emuの人も 妊)|д゚) の人もいそがしそうで告知がなされていなかったから別人が告知します。

Emuera ver. 1.803
ttp://sourceforge.jp/projects/emuera/releases/
更新内容
・私家版1803beta007+v2を取り込み(beta007+v3は取り込まず
・私家版1803beta002+v3を取り込み
・構文解析時のエラーメッセージを修正
・*.configファイル又は_replace.csv読込時のエラーを警告として表示し強制終了を選択できるように
・ファイル内の行を特定しない警告、エラーが最終行に対する警告、エラーになっていた点を修正
・SKIPDISPがデバックコマンド等で使えてしまっていた問題を修正
・ユーザー定義式中関数の引数中で自分自身が呼ばれた場合の動作などを修正
・「システム関数の上書きを許可する」「システム関数が上書きされたとき警告を表示する」オプションを修正 「許可する」だと強制的に「警告する」になっていた動作を「許可しない」場合に強制的に「警告する」になるように修正
・?新命令COPYCHARA、ADDCOPYCHARA追加
COPYCHARA A, B
で登録番号Aのキャラの全てのデータを登録番号Bのキャラにコピーする
ADDCOPYCHARA A
でAのコピーである新キャラを追加する
・VariableSize.csvにおける二重定義等を警告Lv1の対象に
・STRNAME、TSTRNAME、SAVESTRNAMEを名前だけ確保
・CDFLAG キャラクタ二次元配列変数を追加
・CDFLAGNAME1とCDFLAGNAME2変数を追加。
cdflag1.csvとcdflag2.csvで定義可能、CDFLAGの引数指定に使える。
・セーブデータの形式を弄った
1803以降のデータを1802以前で読むことはできない
1803は1802以前と1803の両方のデータを読める

383Emueraの人:2011/09/19(月) 14:16:08 ID:bg5utIqY0
Emuera ver. 1.804
ttp://sourceforge.jp/projects/emuera/releases/
・ver1803+v2.99.3までの更新を取り込み
・MATCH、CMATCHで空文字列と空文字列が一致しないと判定されることがある問題を修正
・数値が必要な場所に数値がない場合のエラーメッセージを修正
・gamebase.csvのデータをInt64化、ゲームコードが0であるセーブデータをどのコードからも読めるように
・GLOBALNAME、GLOBALSNAME追加 global.csv及びglobals.csvで定義することができる
・STRNAME、TSTRNAME、SAVESTRNAMEをそれぞれstrname.csv、tstr.csv、savestr.csvから定義できるように

既存のスクリプトのうち、global.csvなどをメモ書きに使っている場合にはそれらのcsvに対して警告Lv1が出ることがあります。
プレイ自体には支障はありません。

384Emueraの人:2011/09/19(月) 15:48:23 ID:bg5utIqY0
Emuera ver. 1.805
ttp://sourceforge.jp/projects/emuera/releases/

1.804にバグが見つかったので修正しました

385名無しさん:2011/09/26(月) 20:05:50 ID:MVwBbXE60
Emuera ver. 1.806
ttp://sourceforge.jp/projects/emuera/releases/
* ver1805+v2.1までの更新を取り込み
* FINDELEMENTの第一引数に変数以外を指定したときの警告を修正
* MATCH及びFINDELEMENTの第一引数にABLNAMEなどの疑似変数を指定したときのエラーを修正
* 互換性オプションに関するボタン「eramakerの仕様にする」で「関数・属性については大文字小文字を無視しない」オプションがチェックされない問題を修正
* _fixed.configによって固定されたオプションの外見が「eramakerの仕様にする」などのボタンにより変化しないように修正
* 互換性オプション「ver1739以前の非ボタン折り返しを再現する」追加
* 互換性オプション「DRAWLINEを常に新しい行で行う」廃止、「ver1739以前の非ボタン折り返しを再現する」のオプションへ移行

例えばeratohoCPM ver1.06はEmuera1.739の動作に依存しているために1.739以降では正常に表示が行われませんでした。
Emuera1.806では「ver1739以前の非ボタン折り返しを再現する」オプションを利用することにより1.739同様の表示を得ることができます。
(LOCAL@とARGに関する警告Lv1が出ますがプレイ自体には支障ありません)

386妊)|д゚):2011/10/10(月) 20:12:04 ID:.tGSeiX20
・1806+v2
ttp://ux.getuploader.com/ninnohito/download/291/Emuera1806%2Bv2.zip

とりあえず要点だけ
・描画システムがWINAPIの時、フォントの実高さ<1行の高さになると
 未描画領域が生じてしまう問題をアドホックに修正
・式中関数をCALLできてしまうエンバグを修正

他は関数追加等、詳細はreadmeで

387名無しさん:2011/10/10(月) 20:23:56 ID:PdgYzxGs0
>>1
というか他民族の美醜を自民族に当て嵌めて整形しまくってるから皮肉で言われるんだろーが!w

388名無しさん:2011/10/10(月) 20:24:27 ID:PdgYzxGs0
すまん盛大な誤爆<(_ _)>

389妊)|д゚):2011/10/17(月) 23:37:39 ID:.ddVPcBI0
・1806+v3
ttp://ux.getuploader.com/ninnohito/download/298/Emuera1806%2Bv3.zip

要点
・システム側から呼び出される関数に#DIM DYNAMICな変数がある場合、それを参照しようとすると例外になるのを修正

他の新機能等はreadme参照のこと

390妊)|д゚):2011/10/21(金) 03:14:55 ID:2s2hmYZM0
・1806+v3
ttp://ux.getuploader.com/ninnohito/download/302/Emuera1806%2Bv4.zip

要点
TONEINPUT、TONEINPUTSがボタン入力を受け付けないのを修正

その他新機能、拡張等はreadme参照のこと

391妊)|д゚):2011/10/26(水) 18:44:25 ID:eyCRzmMc0
・1806+v5
ttp://ux.getuploader.com/ninnohito/download/304/Emuera1806%2Bv5.zip

要点
CDFLAGへのVARSETの処理が定義されておらず、ISASSIがVARSETされるバグを修正
VARSETがやたらと処理に時間食うのを多少改善

392妊)|д゚):2011/11/01(火) 22:11:50 ID:Wbcs/TuQ0
・1806+v5
ttp://ux.getuploader.com/ninnohito/download/313/Emuera1806%2Bv6.zip

要点
タイトルに戻る実行時にLINECOUNTがクリアされないバグを修正
_repalce.csvの設定とSTAINの要素数の組み合わせ次第で例外が起こるのを修正

393妊)|д゚):2011/11/02(水) 01:09:40 ID:6yYXSeZ60
・1806+v7
ttp://ux.getuploader.com/ninnohito/download/315/Emuera1806%2Bv7.zip

要点
#DIMでシステム予約語と衝突する等無効になる変数を宣言し、それを式中関数の引数として定義されているとコード解析で例外が生じるのを修正
v6にあったミスを修正

394妊)|д゚):2011/11/09(水) 01:17:55 ID:o.aYCUzk0
・1806+v8
ttp://ux.getuploader.com/ninnohito/download/318/Emuera1806%2Bv8.zip

要点
設定の「大文字小文字を無視する」がONの時CALLFORMFでエラーになってはいけないコードがエラーになる場合があるのを修正
その他雑多な修正等

395妊)|д゚):2011/11/11(金) 01:17:16 ID:RGcKaAWE0
・1806+v9
ttp://ux.getuploader.com/ninnohito/download/319/Emuera1806%2Bv9.zip

要点
NAME、CALLNAME、NICKNAMEからNOへの変換テーブルが正しく作成されないのを修正

396名無しさん:2011/11/22(火) 15:24:27 ID:6mXYBxzU0
SUBSTRING命令で終端の全角文字の途中から表示を始めると予期しないエラーを吐くようです
以下の構文で再現可能

LOCALS:0 = 全角
SUBSTRING LOCALS:0, 3, 10

397Emueraの人:2011/11/22(火) 20:07:38 ID:Mytv.gDw0
>>396
報告ありがとうございます
ベータ版という形ですが当該修正を含めて1.807 beta002としてアップしました
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5645.zip

398名無しさん:2011/11/22(火) 21:01:30 ID:6mXYBxzU0
素早い対応ありがとうございました、早速使わせていただきます!

399妊)|д゚):2011/11/23(水) 01:25:53 ID:7olnFjIE0
・1806+v11
ttp://ux.getuploader.com/ninnohito/download/322/Emuera1806%2Bv11.zip

要点
SUBSTRINGのエラー修正(beta2と同じ修正)

バリアント同梱等考えた場合、作っておく必要があると思われるので作成

400名無しさん:2011/12/09(金) 04:08:51 ID:WESg.BdI0
初歩的な質問ですみません。

100人以上のキャラが登場するバリアントをemueraで動かした時、
たとえばChara64.csvに記述する相性の引数としてキャラ番号102を指定すると、
起動時に
「警告Lv1:Chara64.csv:20行目:102は配列の範囲外です」
という警告メッセージが表示され、
64のキャラの調教時に102のキャラを助手として選択すると、
その瞬間に
「キャラクタ配列変数RELATIONの第2引数(102)は配列の範囲外です」
というメッセージを吐いて、emueraが終了します。

emueraのChara.csvで100番目以降のキャラへの相性を指定した場合は、
どうすればいいのでしょうか?

401名無しさん:2011/12/09(金) 05:17:05 ID:BuDfDVpE0
VariableSize.csv のRELATION 増やすとかやってみ

402Emueraの人:2012/01/08(日) 00:52:08 ID:kWAmfIY60
Emuera ver. 1.807
* ver1806+v10.99までの更新を取り込み
* SUBSTRINGに関するバグ修正
* 行末コメントの実装
* 数値型配列変数への複数の数値の一括代入の実装
* システム関数の引数に関する警告の緩和

行末コメントは
 A = B ;AにBを代入
のように行の末尾にコメントを挿入できます
ただし、一部例外があり、PRINT文のように引数が単純文字列の命令の場合にはコメント化されず文字列の一部と評価されます
 PRINT foobar;ほげほげ
の場合、「foobar;ほげほげ」がPRINTされます

A:10 = 1,2,3
と書くとA:10〜A:12に1〜3が代入されるようになります
多次元配列では、DA:0:0 = 1,2,3はDA:0:0〜DA:0:2に1〜3の値が代入されます
DA:0:0〜DA:0:99の次にDA:1:0に代入することはなく、配列外参照エラーになります
複合代入演算には使えません(A += 1,2,3などは不可)。文字列の代入にも使えません

403Emueraの人:2012/01/08(日) 00:53:15 ID:kWAmfIY60
リンク張り忘れ
sourceforgeJPのダウンロードページからどうぞ
Emuera ver. 1.807
ttp://sourceforge.jp/projects/emuera/releases/

404名無しさん:2012/01/08(日) 01:04:01 ID:sOUGx8e60
行末コメントキタワー

405Emueraの人:2012/01/11(水) 23:14:25 ID:nIT.CVdk0
Emuera ver. 1.808alpha002
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5693.zip

これは開発中のバージョンです
仕様は開発中のものであり正式版では変更される可能性があります
(この版で動作したスクリプトが正式版では動かない可能性があります)

>>25で_define.csvと呼んでいた機能の追加です。
csvではなく、.ERHという新しい拡張子のファイルになりました(評価しだいでは変更します)
使い方は添付ファイルと
ttp://sourceforge.jp/projects/emuera/wiki/ERH
を参照してください

新機能についてご意見・要望などありましたらお願いします

406名無しさん:2012/01/29(日) 02:10:51 ID:HIRW.ykU0
ちょっと間が空きすぎ&意見というか感想ですが、ERH による変数宣言について。

現状ではセーブされない変数のみとのことですが、保存されないとなると
想定される位置付けとしては純粋に関数を跨ぐ一時変数という形でしょうか。

実装の目的としては主に可読性の向上が理由であると認識していますが、
保存されない変数だと任せられる役割の幅にかなりの制約がかかるので、
実用上だとあまり出番がないように感じられました。

諸々の手間やセーブデータの形式の話やらを考えると
保存できるようにしてほしい! と気軽に要望する気にもあんまりなれませんが、
なんだかいろいろ勿体無いなあと。

保存可能、かつ二次三次の配列変数も宣言可能とかだったら
完全に既存の変数を使わずに済むようになるので、
可読性という点でまた別次元に到達するなあ、とか思ってた奴の戯言でした。

407名無しさん:2012/03/12(月) 18:59:32 ID:MC0KbBhY0
ERHを使ってみて感想
広域変数定義ですが、参照テーブルに使ってみようとしたところ
配列のサイズ指定にDEFINEの値が使えない事が少し気になりました
使えなくても問題ありませんが、可能なら広域変数定義で#DEFINEの
値を使えるようにしていただきたいです

408妊)|д゚):2012/04/15(日) 01:53:11 ID:fqvrPcSU0
しばらく書くの忘れてたが
1807+v3.1
ttp://ux.getuploader.com/ninnohito/download/327/Emuera1807%2Bv3.1.zip

・変更履歴
1807+v1
○SUBSTRINGが使い方によっては例外を投げるのを修正

1807+v2
○複数引数のRETURN、RETURNFORMでRESULT系を使うと、正しくない値が返る場合があるのを修正
○TONEINPUTのデフォルト値に負の値を用いると二桁以上の値をわたせてしまうのを修正

1807+v3
○現在のALIGNMENTを取得するCURRENTALIGN()実装
○現在のREDRAW状態を取得するCURRENTREDRAW()実装

1807+v3.1
○マルチディスプレイ環境下でのセカンダリ以降のディスプレイ上での最大化処理の問題修正

409名無しさん:2012/06/01(金) 19:56:33 ID:XXMSdjBw0
バグ報告です。

【症状】 variablesize.csv で SOURCE と SOURCENAME の長さを設定すると、
値を揃えているにも関わらず 「要素数が異なる」 という警告を受ける。

【原因】 ConstantData.cs 471 行目くらい

_decideActualArraySize_sub(VariableCode.SOURCE, VariableCode.SOURCENAME, VariableIntArrayLength, position);

VariableIntArrayLength は CharacterIntArrayLength の間違い。
これにより、SOURCE と SOURCENAME ではなく
EXPLV と SOURCENAME の組に対して処理が行われている。

410妊)|д゚):2012/06/01(金) 22:15:05 ID:uiII7VPE0
1807+v4
ttp://ux.getuploader.com/ninnohito/download/328/Emuera1807%2Bv4.zip

>>409修正

411名無しさん:2012/06/08(金) 20:04:32 ID:uHhf23b.0
バグ報告+αです。

【症状】 TOINT 関数に全角数字を渡すと、整数値に変換できない旨のEmuエラーが出る。

【原因】 該当する関数内 (Creator.Method.cs, ToIntMethod) で
入力値のチェックを IsDigit のみで済ませているため、全角数字が素通りしている。
以降の ReadInt64, readDigits, ToInt64 いずれも全角数字を考慮しないため、ToInt64 で FormatException。

-----

TOINT が全角数字に対応するべきかどうかは開発者の裁量次第ですが、
erabasic としての基本ルールとの一貫性や、ReadInt64 以降を弄った場合の影響範囲を考えると
半角のみの対応に限定して ToIntMethod 内で片付けた方がスマートかと思います。

それと、現状のでは TOINT("0") と TOINT("ぬるぽ") の違いが判別できないので、
補完のために ISDIGIT 的な関数があった方が良いと考えますが如何でしょうか。

412妊)|д゚):2012/06/10(日) 03:51:00 ID:gAo7r0Po0
・1807+v4.2
ttp://ux.getuploader.com/ninnohito/download/330/Emuera1807%2Bv4.2.zip

修正等
・1807+v4.2
>>411のエラー修正
  全角数字もパース不可とし0を返します
○文字列が数値として判断できるかを判定する式中関数ISNUMERICを追加
  書式:ISNUMERIC([文字列])
  内容:文字列を数値としてパース可能か(TOINTで値を取れるか)を返す

・1807+v4.1
○設定の「選択中文字色」の値を取得する式中関数GETFOCUSCOLOR追加

413妊)|д゚):2012/07/20(金) 01:19:05 ID:dvq9yU.U0
・1807+v5
ttp://ux.getuploader.com/ninnohito/download/338/Emuera1807%2Bv5.7z

・修正等
結構多いのでreadme参照のこと

414名無しさん:2012/07/20(金) 13:41:02 ID:FpmHW4HI0
>>413
お疲れ様です
いつもありがたく使わせて頂いてます

415名無しさん:2012/07/21(土) 00:58:15 ID:j54PGVBk0
OSはWindows7 64bit Professionalです
emuera.configの「無限ループ警告までのミリ秒数:5000」を増やしても
意図して長時間のループを行うと、OSの方での「応答無し」のウィンドウが出てきてしまいます

今の所は、
ttp://social.technet.microsoft.com/Forums/ja-JP/windowsvistaja/thread/3edbe74c-3eda-45f0-bb9b-41fb6b4aff94/
にあるような方法で各自で対処するしかないのでしょうか?

416妊)|д゚):2012/07/21(土) 21:40:31 ID:UkvMDwsE0
>>415
内部でのスクリプト処理中にwindowsイベントの処理に制御渡していないのが本質的な問題なので、Emuera側の問題となります

ただ、Emuの人が一度試してどうもうまくいかない部分があったようでバックアウトかけてるようなので、
どう処理するかは今すぐどうこうという感じではないかもしれません

417名無しさん:2012/07/21(土) 21:49:01 ID:/tCwt2iA0
>>416
お返事ありがとうございます
他の表現方法を模索してみます

418Emueraの人:2012/08/02(木) 00:01:17 ID:0R1VVVys0
お久しぶりです
Emuera1808alpha008
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era6073.zip

これはalpha版です
仕様は開発中のものであり正式版では変更される可能性があります
(alpha版で動いたスクリプトが後のα・β・正式版では動かない可能性があります)
alpha008でセーブデータの形式が変更されています
alpha008で作成したデータは正式版ではロードできない可能性があります
global.savの形式も変更されているので注意してください。

419Emueraの人:2012/08/02(木) 00:02:43 ID:0R1VVVys0
1808alpha008
・1807+v6beta2までの私家版の更新を取り込み
・DEFINEの一部の機能の削除(関数型マクロ・命令名の置換)
・代入演算子"="を含むDEFINEの許可
 代入文は作れません。関数の引数の初期値の定義を置換できます。
・空のDEFINEの許可
・プリプロセッサ[IF XXX]、[ELSEIF XXX]、[ELSE]追加
・多次元変数の宣言の実装
 #DIM HOGE,1,2 で二次元変数HOGEが定義できます
 配列の次元は三次元までです。ERH内だけでなく、関数中のローカル変数も三次元まで宣言可能になります。
・ERH内での変数宣言でSAVEDATAフラグを付けることでセーブされる変数の宣言を可能に。
 #DIM SAVEDATA FOO,100 でセーブされる変数FOOが定義できます。
 ローカル変数には使えません。
 宣言時にフラグを立てておけばセーブ・ロードは(SAVEDATA等の命令により)自動で処理されます。
・ERH内での変数宣言でGLOBALフラグを付けることでグローバル変数の宣言を可能に。
 #DIM GLOBAL HOGE,100 でセーブされる変数HOGEが定義できます。
 ローカル変数には使えません。
 グローバル変数は吉里吉里のシステム変数やNScripterのグローバル変数に相当し、LOADDATAやRESETDATAでは初期化されず、RESETGLOBALによって初期化される変数です。
 GLOBALフラグはSAVEDATAフラグと同時に使用できます(順不同)。
 #DIM GLOBAL SAVEDATA FOOBAR, 100
 この場合、FOOBARはSAVEGLOBALとLOADGLOBALによりglobal.savにセーブ・ロードされます。
 SAVEDATAやLOADDATAではセーブ・ロードされません。

420名無しさん:2012/08/02(木) 09:30:15 ID:kO6B.P6Y0
>>419

更新乙です
今回の更新で一文字変数完全におわたですね!!

421妊)|д゚):2012/08/03(金) 01:15:02 ID:zwE7vXLU0
・1807+v6
ttp://ux.getuploader.com/ninnohito/download/341/Emuera1807%2Bv6.7z

・修正等
○配列変数をソートするARRAYSORT実装
○RETURNFORMに空文字列やスペースのみを渡すと.Net例外が投げられるのをハンドリングするようにした
○REDRAW 0の場合でも特定条件下で再描画が重なりちらつきが生じる場合があるのを修正

上2つは1808alpha008にも入ってます
最後のも次のalpha以降には入るかと思います

422名無しさん:2012/08/11(土) 16:18:02 ID:Pqf/ECGk0
CSTRなどに数値をコロンで区切って放り込み、分割して取り出してそれを利用したいのですが
SPLITするとLOCALSに代入される為、LOCALS = LOCALなどが出来ません。

自由に変数を定義出来るようになったので他にもやり方はあるのですが、あれば便利になると思うので
例えばLOCALSが/^[0-9]+$/であればRESULTにLOCALSを代入、そうでなければ-1を代入するような命令の導入を検討して頂けないでしょうか。

血縁関係の判定や妊娠時の判定や好感度などで、項数が増えてくるとFLAGでは扱いづらいので…

423名無しさん:2012/08/11(土) 18:03:20 ID:qHzq7sWM0
>>422
意味が良く分からなかったのですが…

LOCALS = LOCAL
    ↓
LOCALS = {LOCAL}


もしも

LOCAL = LOCALS ならば
    ↓
LOCAL = TOINT(LOCALS)

とかじゃ駄目なんでしょうか

424名無しさん:2012/08/11(土) 20:04:07 ID:Pqf/ECGk0
>>423
ああ、TOINTが欲しい命令とぴったり一致してました…。
WIKIの命令の所に載ってなかったので無いものと思い、、、式中関数の方に載っていたとは。お騒がせ致しました…。

425名無しさん:2012/08/21(火) 07:59:01 ID:LoZRyYFw0
おおついにセーブ可能な変数が
これでモジュール化が完全に行える
もし可能なら名前空間もあると嬉しいです。関数名の名前被りだけが厄介

426名無しさん:2012/08/24(金) 01:42:24 ID:EBtlxuOo0
1807+v7、1807+v8βでeratohoYM Mk-3改7.1を起動すると以下の警告が出て強制終了するのですが
これは今まで見逃していたバグが検知されるようになったということなのでしょうか?

警告Lv1:システム_イベント\PROLOGUE.ERB:150行目:解釈できない#行です
#LOCALSSIZE 3
警告Lv1:システム_イベント\PROLOGUE.ERB:178行目:解釈できない#行です
#LOCALSSIZE 1
警告Lv1:システム_メイン画面\PRINT_PALAM.ERB:52行目:解釈できない#行です
#LOCALSSIZE 21
警告Lv1:システム_メイン画面\SYSTEM_COLLECTION.ERB:676行目:解釈できない#行です
#LOCALSSIZE 1
ユーザー定義関数のリストを構築中・・・
スクリプトの構文チェック中・・・
非コメント行数:225598, 全関数合計:5330, 被呼出関数合計:2370
ロード完了
ERBコードに解釈不可能な行があるためEmueraを終了します
emuera.logにログを出力します

427妊)|д゚):2012/08/24(金) 01:51:49 ID:ir1nPzrw0
>>426
typoがあったので、v8βの方を更新しました

428名無しさん:2012/08/24(金) 01:55:35 ID:EBtlxuOo0
素早い対応ありがとうございます

429妊)|д゚):2012/09/05(水) 03:27:01 ID:HDQbgEPs0
・1807+v8
ttp://ux.getuploader.com/ninnohito/download/346/Emuera1807%2Bv8.7z

・修正等
○INPUT、INPUTS、ONEINPUT、ONEINPUTSに非入力時のデフォルト値を指定可能に

430名無しさん:2012/09/29(土) 02:46:34 ID:M.r.pFzM0
最近いじり始めて非常に初歩的な疑問なのですがwikiを見てもイマイチ掴めなかったのでお聞きします。

IF〜ENDIF や REPEAT〜REND 中にGOTO等で直接抜け出すのを時々見かけますが、
これは IF や REPEAT が残りっぱなしになるのでしょうか?

431名無しさん:2012/09/29(土) 08:35:46 ID:rNM7bHz60
>>430
残りっぱなしの意味がいまいち分かりませんが

リピート回数最大10回を想定し、特定条件を満たした時は途中でも処理を抜け出す
という場合、特定条件を満たした時にBREAK文やGOTO文、RETURN文を使って
ループ等を抜け出します
その場合は、ループ等は抜け出した段階(5回目で条件を満たした場合は5回)で停
止します

また、抜け出した後、再度そのループ処理の箇所が呼ばれた場合には、当然再度
ループが始まります

432名無しさん:2012/09/29(土) 13:54:29 ID:M.r.pFzM0
>>431
ありがとうございます
残りっぱなしになるか、はそのIFなりREPEATなりの(たいしたことない)メモリ消費がGOTOによって、通常の終端処理をなされずに占有したままになるか
つまりその処理を繰り返すと徐々に重くなっていくか、という疑問です

433名無しさん:2012/09/29(土) 14:03:34 ID:M.r.pFzM0
BREAKなら専用の命令で終端処理込みと予想されますが、RETURNやGOTOだと終端処理がなされると不具合が出る場合が多いので込みではないかなと
ループ実行時にはやや重くなりますが、何らかの変数にフラグを残しておいて、ループ終了後に終端処理のいらないSIFでジャンプしたほうが全体的な処理は軽くなるのかな?と思ったわけです

434名無しさん:2012/09/29(土) 20:40:40 ID:EkGobAXk0
皆様お疲れ様です

新しくバリアントを作り始めたものです.が、EMUERAについて質問があります。
今作っているものがドイツゲームの「ドミニオン」のようなデッキ構築戦闘を行うもので
デッキ用に用意したCFLAGとTCVARの操作にARRAYSHIFTとARRAYREMOVEを使用しているのですが
特にエラーは出ないものの、うまく動作していないようです。
そこで質問です。
CFLAGとTCVARにARRAYSHIFTとARRAYREMOVEを使うことはできないのでしょうか?

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

435名無しさん:2012/09/29(土) 20:52:00 ID:s6XwClpg0
>>434
ARRAYREMOVE CFLAG:ARG, RESULT, 1

上記のように記述されていますが
この手の変数を指定するタイプの命令では、第一フラグの第一引数で、対象のフラグを決定するんで
CFLAG:ARGだと(省略されたとみなされた)TARGETのCFLAGが操作されます
この場合はCFLAG:ARG:0とか記述しておけば大丈夫なはずです(第二引数はなに書いてようが読まない)

436名無しさん:2012/09/29(土) 21:00:53 ID:EkGobAXk0
大変早い回答有り難うございます
早速試してみます

完成できるといいな

437名無しさん:2012/09/29(土) 21:21:17 ID:EkGobAXk0
指摘していただいた方法で無事にデバッグすることができました
本当にありがとうございました

438名無しさん:2012/09/30(日) 15:03:03 ID:aNgzdUhM0
侵略じゃねぇだろ

439妊)|д゚):2012/10/01(月) 03:29:46 ID:bI/F4JF.0
・1807+v10
ttp://ux.getuploader.com/ninnohito/download/348/Emuera1807%2Bv10.7z

・修正等
@v9
PRINTDATA系命令にDATA等が与えられていない場合.Net例外が生じるのを修正

@v10
CSV○○系式中関数の最終引数を省略可能(省略時0)に
CALLLIST系命令のネスト対応エラーの表示で対応する命令が間違っていたのを修正

>>432
eraBASICの仕様から、
主にCALLよる関数呼び出し等一部の呼び出し処理以外で処理が内部でスタックされることはありません

440名無しさん:2012/10/01(月) 05:18:15 ID:6Ne2/9/o0
>>439
回答ありがとうございます
それでは抜け出し処理を普通に使っていくようにします

441Emueraの人:2012/10/22(月) 23:53:09 ID:Z8grBxe60
Emuera ver 1.808 beta001
ttp://era.moe.hm/cgi/era/upload.php?id=0000216

私家版を取り込んだ以外は大して内容は変わってませんがα版からβ版になりました
特に問題なければこのまま正式版になります

・1807+v10までの私家版の更新を取り込み
・ARG、ARGSまたはプライベート変数でない変数を関数の引数としたときには引数を省略できないように
 ・対応して互換性オプション「ユーザー関数の全ての引数の省略を許可する」追加
・ユーザー関数の文字列型の引数に数値が渡されたとき、自動で文字列型に変換していたのを止めた
 ・対応して互換性オプション「ユーザー関数の引数に自動的にTOSTRを補完する」追加

442妊)|д゚):2012/10/23(火) 04:57:45 ID:GCJLKVJk0
・1807+v11
ttp://ux.getuploader.com/ninnohito/download/349/Emuera1807%2Bv11.7z

・修正等
@v11
式中関数VARSIZEの引数を拡張し、多次元変数の任意の次元の要素数を取れるように拡張
書式:VARSIZE([対象変数名(文字列)] {, [次元指定]})
第2引数は省略可能で、その場合は最初の次元の要素数となります(既存の挙動)

443名無しさん:2012/10/29(月) 03:31:06 ID:WpN99CaI0
・1807+v12
ttp://ux.getuploader.com/ninnohito/download/350/Emuera1807%2Bv12.7z

・修正等
@v12
式中関数MONEYSTRの引数を拡張し、書式指定ができるように拡張
書式:MONEYSTR([数値] {, [書式指定文字列]})
第2引数は省略可能で、TOSTR()と同様の書式指定子となります

444名無しさん:2012/11/12(月) 02:11:08 ID:2zeQCQ5Q0
UNICODE(0x0000)をENCODETOUNIしたときに0が返ってくるから、式中関数版のENCODETOUNIで
空文字列が渡されたときに0が返ってくるとかだと区別付かなくなっちゃって困るなあ、と思っていたので
-1が返ってくるというのはいいなあと思った、という&Emueraの話。

445妊)|д゚):2012/11/15(木) 03:31:53 ID:9.WYbWQw0
・1807+v14
ttp://ux.getuploader.com/ninnohito/download/354/Emuera1807%2Bv14.7z

・修正等
@v13
○無頓着な配列コピー命令ARRAYCOPY実装
 書式:ARRAYCOPY <コピー元変数名>, <コピー先変数名>
 内容:コピー元変数の値をコピー先変数へコピーする
    型変数は型が同じで次元数が同じである必要がある
    また、キャラクター変数には非対応
    要素数が異なる場合はコピーできる分だけコピーする
○COLORBYNAME系命令のエラーハンドリング強化

@v14
○ENCODETOUNIの式中関数版を追加
 書式:ENCODETOUNI(<参照文字列>{, [対象文字位置]})
 内容:文字列の対象位置の文字をユニコードのコード値に変換して返す
    位置は省略可でその場合は0(先頭)を対象とします

446名無しさん:2012/11/19(月) 14:58:52 ID:53EplbA60
Emuera1807に関する質問です。
PRINTBUTTON 命令で変数が使えずに困っているのですが、
何か改善方法は無いでしょうか。

具体的には、以下のような動作になってしまいます。
記述:
A:1 = 100
PRINTBUTTON "[{A:1}選択肢]",A:1

出力結果:
[{A:1}]選択肢

ただし上記のボタンは機能しており、
クリック時にちゃんとRESULT = 100という結果を返してくれます。

Emueraに触れてからまだ日が浅いので、
何か見落としがありましたらご指摘お願い致します。

447名無しさん:2012/11/19(月) 15:05:55 ID:53EplbA60
>>446 に関する追記
Emuera1808beta および Emuera1807+v14
においてもEmuera1807と同様の症状を確認しました。

448妊)|д゚):2012/11/19(月) 15:08:23 ID:Jlb5YqRI0
PRINTBUTTON @"[{A:1}選択肢]",A:1

449名無しさん:2012/11/19(月) 15:36:45 ID:53EplbA60
>>448
迅速な回答ありがとうございます!
非常に初歩的な質問でお時間を頂いて申し訳ありませんでした。
EmueraWIKIで勉強し直してきます。

450名無しさん:2012/11/21(水) 20:55:44 ID:g/yyN7220
1.808 beta001のEmuera/Forms/DebugDialog.csの313行目
textBoxConsole.Height = ... の行に全角スペースがいます。

cscだと無害ですがmcs使うと怒られるので報告。

451Emueraの人:2012/12/23(日) 22:59:39 ID:sFFTrF4k0
Emuera ver 1.808 リリース
ttp://sourceforge.jp/projects/emuera/releases/

・1807+v14までの私家版の更新を取り込み
・ヘッダーファイル(.ERH)実装
 ・#DIM (GLOBAL SAVEDATA) による広域変数の宣言
 ・#DEFINE によるDEFINEマクロの定義
・#LOCALSIZE、#LOCALSSIZE、#DIM、DIMSのサイズ指定に定数式を許可。
・プリプロセッサ[IF XXX]、[ELSEIF XXX]、[ELSE]追加
・ARG、ARGSまたはプライベート変数でない変数を関数の引数としたときには引数を省略できないように
 ・対応して互換性オプション「ユーザー関数の全ての引数の省略を許可する」追加
・ユーザー関数の文字列型の引数に数値が渡されたとき、自動で文字列型に変換していたのを止める
 ・対応して互換性オプション「ユーザー関数の引数に自動的にTOSTRを補完する」追加
・SAVEVAR, LOADVAR, CHKVARDATA, SAVECHARA, LOADCHARA, CHKCHARADATAを関数名として予約
・REFを予約語に追加
・SKIPDISP命令をSIF文の直後に置くことを可能に
・セーブ関連のコード整理
・オプション「セーブデータをバイナリ形式で保存する」追加
・セーブをバイナリ形式で保存する場合にはセーブ可能な文字列型多次元配列を宣言可能に

>>450
修正しました

452妊)|д゚):2012/12/23(日) 23:36:31 ID:yyk0XSVE0
・1808+v1
ttp://ux.getuploader.com/ninnohito/download/355/Emuera1808%2Bv1.zip

・修正等
○GETPALAMLV、GETEXPLVの第1引数に数値自体を与えられるように変更
○文字列中の任意の位置の一字を取得する式中関数CHARATU追加
  書式:CHARATU(<対象文字列>, [取得位置])
  内容:指定した位置にある1文字を返す

453名無しさん:2012/12/24(月) 03:02:58 ID:UfPPCUFY0
Emuera ver 1.809 リリース
ttp://sourceforge.jp/projects/emuera/releases/

・1808+v1の更新を取り込み
・STRFIND及びSTRFINDUの第三引数に負の値を指定したときにエラーになる現象を修正
・エラーメッセージに実行ファイル名を表示するように変更

454名無しさん:2012/12/24(月) 11:50:13 ID:K0UgvWBc0
更新乙です〜

455名無しさん:2012/12/24(月) 14:06:30 ID:PM8mVNF20
新しいバリアントをプレイする際に各コマンドに一言だけでも
説明があればなぁ……と思ったので、欲しくなった機能を1つ。

現在のEmueraは、ボタン([0] はい などの部分)にカーソルを当てると
その部分の文字が黄色くかわりますが、
それの亜種という事で、カーソルを当てると文字が表示されるようにできないでしょうか。

PRINTEXBUTTON "ボタン表示名", "説明テキスト", クリック時に返す値

という感じでボタンを作ると、ボタンにカーソルを当てた際に
一番下の行に"説明テキスト"を表示するというようなイメージで。
ユーザー定義の式中関数を説明に指定できるとより良い感じ。

456名無しさん:2012/12/24(月) 16:43:58 ID:FtaVGQ3E0
更新乙です

457名無しさん:2013/01/24(木) 10:17:47 ID:RrxvC.Pg0
質問です
TALENT:xx やABL:xx がcsv上で定義されているかを調べる関数、または簡単に調べる方法って何かありますでしょうか?

458名無しさん:2013/01/24(木) 20:59:28 ID:qqkMJc2w0
GETNUM( TALENT, "xx" ) >= 0 ではないでしょうか

459妊)|д゚):2013/02/16(土) 07:18:20 ID:jRUk0KRM0
・1809+v5.1
ttp://ux.getuploader.com/ninnohito/download/367/Emuera1809%2Bv5.1.zip

追加されたものに関しての細かいところはreadme読んでねってところで
修正部分等の要点だけ
○全角数字で始まる変数名が警告対象になってしまっていたバグを修正
○TONEINPUT系が処理の負荷等の関係ですでにテキストボックスに文字列があった場合、最初の入力では無くそれを処理してしまうのを修正
○いくつかの非効率な処理の修正、一部命令と式中関数がちょっと速くなりました

460名無しさん:2013/02/28(木) 13:19:40 ID:0uUXEoQA0
1809+v5.1に関する報告
TONEINPUT命令実行時にすでにテキストボックスに数字が表示されているとき、
入力内容を訂正しようとしてBACKSPACEを押すとエラー警告が出現します。
TONEINPUTの処理の直前にテキストボックスを埋めてしまうと、
BACKSPACEを押した際に必ず警告が出ます。

エラー内容:
アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。

この警告に対して「続行」を選択すると以降は何事も無かったかのように動作しますが、
次回起動時に同じ状況が再現されると、再び同様の警告が表示されます。


要望:
「テキストボックス内を強制的に空文字列にする命令」
もしくは
「引数が0でない限りテキストボックスへの入力を禁じる命令」
などの実装は可能でしょうか?
検討をお願い致します。

461妊)|д゚):2013/03/01(金) 02:21:35 ID:AODoUaVU0
・1809+v6
ttp://ux.getuploader.com/ninnohito/download/368/Emuera1809%2Bv6.7z

>>460
エラーについては何が起きてるか大体予想がついたので直しました
要望については、前者は特に大きな問題もないので実装しました

462名無しさん:2013/03/04(月) 09:49:15 ID:KpnnX3eg0
>>461
1809+v6においてエラーが修正されたのを確認しました。
遅くなってすみませんが、対応&機能実装ありがとうございます。

463妊)|д゚):2013/03/14(木) 02:55:53 ID:YUyz.JX.0
・1809+v7.1
ttp://ux.getuploader.com/ninnohito/download/370/Emuera1809%2Bv7.1.7z

○PRINTCの既定文字数を返すPRINTCLENGTH()追加
○PRINTDATAの非表示文字列返し版STRDATA追加

464名無しさん:2013/03/19(火) 23:56:10 ID:ngTNTDg20
Emuera1809+v7.1で多分バグだと思われるエラーがでたので報告です

PRINTFORMW 「この格好、すごく恥ずかしい……///」
このような文章を書くと、
・エラー内容:キャラクタ配列変数NAMEの第1引数(-1)はキャラ登録番号の範囲外です
・「この格好、すごく恥ずかしい……%NAME:(番号)%」
バリアントを問わずに上記のエラーが発生します

465名無しさん:2013/03/20(水) 00:02:09 ID:xAZCqOaE0
追記
「///」が「%NAME:ASSI%」と解釈されるようです

466名無しさん:2013/03/20(水) 00:04:58 ID:AVjeslQ.0
eramakerの元々の機能を再現しているだけないのでバグじゃないですよ

467名無しさん:2013/03/20(水) 09:36:55 ID:xAZCqOaE0
>>466
そうだったんですか?
wikiを見ても載っていなかったので、バグかと思いました
一応ソースコードを見ましたが、記号展開は仕様だったんですね
ありがとうございました

468妊)|д゚):2013/03/30(土) 02:22:20 ID:V58JKfys0
・1809+v8.3
ttp://ux.getuploader.com/ninnohito/download/377/Emuera1809%2Bv8.3.7z

もっぱらバグ修正やエラーハンドリングの強化
1つだけ追加があるけど、バリアント作者向けの機能追加なので、興味ある方だけreadmeでご確認ください

何か大きな問題でも出なければこれが1809系列最後になると信じたいところ

469名無しさん:2013/04/14(日) 00:16:22 ID:IpdNf9r.0
開発お疲れ様です。
なにぶん.NETには無知なもので、要望だけで恐縮なのですが。

【要望】
 CSVファイルを(キャラやCSV変数としてではなく)文字列としてそのまま読み込めるようにして欲しい。

【意図】

 例えば、EmueraでRPGを作るため、スキル・装備品・ダンジョンなどのデータを大量に用意する場合を考えます。
 もしくは国家運営SLG(と調教)でもいいし、謎解きメインの推理型ADV(と調教)でもいいですが。
 
 そういう多彩で巨大なデータの塊を用意する場合、ERBに定数・文字列をベタ書きせざるを得ない場合が多々あります。
 定義した後のデータ処理は #DIM、#DIMS でどうにでもなりますが、初期値についてはどうしてもベタ書きになります。
 性質次第では既存の変数の使い回しでどうにかできるでしょうが、それも可読性を考えると限界があります。

 要するに、10万行のテキストのために計10万行のERBや要素数10万のSTR変数を用意するのは避けたい、という事です。
 可能なら、その類のデータは全て整理整頓した上でCSVフォルダに並べておきたい。

【素案】
 命令:FILEREAD <文字列式>, <数式>, <数式>
   CSVフォルダ以下にあるCSVファイルを直接呼び出し、その文字列をRESULTS:0に代入します。
   第一引数でファイル名(拡張子は含まない)、第二引数でレコード(行)、第三引数でフィールド(列)を指定します。
   行列はそれぞれ0から始まり、存在しない位置の項目が指定された場合は""を返します。

 式中関数:str FILEREAD(str filename, int record, int field)
   同名の命令と同じです。CSVフォルダ以下にあるCSVファイルの記述を直接呼び出してその値を返します。
   filenameでファイル名(拡張子は含まない)、recordでレコード(行)、fieldでフィールド(列)を指定します。
   行列はそれぞれ0から始まり、存在しない位置の項目が指定された場合は""を返します。

470妊)|д゚):2013/04/28(日) 18:46:44 ID:9uuZGHn60
・1809+v8.6
ttp://ux.getuploader.com/ninnohito/download/381/Emuera1809%2Bv8.6.7z

今回ももっぱら細々した修正がメイン
追加は以下のみ
○CALLTRAIN系命令の自動処理をスクリプト側から停止できるSTOPCALLTRAIN追加

471名無しさん:2013/06/03(月) 22:53:44 ID:tA8Vm3ps0
ある数値型変数(一文字変数とかCFLAGとか)で範囲指定して最大/最小のものの配列番号を返す命令または式中関数
というリクエストはアリですか?
MAXARRAYやMINARRAYくらいには需要もあるだろうと思っていたのにWikiみたら無かった……

472名無しさん:2013/06/05(水) 20:31:41 ID:howz2GcM0
>>471
私もほしいです。

ARRAYCOPYのキャラ型変数対応も、要望してよいでしょうか。

473名無しさん:2013/06/09(日) 01:26:48 ID:sKyS4dZ20
他関数のLOCALをLOCAL@関数名で参照するとLv1の警告を吐くんですが
機能としては存在するけど実際に使うとエラー扱いというのはどうなんでしょう
使い方によってはとても便利なんで積極的に使いたいんですが

474名無しさん:2013/06/09(日) 12:55:26 ID:x6e3yJcc0
もともとデバッグ機能用であまり蔓延らせるのは非推奨な書き方だからだったか
デュラムセモリナのごとし

475名無しさん:2013/06/09(日) 20:35:11 ID:ggRlO19M0
>>473
現行ではデバッグウィンドウ専用じゃなかったっけ

476Emueraの人:2013/06/09(日) 21:25:39 ID:v..Hz1lA0
>>469
csvフォルダは起動時に一度のみ読んで後は触れないという設計なのでERB中でcsvを読むのはあんまりやりたくないです
ただデータの保存と読み込みについてはちょっと考えてるので次のバージョンをお待ちください

>>471
個人的にARRAY系はあんまり増やしたくないです
できればERB内でFOR-NEXTなどを使って実現してください
ループで回すと実用的でないほどに時間がかかってしまうというのであれば考えます

>>473
その機能はobsoleteです
*.ERHによりどこからでも参照・変更できる変数が宣言できるのでそちらを利用してください

もともと、LOCAL@関数名による参照はデバッグ専用に作ったものです
ローカル変数の利点を殺すものなのでERB内で使うことは想定されていません
今では本来はエラー終了とすべきところ、互換性維持を目的として警告を出しながら動作させています

477471:2013/06/09(日) 21:49:21 ID:aZ2ZVflM0
>>476
そうですか……残念です
あったら便利だろう、程度でしたのでリクエストは取り下げることにします

478473:2013/06/10(月) 01:13:11 ID:xGEWmokU0
>>476
承知しました
そちらを使ってみます

479Emueraの人:2013/06/17(月) 01:01:31 ID:e2eizX4M0
Emuera 1.810 リリース
ttp://sourceforge.jp/projects/emuera/releases/

* 1809+v8.7までの私家版の更新を取り込み
その他、
・オプション「イベント関数のCALLを許可する」「FORM中の三連記号を展開しない」追加
・関数の引数の参照渡しを実装
・#DIM(S)宣言に初期値を定義可能に、またCONST属性の追加
・SAVECHARA系命令によるキャラデータの保存と読み込みを実装
・HTML_PRINT系命令によるhtmlに似た構文でのPRINTを実装
・1つの文を複数行にまたがって書くための行連結記号を実装
・その他不具合修正など

※注意※
1810ではMOUSESKIP()関数を使用している箇所で警告Lv1が出るようになります。
該当箇所のMOUSESKIP()をMESSKIP()に置き換えてください

480名無しさん:2013/06/17(月) 01:15:27 ID:e2eizX4M0
1810の追加機能について簡単な説明をアップしました
ttp://era.moe.hm/cgi/era/upload.php?id=0000757

これまでにEmueraについて要望・質問したのに反応のない事項等ありましたらお手数ですが再度お願いします

・要望されてもできないこと
>>6に追加
・バリアント型変数(整数でも文字列でも代入できる変数)
ERBでは文法上不可能です
ERBでは例えば、
 HOGE = 2 + 2
の右辺値が数式「2+2」なのか、文字列"2 + 2"なのかはHOGEの型によって決まります
型が未定・可変の変数に何かを代入する操作はERBでは実現できません

481名無しさん:2013/06/17(月) 04:30:59 ID:99OdJOFc0
乙です

482Emueraの人:2013/06/17(月) 22:06:33 ID:e2eizX4M0
Emuera 1.811 リリース
ttp://sourceforge.jp/projects/emuera/releases/

・HTML_GETPRINTEDSTRでボタンの選択中カラーが正常に取得できない不具合を修正
・RESTART命令がデバッグコマンドで使用可能だった不具合を修正
・キーボードマクロを120個まで拡張
 Ctrlキーを押しながら数字の0〜9キーを押すことでマクロのグループを切り替えることができます
 グループ0のF1〜F12とグループ1のF1〜F12には別のマクロを記憶させることができるので合計で120のマクロが記録できるようになります
 入力ボックスでマウス右クリック時に出るコンテクストメニューからも変更できます
 ※Emuera起動直後はグループ0が選択されています

※注意※
1810以降ではMOUSESKIP()関数を使用している箇所で警告Lv1が出るようになります。
該当箇所のMOUSESKIP()をMESSKIP()に置き換えてください

483名無しさん:2013/07/11(木) 23:40:44 ID:3W08yYFs0
Emuera 1.813 リリース
ttp://sourceforge.jp/projects/emuera/releases/
・キャラ変数の宣言の追加
・ButtonへのToolTipの追加
  HTML_PRINT命令の<button>タグにtitle属性を指定することでツールチップを表示できます
  TOOLTIP_SETCOLOR命令、TOOLTIP_DELAY命令の追加
  COLOR_FROMNAME(str)関数、COLOR_FROMRGB(int,int,int)関数の追加
・macro.txtを編集することでマクログループを変更したときの表示文字列を変更できるように
・文字列式を用いた文字列変数への代入演算子 '= を追加
その他細かい修正

更新内容の詳細は
ttp://sourceforge.jp/projects/emuera/wiki/history
その解説は
ttp://era.moe.hm/cgi/era/upload.php?id=0000817
を参照してください

※注意※
1810以降ではMOUSESKIP()関数を使用している箇所で警告Lv1が出るようになります。
該当箇所のMOUSESKIP()をMESSKIP()に置き換えてください

484名無しさん:2013/07/12(金) 01:30:44 ID:xq2Ll7YQ0


485Emueraの人:2013/08/05(月) 22:00:57 ID:HVqaTMlI0
Emuera 1.814 リリース
ttp://sourceforge.jp/projects/emuera/releases/
・多次元変数の通常省略できない要素が省略された場合のエラーを修正
この修正により
VARSET TA
など、一部の関数においては多次元変数の要素を省略した表記が可能になります

※注意※
1810以降ではMOUSESKIP()関数を使用している箇所で警告Lv1が出るようになります。
該当箇所のMOUSESKIP()をMESSKIP()に置き換えてください

486名無しさん:2013/08/06(火) 09:59:20 ID:Rn0vCGFA0
乙です

487sage:2013/08/08(木) 02:21:02 ID:oUVb3SkM0
乙です

488妊)|д゚):2013/08/25(日) 05:56:05 ID:dOgnDyoo0
大きな修正ではないが、さくっと直せるものなのでさくっと

・1814+v1
ttp://ux.getuploader.com/ninnohito/download/385/Emuera1814%2Bv1.7z

・修正等
@v1
○マクロ処理のコード変更が原因で、マクロが有効な場合
 ファンクションキー絡みのOS側のショートカット(具体的にはAlt+F4)が
 機能しなくなっていたエンバグを修正

489妊)|д゚):2013/08/29(木) 15:48:39 ID:Je02saeA0
特定のコードでは意外とパフォーマンスに影響出そうな感じなのでさくっと

・1814+v2
ttp://ux.getuploader.com/ninnohito/download/386/Emuera1814%2Bv2.7z

・修正等
@v2
○CSVCSTR以外のCSV文字列取得関数が定数項展開をサボるバグを修正

490名無しさん:2013/08/29(木) 19:02:08 ID:ZZRul9rE0
DELCHARA 10,11,12
ってすると、10,12,14番目のキャラが消えるのは仕様?
10削除して詰める→11(詰める前は12)を削除、みたいな動きしてて、
10〜12番目を消したい時は
DELCHARA 10,10,10 か 12,11,10
ってやらないとダメっぽい。

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(省略可)

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

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

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

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