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

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

1Emueraの人:2010/11/23(火) 01:41:51 ID:mrlVhh/.0
このスレはEmuera(エミューラ)に関する話題を扱うスレです。
Emuera本体に関する要望・バグ報告などありましたらこのスレでどうぞ。
各ERBスクリプトに関する話題はそのバリアントのスレでお願いします。

なおeramakerの作者である佐藤敏様はEmueraの製作には関与していません。
Emueraへのサポート要求等をサークル獏様や佐藤様宛てに送らないで下さい。

2Emueraの人:2010/11/23(火) 01:43:03 ID:mrlVhh/.0
スレ立てました。ボチボチよろしく。
このスレのほか、irc.2ch.netの匿名チャンネル&Emueraにも顔を出してます。
メールでの報告も受け付けております。

SourceForge.JPに作成したEmueraのページ
ttp://sourceforge.jp/projects/emuera/

妊)|д゚)の中の人による私家改造版はこちらのeraスレうpロダから
ttp://www40.atwiki.jp/eratohogentleman/pages/21.html

3妊)|д゚):2010/11/23(火) 05:32:51 ID:qesv9OqM0
[私家改造]Emuera1738h以降、Emuera1752以前のEmueraにショートカットキーのハンドリングに関する不具合がありました。
条件次第ではクリップボードの判定をすり抜けて、
ファイルがEmueraのインプットボックスにペーストされたり、クリップボードの中身によってはフリーズする場合もありました。

[私家改造]Emuera1752aでこの問題は解決されました。

4名無しさん:2010/11/23(火) 11:12:21 ID:.iJGGN.Q0
スレ建て乙であります。

要望もおkなら要望させてもらいます。

【要望】
・フォントサイズの変更
 現状のフォーマットを維持しつつ、一部だけフォントサイズを変えたい

【使用例】
・小声や大声の視覚的演出
 ツンデレキャラへのイジリ口上等

・表示情報が大きいモノへの更なる拡張
 ダンジョン系や紅魔館の地図表示等


フォント変更や色変更はあるのに、サイズ変更が無いっぽいので。
よろしくお願いします。

5Emueraの人:2010/11/23(火) 21:08:26 ID:mrlVhh/.0
>>4
フォントサイズの変更は難しいです。

特に、一行の高さ(config項目)よりフォントサイズを大きくする命令はまず無理です。
Emueraは一行の高さが一定である前提で描画処理をやってるのでそのような命令の実装に
は描画処理の全面改装が必要になります。

サイズを小さくする方でもいくらか描画処理を書き直す必要があります。
これ以上描画処理が遅くなるような方向の変更はしたくないので消極的です。

6Emueraの人:2010/11/23(火) 21:16:37 ID:mrlVhh/.0
要望されてもできない、やらないことリスト

・マルチメディア対応
Emueraは画像、動画、BGM、音声の表示・再生には対応しません。
Emueraを画像表示等ができるように改変し再頒布することは自由ですが、
その際には混乱を避けるためEmueraという名前を使わないでいただけると幸いです。

・後方互換性を失う変更
Emueraの過去のバージョンで動作したものが動作しなくなる、または動作が変わる変更はしません。
eramakerとの相違点をこれ以上増やす変更についても同様です。
バグ修正(eramaker側に仕様を合わせることを含む)はこの例外です。

・任意のファイルにアクセスできる関数・命令
SAVEDATAやOUTPUTLOG命令で任意のファイル名を指定できるようにするような変更はしません。
OUTPUTLOG "C:\\windows\\system\\重要そうなファイル"
などの危険な動作を防ぐための処理を加える必要があり、Emueraのちょっとしたバグが
重大なセキュリティホールにつながる可能性があるからです。

・フルスクリーン表示、起動後のウインドウ横幅変更
これらは現在の描画処理を大幅に書き換える必要のある変更です。
対応する予定はありません。

7名無しさん:2010/11/24(水) 19:43:36 ID:RCyhW9fI0
>>4です。

一部のフォントサイズを変えるだけで、全体の描画処理が遅くなるんじゃ仕方ないですね。
要望は取り下げます。

回答、ありがとうございました。

8Emueraの人:2010/11/24(水) 21:29:25 ID:H2.3yh7I0
Emuera ver 1.753 リリース
ttp://sourceforge.jp/projects/emuera/releases/

VariableSize.csvでPALAMとPALAMNAMEをリンクしないようにしました。
新規オプションを追加しました
 「擬似変数RANDの仕様をeramakerに合わせる」
 「DRAWLINEを常に新しい行で行う」
一部の処理を高速化しました
 変数の代入・参照
 SELECTCASE処理
一部のエラーメッセージを修正
 変数の引数解析時のエラーの誤字修正
 式の解析時のエラーメッセージを改善

今回の更新により、
SELECTCASEはCASEが多い場合にはIF-ELSEIFよりも速くなります。
式の解析時の「予期しない識別子」というエラーが「式の解析中に予期しない文字'X'を発見しました」に変わります。

また今回の更新中の中で、
擬似変数RANDに関するオプションは擬似変数RAND:Xに対してのみ有効です。式中関数RAND(X)には影響しません。

9Emueraの人:2010/11/25(木) 23:22:12 ID:MI/eSM2.0
Emuera ver 1.754 リリース
ttp://sourceforge.jp/projects/emuera/releases/

・1753bまでの更新を取り込みました
・デバッグモードの変数ウォッチで式中関数を追加した時のバグを修正

10名無しさん:2010/11/27(土) 22:45:58 ID:UTFrwJfQ0
初歩的な質問で悪いのですが、Emueraでマクロの登録の方法はどうすればいいのでしょうか?

11Emueraの人:2010/11/28(日) 00:17:21 ID:V1v/AckA0
>>10
Shift+F1〜F12キーで現在の入力内容を登録します
F1〜F12キーで登録内容を呼び出せます
うまくいかない場合、コンフィグの「環境」タブの「キーボードマクロを使用する」が有効になっていることを確認してください。

1210:2010/11/28(日) 13:28:39 ID:Fw7CxD/w0
>11
無事出来ました。ありがとうございました

13era☆staR製作者:2010/12/02(木) 21:10:38 ID:A7M18Un20
夜分失礼します。

最新の[Emuera1755]で[era☆staR]を起動させた所、表示に不具合が出てしまっています。
自分が弄った成果も知れないと思い、念の為に[eraSQR]にも[Emuera1755]を導入してみた所、全く同じ不具合が発生しています。
古い[Emuera]が入っていた旧バージョンの時には無かった不具合だったので、
どこからおかしくなっているか調べた所、[Emuera1740]までは大丈夫でしたが
[Emuera1750]から表示がおかしくなっています。
その文は[Str.csv]の
"\@ TALENT:MASTER:121 || TALENT:MASTER:122 ? ペニス # クリトリス \@を感じさせた"です。

正常な場合は"ペニスを感じさせた"と表示されます。

どうしてこうなったかは[Emuera]に触れた事の無い自分には原因が分かりません。
その時のログをeraスレロダに[era4898.zip]でアップロードしました。
ご確認願います。

14Emueraの人:2010/12/03(金) 02:57:21 ID:LBIwb9SA0
>>13
これは1740bのPRINTFORMSのエスケープ文字の扱いの変更に起因するものです。
IRCで妊)|д゚)の中の人に報告しましたので次のバージョンで対応されるでしょう。

とりあえずはstr.csvの
1303,\@ TALENT:MASTER:121 || TALENT:MASTER:122 ? ペニス # クリトリス \@を感じさせた
の行を
1303,% TALENT:MASTER:121 || TALENT:MASTER:122 ? "ペニス" # "クリトリス" %を感じさせた
としておけば最新Emueraでも過去のEmueraでも同じ動作になります。

16era☆staR製作者:2010/12/03(金) 17:27:30 ID:5K6Xe5vc0
>>14
返答ありがとうございました。

17妊)|д゚):2010/12/05(日) 00:54:54 ID:GCI/Y0LI0
ちょっとβテストの告知

現在、私家改造の方でスクリプト処理の高速化をターゲットに作業中で
現在、その作業中バージョンのβテストを行っています

今後のバージョンのベースになる関係上、
なるべく今のうちに問題を洗い出したいというわけで
多くの方に(及びバリアントで)動作をチェックしていただければと思います
開発中バージョンは>>2のリンクがある自分の手持ちのアップローダに置いてあります

試した際に問題等が見つかりましたら、ここかIRCに報告ください

18名無しさん:2010/12/05(日) 02:11:38 ID:pc6wP0RI0
era4880.zipに含まれている「1755beta001」の事で良いですか?<β版

eraWizに使ってますが、今のところ不具合などは発見できません。
何か気付いたらお知らせします。

19名無しさん:2010/12/05(日) 02:49:44 ID:09xaFRi.0
>>17
いつもお世話になっております

ロダは妊)|д゚)のファイル置き場、の方でしょうか?
>>2のリンクからはeraスレうpロダ、けだま、パチュ、ちるロダにしか行けないようです

とりあえず1755a(12/04 21:18)でeraMegatenでの基本的な挙動を確認してみましたが、
今の所Emuera側の不具合は発見していません。

20妊)|д゚):2010/12/05(日) 03:26:34 ID:GCI/Y0LI0
おおっと、直のリンクはなかったか

というわけで自分持ちのロダです
ttp://ux.getuploader.com/ninnohito/

21名無しさん:2010/12/05(日) 22:42:37 ID:sZlaidFI0
>>20
ここのロダの最新(135番)のでテストしてみました
体感で20%ぐらい速くなっているのですが、ERBの読み込みがかなり遅い気がします

22妊)|д゚):2010/12/06(月) 00:46:22 ID:nQmid.zo0
>>21
ERB自体の読み込み速度はほとんど変化していないはずで、
(この部分には手を入れていませんので)
時間がかかっているのはその後の構文解析の方になります

こちらはスクリプト実行の高速化と完全に天秤になる部分になります
(スクリプトで遅くなる部分を解析部分に押しつけてる形で高速化の一部を実現している関係上避けられない問題です)
読み込み時の構文解析をOFFにする等で低減はされるかと思います
(この場合各コード最初の実行のみわずかに遅くなります)

23妊)|д゚):2010/12/06(月) 01:47:12 ID:nQmid.zo0
一応手を入れた解析部分について再度見直して手入れしたものを上げました
おそらく劇的な改善はないとは思いますが、試していただければと思います

2421:2010/12/07(火) 21:28:38 ID:50obpG4s0
この時刻での最新(143番)で試しましたが、1755→1755aのような劇的な変化は感じられなかったです
読み込み時間もそれほど変化は無いように思います

25Emueraの人:2010/12/08(水) 20:06:47 ID:Nyak82Eg0
1756(or 1760)予定
多分やるリスト
・n進数文字列への変換関数CONVERT
  CONVERT(A, 2) でAを2進数で表現した文字列を返す。2、8、10、16のみ対応
・FORM展開関数STRFORM
  STRFORM(STR) でSTRをPRINTFORM系命令と同様に展開した文字列を返す

やりたいリスト やりたいだけでやるとは限らない
・_define.csvで#define的なことをやる
  #DEFINE DEF_TEST1 123 と書かれたとき、ERB中でDEF_TEST1を定数123と同様に扱う
  #DEFINE DEF_TEST2 A と書かれたとき、DEF_TEST2:100 をA:100と同様に扱う
  #DEFINE DEF_TEST3 (A + ABS(X)) のような形で式に置き換えることも可能にする
  #DISABLE A と書くとERB中でAを直接呼ぶとエラーになる
  _define.csv内でDIM VAR_TEST,100 で要素数100のVAR_TESTという変数が定義される
・.ERB中でのLOCAL@関数名を警告対象に
  とりあえず警告LV0で。変数定義さえできれば完全に不要なはず
・privateなローカル変数
  .ERB内でDIM PL_TEST, 100 と書くとその関数内でのみ使えるPL_TESTという変数ができる
・式中関数のCALLFORM的な何か
  @FUNC_TEST[0](ARG,ARG:1) @FUNC_TEST[1](ARG,ARG:1)……などを定義しておいて、
 A = FUNC_TEST[N](X,Y)という形で呼ぶ
・デバッグモード拡張
  DEBUGWAIT命令 デバッグコンソールへの入力を求める。メインコンソールは入力不可。
  ステップ実行。DEBUGWAITによって表示を乱さずに実行できるはず
  変数ウォッチを見ながらコンソールに入力とか出来るようにしたい
  デバッグ用のコンフィグ設定を通常のコンフィグから分離しdebugフォルダへ
・コード整理
  式の字句解析と構文解析の分離 ERB中で変数定義するならほぼ必須

やっちまったリスト なんとかする
・「大文字小文字の違いを無視する」関連
  eramakerは命令と変数については大文字小文字を区別しないが、
  関数名・属性(性質)については大文字小文字を区別する
  Emueraではコンフィグで変えられるが一括でしか変わらない
  →互換性オプション追加する
・デバッグコンソールがずれる
・SIFで飛ばしてはいけない行が飛ばせる
・綴りミス #FUCNTION、defalut

26名無しさん:2010/12/08(水) 21:08:08 ID:50IEZncw0
>>25
キャーEmuの人ーステキーダイテー!

鼻血が出そうなくらい期待させていただきます。
特に変数定義とprivateな変数を。

27Emueraの人:2010/12/09(木) 18:55:45 ID:C4ll0aHw0
「式の字句解析と構文解析の分離」がやりたいリストからやっちまったリストへ昇格
現在のEmueraは A:("(" == "(") = 0 を正しく理解できない

またeramakerはA = 1+-10 をきちんとA = 1 + (-10) と解釈しているように見える
今のEmueraは"+-"という演算子と思い込んでエラーを吐くので修正が必要

STRFORM()は見送り。多重展開に耐える賢いエスケープ処理が思いつかない
現在のエスケープ処理の仕様だとPRINTFORMSLで%を表示させるのが難しい
昔はPRINTFORMSL "\\\%"でできたが今は"\%"も"\\%"も"\\\%"も
「'%'が使われましたが対応する'%'が見つかりません」になる
あえて書くなら PRINTFORMSL "%\"\%\"%" となる
どんな文字でもエスケープできて直感的にわかりやすく煩雑でなく多重展開に耐えるエスケープ処理が欲しい

2821:2010/12/11(土) 20:44:44 ID:sFYLHgBk0
この時刻での最新(157番)で試しました。
凄い速くなってますね。ERBの再読み込み等を加味しても、非常に良い感じだと思います

29妊)|д゚):2010/12/12(日) 05:48:36 ID:fy3pDClY0
1755aをようやく正リリースにこぎつけてすぐですが、いきなり1755bへ
[私家改造]1755b
・1755aの改造で特定書式のコードがEmueraのエラーを誘発しうるのを修正
・内部処理の手入れで表示長指定付きのFORM構文の若干の高速化

30sage:2010/12/12(日) 12:40:27 ID:dBDVuIxo0
Emuera開発お疲れさまです。

機能拡張のペースが凄いですね。
旧来の関数であれこれ小細工をして実現していたのが
新関数で簡単にできるようになって助かります。
これで変数定義まで入ったらさらに別次元になりそうだ。

それはさておき、要望を一点挙げさせていただきます。

【要望】

  CLEARLINE 関数の機能拡張、または上位関数の実装

【経緯】

  公開はしていませんが、手元でちまちまと触っているもので
  CLEARLINE を使った書き直し描画を多用しています。
  ゲーム内ヘルプやリアルタイム描画もどきの用途です。

  で、現状の CLEARLINE では消す行数を数値指定する仕様ですが、
  これだと実質的に表示行数を決め打ちするしかありません。
  (任意の出力行数を正確に追うのが現実的ではないため)

  CLEARLINE が想定しているであろう用途を考えれば
  現行のその仕様でまったく当たり前の話なんですが、
  「現在地をマークして、そのマークした行までを消す」
  みたいな処理ができればいいな、と。

【素案】

  ANCHORLINE [0-9]
  CLEARTOANCHOR [0-9]

  ANCHORLINE [アンカー番号] で現在の行をマーキングし、
  CLEARTOANCHOR [アンカー番号] でその行までをクリアする。

  100行も出ないシステムで10個もアンカー打つことはあり得ませんが、
  1個だと心許ないので仮に[0-9]としました。
  実際に使う場合は2〜3個程度あれば十分だと思います。

31名無しさん:2010/12/12(日) 12:42:00 ID:dBDVuIxo0
わお。久々にsage間違いやらかしてしまった。すんません。

で、要望だけではアレなので自分なりにコードを追って考えてみました。
C# はあまり知らないので、頓珍漢なことを言ってたら申し訳ないです。

【実装案】

  EmueraConsole.cs 850行前後
  記録用配列を定義 (例:anchors[10]) 初期値は -1 を与える
  ANCHORLINE 命令により該当スロットに 0 を代入

  addDisplayLine 関数で新しい行が追加される際、
  その行が temorary でなく、かつ論理行であるならば
  anchors 配列内の -1 でない要素をインクリメント

  増やした後の値が最大保持行数または lineNo を超えていたら
  lineNo と同じ値に制限 (または -1 としてそのアンカーを破棄)

  deleteLine 関数では、delNum++ を行っている if ブロック内で
  逆の処理 (-1 でない要素をデクリメント) をする
  減らした後の値が 0 未満であれば -1 としてアンカーを破棄
  (この自動破棄が起こらないようにするのはスクリプト側の裁量)

  CLEARTOANCHOR 命令では、単純に該当アンカー番号の中身を見て
  -1 であれば無視またはエラーを表示、0 ならば何もしない、
  それ以外であればその値の回数だけ deleteLine を発行……
  としてしまうと↑のデクリメント処理が被って宜しくないので、
  その処理がない deleteLine 関数 (つまり現在あるそのまま)
  を専用に用意してそれを使う

……と、こんな感じならコードへの変更も最小限に済む……といいな。
既存の CLEARLINE と共存するために deleteLine 関数を
複製することになるので、あんまりスマートではないですが。

どうぞご検討のほど宜しくお願いします。

32Emueraの人:2010/12/12(日) 14:41:58 ID:ZsuSLeMI0
要望は把握しました。
ただ、限られた用途のために複雑な命令2つと記憶領域を使う仕様は好ましくないと考えます。
例えばこれまでにPRINTした行数を返す関数or変数 LINECOUNT(仮名)ではどうでしょうか。

LINECOUNT(仮名)は起動直後から改行(ウインドウ幅による改行を含まない)のたび+1、
CLEARLINEした数だけ-されます。
ログバッファー(標準5000)をあふれたことによる削除によっては変動しません。

使い方としては
ANCHORLINEの代わりに任意の変数にLINECOUNT(仮名)の値を記録し、
CLEARTOANCHORの代わりにCLEARLILE (LINECOUNT(仮名)- 記録した値) となります。

これでよければ1756で実装します。

3330:2010/12/12(日) 22:09:25 ID:CzghB6Kg0
なるほど、その方が実装がシンプルでいいですね。流石。
その方向での実装を是非お願いします。

>複雑な命令2つと記憶領域〜

記憶領域、というのは anchors[10] のことでしょうか。
ERB側でバンバン変数を作ってる言語なので
てっきりその辺りは気にしていないものかと……。

と、いうとこまで書いて思い出しましたが、
確か何処かで(IRCのログ?)LOCAL や LOCALS に使ってる領域も
量的にかなりのものになってるみたいな話を読んだことがあったような。

もし何かの助けになるのであれば、#FUNCTION のような関数修飾の形で
#NOLOCALVARS みたいなローカル変数不要宣言があってもいいかもしれません。

DIM XXXX の形で自由定義ができるようになれば
LOCAL や LOCALS 自体デフォルト提供でなくてもよさそうですが、
それだと現在出回ってるスクリプトがほとんど要改修になっちゃうか。

ともあれ、要望受諾ありがとうございました。

34妊)|д゚):2010/12/13(月) 00:49:32 ID:8zulkUiE0
>>33
LOCAL系は必要となった時点で初めて領域を確保する実装なので、そこらへんを心配する必要はないです
その関数(イベント関数なら全部)内で使ってなければメモリを使うこともありません

3530:2010/12/14(火) 20:46:33 ID:hyfG1eS20
>>34

見てみたら、確かにそういう処理になってますね。
やっぱりコード読まないで喋っちゃだめだなぁ。

補足どうもです。次バージョン楽しみにしております。

36era☆staR製作者:2010/12/14(火) 21:47:34 ID:FzzpCVgA0
[Emuera1755f]で[era☆staR]を起動した際、
キャラメイク部分で止まってしまう不具合を見つけました。
なんだか、さらにひどくなっている様な気が・・・

多分、他の逆調教バリアントでも同じ事が起きると思われます。

eraスレうpロダの[era4939.zip]です。

37妊)|д゚):2010/12/14(火) 22:41:28 ID:vik4iW8k0
>>36
1755aでCALL、JUMPの高速化を行った時のエンバグだったので直して1755gをリリースしました

39名無しさん:2010/12/15(水) 20:05:20 ID:dlu2s8f.0
macro.txtに
 マクロキーF1:@PRINTFORM {DB:1:3}
と文を保存しても、 : (コロン)のせいか
 @PRINTFORM {DB
までしか入力されず、後は手動で入れなければならないのですが
なんとかなりませんでしょうか

40妊)|д゚):2010/12/15(水) 21:12:12 ID:7Yccslp60
>>39
macro.txtの読み込み処理の実装がファイル実装に適していなかったので、手を入れました(1755h)
処理的には相当古く(マクロ機能実装直後ぐらい)からあるはずのバグかもしれません
誰も気づいてなかったってのは、この機能の利用者の割合とその使い方上気づかれにくかったということですかねぇ

41妊)|д゚):2010/12/19(日) 07:24:21 ID:64CRrgrI0
1755a以降のJUMPの処理にまだ不具合があったので修正(デバッグモード+JUMPで例外落ち)(1755i)
1740bで手を入れた文字列三項演算子のパース処理にまだバグが残っていたので修正(eraSQNの特定文字列三項演算子が正しくパースされない)(1755j)

42妊)|д゚):2010/12/19(日) 23:59:32 ID:64CRrgrI0
1755i以降で特定状況下でのデバッグコマンドでの式中関数呼び出しが例外になるのを修正(1755k)

43妊)|д゚):2010/12/22(水) 03:06:02 ID:VaWp2lvQ0
色々regressionやらエンバグやら、誰も気づかずにここまで来たバグとか
ついでにコード整理でちょっとだけ高速化を企図してみたりとか
以上をまとめて1755lに

44Emueraの人:2010/12/23(木) 00:04:58 ID:PhprXR660
Emuera 1.756 alpha018
1755aベース、1755cをマージ。1755d以降は取り込んでいません。
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era4965.zip

これはベータ版未満のアルファ版です。
起動すると既存のコンフィグやセーブデータなどを破壊する恐れがあります。
使用前にバックアップを取ってください。

擬似変数LINECOUNT追加
式中関数CONVERT追加
プライベート変数追加(暫定版) 同梱のERBを見てください。
引数解析時に定数式を展開するように処理を変更
  > ABL:技巧 = CSVABL(0, GETNUM(ABL, "技巧"), 0)
  > ABL:2 = 2
  上の2行は同じ速度で動作するようになります。

互換性に「関数・属性については大文字小文字を無視しない」オプション追加
処理の変更に伴い「ロード時にFORM文字列を解析する」オプション消滅。
「eramaker互換性に関する警告を表示する」オプションをシステムから解析へ移動。
システムに「全角スペースをホワイトスペースに含める」オプション追加。
デバッグコンソールがずれる問題を修正
SIFで飛ばしてはいけない行が飛ばせる問題を修正
ソース内の綴りミスを見つけた分は修正

論理XORがオペランドを2回評価する場合があった点を修正。
SKIP中、TINPUT又はTINPUTSに遭遇したときに警告からエラーへ切り替え
EVENT関数中でのJUMPの動作をeramakerに合わせ修正
EVENT関数における#PRI、#LATER、#SINGLEの効果をeramakerにあわせ修正
IF文や代入文での引数の省略を警告対象に。eramakerでは動作が不定なため
識別子に.(ピリオド)を含められないように変更
\@〜?〜#〜\@形式の3項演算子で#が見つからない場合を警告対象に

その他、コードの大幅な改変

46名無しさん:2011/01/02(日) 08:15:29 ID:l7VkLdLA0
>>44
Emueraベンチで試してみました
超速い!

47名無しさん:2011/01/02(日) 15:39:12 ID:qbQqCbkY0
速いと聞いてemueraベンチ試してみた!

すげぇ
1555nと比べて、全般的に速くなってて・・・
演算系/STRLEN系/IF文だと2倍くらい速いしwww

1555n自体、素の1555よりかなり高速化されているのに
それより速いんだもんなぁ・・・

でも、一番驚いたのは「#DIM」の存在だったりw

48名無しさん:2011/01/02(日) 18:10:35 ID:yMS/pL.20
>>44
同名の非イベント関数が複数定義されたとき警告する
をYESにしていると

予期しないエラーが発生しました
System.NullReferenceException:オブジェクト参照がオブジェクト インスタンスに設定されていません。
ERBコードに解釈不可能な行があるためEmueraを終了します

と表示されて落ちるようです

49名無しさん:2011/01/02(日) 18:46:37 ID:qbQqCbkY0
1555じゃねぇ1755だorz

50名無しさん:2011/01/11(火) 00:08:13 ID:ocof0LJU0
Emuera 1.756 alpha023
1755aベース、1755cをマージ。1755d以降は取り込んでいません。
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5012.zip

相変わらずベータ版未満のアルファ版です。
起動すると既存のコンフィグやセーブデータなどを破壊する恐れがあります。
使用前にバックアップを取ってください。

>>44以降の追加・変更点
chara*.csvの保持方法の変更。メモリ消費量を少し削減
>>48を修正しました
その他コード修正

正式版を名乗るまでにやること
1.define.csv改め_header.ERBの実装。
2.名前解決の一元化と合理化。
  #DIM PRINT,10
  PRINT = 100
がどう動くか、あるいは動かないかをはっきりさせておきたい。

51名無しさん:2011/01/12(水) 13:16:48 ID:jBSSQBKY0
文字を設定出来る任意定数が出来るなら、かなり助かるので期待します
これで通貨の単位とか各種名称関係を一括変更出来そう

52名無しさん:2011/01/12(水) 18:41:24 ID:UMKPLxP20
初心者で申し訳無いのですが質問です。

IMEで出さなければ出ないような漢字(戩、媧等)が入った名前のキャラがいるバリアント
を作ろうとしています。csvをUnicodeで保存するといったんは表示されるのですが、
セーブして続きから始めると“?”と表示されてしまいます。

どうか良い方法をご存知でしたら教えてください。

53名無しさん:2011/01/12(水) 19:21:26 ID:e7APgZc20
初心者ならば質問をしていいなんてことはありません。自分で調べてみましょう。
一応言うとCSVやERBの文字コードはでUnicodeではないためそのままUnicodeで書くことはできません。
詳しいことはEmueraのSourceForgeやeratohowikiのEmueraについての補足を調べるといいでしょう。

54名無しさん:2011/01/12(水) 19:50:02 ID:L4hTfmqY0
>>52
セーブデータはUnicodeで保存されない気がするの
なんとか実装しようとするなら、名前表示しているところを個別に
UNICODE 命令利用して出すことになるかなぁ
csvをUnicodeで保存で表示されるんなら、CSVNAMEでもいけるかも

55名無しさん:2011/01/12(水) 20:31:04 ID:Sxpujtto0
EVENTLOADあたりで
REPEAT CHARANUM
 NAME:COUNT = %CSVNAME(NO:COUNT,0)%
 CALLNAME:COUNT = %CSVCALLNAME(NO:COUNT,0)%
REND
みたいなことやりゃ、適当に誤魔化せそうね
名前変更とか入れたい場合は、一手凝らす必要があるけど

56Emueraの人:2011/01/13(木) 01:07:39 ID:WUqF5D4c0
初心者でも初心者でなくても気軽に質問してかまいませんよ

>>52
現在のEmueraではセーブデータをSHIFT-JISで作成するのでSHIFT-JISにないUnicode文字は保存できません
現在のEmueraでUnicode文字を保存するためには、セーブ時にENCODETOUNI命令で数値に置き換えてロード時にUNICODE関数で文字列化するという非効率な処理が必要です

ver1.756の次あたりで「UTF-8でセーブする」オプションを作成します

システム「UTF-8でセーブする」予定
このオプションをYESにすると、SHIFT-JISに代わりBOM付きUTF-8でセーブデータを作成します
・eramakerではこのセーブデータは使えません
・Emueraはこのオプションによらずどちらのエンコードのデータもロードできます

57名無しさん:2011/01/13(木) 18:12:40 ID:.ILrYnHc0
Emuera1756alpha023-4 なんですが、
タイトルからのロードとオートセーブは動いているんですが、
それ以外の場所でのセーブ・ロードが出来ないです。

試したバリアントはerapoyo改修2版・era咲・era☆staR・eraWIZ等です。

58名無しさん:2011/01/13(木) 20:14:00 ID:DWVMeT8Y0
>>20の最新版で直ってるよ

59名無しさん:2011/01/13(木) 20:23:06 ID:.ILrYnHc0
>>58
教えてくれてありがとう。
しっかし、既に直ってたのね。ハズカシー

60名無しさん:2011/01/13(木) 21:13:16 ID:L9Wfs.5w0
>>53
ご返答ありがとうございます。
不勉強のまま質問してしまい、申し訳ありませんでした。

>>54
名前表示のところを個別にUNICODE命令は、csvでどうしても表示出来なかった場合の
最終手段として考えてました。
CSVNAMEという命令があるんですね。試してみます。
不勉強のまま質問してしまったにも関わらず、ありがとうございます。

>>55
ご丁寧に有難うございます。
CSVNAMEについてよく調べてから試してみたいと思います。
不勉強のまま質問してしまったにも関わらず、ありがとうございました。

>>56
温かいご返答ありがとうございます。
ver1.756の次あたりで「UTF-8でセーブする」オプションを作成して頂けるとのこと…!
本当に有難うございます。期待してお待ちしております。

61名無しさん:2011/01/13(木) 21:28:54 ID:tfNB7zU60
不具合というべきかは微妙なところですが、自分の直感に反する動作だったため一応報告を
FOR構文をBREAKで終了した際、ループ変数が1加算されるようです

FOR LOCAL:0, 0, 10
IF LOCAL:0 == 2
BREAK
ENDIF
NEXT
PRINTFORMW LOCAL:0 = {LOCAL:0}

実行結果
LOCAL:0 = 3

62Emueraの人:2011/01/13(木) 22:13:55 ID:WUqF5D4c0
>>61
仕様です
eramakerのREPEAT構文とBREAKがそういう仕様だったのでEmueraもそれに従いました

63名無しさん:2011/01/13(木) 22:23:09 ID:tfNB7zU60
>>62
返答ありがとうございます
理由を聞いてスッキリしました

64名無しさん:2011/01/19(水) 04:12:23 ID:H2sFEyY60
DRAWLINEで描写される"-"の数 = 折り返さずに許される半角文字の数 を
取得する関数もしくは変数の実装は難しいですか?

UIを設計していてこれが取得できると非常に助かります
やりたいことは例えば画面の左66%側と右33%側で違う表示枠を描画という感じです

65名無しさん:2011/01/19(水) 17:13:05 ID:gghtNlck0
今は状況が変わっているかもしれませんが
IRCで同じ質問をしたときかなり難しいと返されたと記憶しています

66名無しさん:2011/01/19(水) 17:20:25 ID:eG0fuD3U0
その関数あったら助かるなぁ
今現在右側って確かに空いてるし、有効活用したい

67名無しさん:2011/01/22(土) 10:44:46 ID:/ZJno.5o0
開発お疲れ様です。
要望なんですが、数値型のCSV変数って用意出来ないでしょうか?
Str.csvの数値版みたいな形で、システム全体で使うini設定を外部ファイルに記述したいなぁと
ERBを見るよりはスマートに変更出来る様になりますし、御一考頂ければ嬉しいです

68名無しさん:2011/01/22(土) 23:45:38 ID:7qnwVEDs0
&& ( || ) &&
とか、
|| &&
とかか?、なんか微妙な気がする???
なんだが気のせいであって仕様とかか???
&& ( != || !=) &&
で!=とか使ったせいか???

まあ、混乱しただけのグチかもw

69名無しさん:2011/01/23(日) 10:08:38 ID:k2XauR5A0
日本語でおk

70名無しさん:2011/01/23(日) 12:37:26 ID:tjv3JeI60
いつもお世話になっています。要望なんですが、
"今現在の行に表示されている文字数"が取得出来る関数が欲しいなぁと
>>64と近いのですが、文字数さえ取れれば差分をスペース埋めとかでERB側で実現可能なので、
もし良ければ検討して貰えれば嬉しいです

71名無しさん:2011/01/23(日) 20:48:22 ID:66aqL6Yo0
>>68
ω

72名無しさん:2011/01/23(日) 20:59:32 ID:iz1j/AQY0
やあ、正直煮詰まったうえでのグチだったんだすまない
結局困り続けてるかeramakerの挙動も同じ臭いし使える書式を頑張ってみつけるさ、、、

一応一区切り付けてモノもうぷしたから気付いたらスルーしてくれw

73名無しさん:2011/01/23(日) 22:03:54 ID:hq6ubppE0
別に1行でかかなくてもいいのよ

74名無しさん:2011/01/24(月) 05:55:54 ID:qsjTQvDI0
しかしERB書いてて思ったが、やはりERAに終端文字が無いのは言語設計での最大の失敗だと思う
簡単なIF文ですら一行で書けないし、大量の条件でも一行で書かないといけない
変数関係もPERL並に使い勝手の良い変数仕様なら良いんだが、%%とか{}で使い分けて括る必要のあるなんちゃって変数感が否めん
まぁ今更どうしようも無い話なんだが、もしEmuera2とかを作るときにはこの辺何とかして欲しいかも

75名無しさん:2011/01/24(月) 07:06:53 ID:0gVqqkro0
eramakerとの互換性を考えなければイケナイのがEmueraの大変なトコロぽいしね
変数とかその辺りはどうしようも無いんじゃない?

互換性を完全に無視するんなら最初からmaker2や、なでしこで作成したほうが
いい気がするよね。

76名無しさん:2011/01/24(月) 09:40:20 ID:775vrKX.0
互換モードと非互換モードの両搭載!
…なんてことやって動作が重くなったり不安定になったりしちゃ本末転倒だしな

77名無しさん:2011/01/24(月) 11:06:50 ID:v8Pm8frw0
ERBはERA BASICの略ですから

78名無しさん:2011/01/24(月) 19:30:17 ID:dHCyKMlU0
終端じゃなくてまだまだ続くよ文字作ればいいんでない?

79名無しさん:2011/01/24(月) 19:44:17 ID:uA1Tp0Ak0
コメントを行内に書きたいとは思ったことがあるけど (SIF TALENT:0 == 1 ;処女の場合)
そのくらいの用途のためにシステム大改造というのも申し訳ないな

80名無しさん:2011/01/24(月) 21:31:14 ID:BwrWUHhI0
>>79
CSV弄ってSIF TALENT:処女 == 1 と書けば良いのでは

81名無しさん:2011/01/24(月) 21:36:20 ID:0gVqqkro0
例えってヤツだろw

CSVだと行内コメント可能だったからって、
ERBでも行内コメント多用した後のテストプレイ時の絶望感ときたら、もう…

8279:2011/01/24(月) 23:52:52 ID:uA1Tp0Ak0
そのとおり例えでござる
>>81が他人とは思えない

83名無しさん:2011/01/28(金) 11:59:43 ID:9omS34SA0
>>78
_ (アンダースコア)で行継続できたらなー、と思ったことはあるな

84Emueraの人:2011/02/07(月) 00:04:45 ID:Moy2QXrY0
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5067.zip
Emuera 1756beta 001
1.756のベータ版です

>>50からの変更点は、
・#DIM機能を一旦削除しました
 ・修正の時間が取れなくなったためです。いずれ追加します
・私家版の変更を取り込みました
・私家版の変更に対する変更
 ・ARGの要素数をVariableSize.csvで指定した数未満にはならないようにしました

85Emueraの人:2011/02/07(月) 01:37:45 ID:Moy2QXrY0
>>64
フォントや描画インターフェースの都合もあって難しいです

>>70
一行の文字数が常に同じになるとは限らないのです

>>79-
PRINT文など生の文字列を引数に取る命令以外についてのみであれば行中コメントは比較的簡単に作れます
それでよいから欲しいという要望があれば検討します

86妊)|д゚):2011/02/07(月) 04:26:34 ID:zL4Nljm60
1756β版にいくつかテストにならないような不具合があったので緊急で私家改造版を作成
ttp://ux.getuploader.com/ninnohito/download/203/Emuera1756beta1%2B.zip

・VariableSize.csvでのLOCALとARGの要素数指定周りに2つバグがあったので修正
・ARGの仕様変更と実装処理が正しくない部分があるので修正
・SETFONTが引数なしの場合にエラーになるという予期せぬ仕様変更があったため修正
・行の途中でエラーが発生した場合、エラー表示がそのまま連続で表示され見にくいので改行が入るように修正

87名無しさん:2011/02/07(月) 12:19:52 ID:1Kqu1zK60
>>84,86
Emuera 1756beta 001と、その私家改造版を試させていただきました
非常に早くて素晴らしいのですが、警告LV1で
関数宣言に引数変数"ARG"が使われていない関数中で"ARG"が使われています(関数の引数以外の用途に使うことは推奨されません)
を出力するのは無しにしてもらえないでしょうか?
LOCALよりも短い単語で使いやすいARGを自由に使えないのは凄くもったいないと思います…

88名無しさん:2011/02/07(月) 13:32:36 ID:QQfBzBV60
元々使い道が違う変数を別用途に流用しておいて文句言うのは筋が違うような

89名無しさん:2011/02/07(月) 16:17:06 ID:KD2GvOXY0
ARG->ARGUMENTにすれば、87もLOCAL使うようになって解決。なんちて
まぁ別に使ってもいいんだけど、ほかの人がソース見ることも考えようず

90名無しさん:2011/02/07(月) 16:28:04 ID:1Kqu1zK60
>>88,89
CFLAG:(LOCAL:1):LOCALとかをCFLAG:ARG:LOCALって書けると、後で見直すときにも見やすいと思うんだけどなぁ…

91名無しさん:2011/02/07(月) 16:46:58 ID:EX00tYQg0
別に使うのは自由だけど、イレギュラーなのは自覚した方がいいぞw
どうしても使いたいなら、警告なんぞ無視すりゃいいでしょうに

92名無しさん:2011/02/07(月) 17:37:40 ID:QQfBzBV60
いやいや、見た目を優先して意味がわかりにくくなるのは本末転倒だろう
「この変数はこういう用途に使われる」と切り分けないと、同じ変数が場所によって全く違う意味になるんじゃこの変数は何を指すのか?という混乱を招いてしまう

例えばCFLAGが足りないからって余ってるABLやBASEで代用しても動作上の問題はないが、そういう使い方はしないだろ?

93名無しさん:2011/02/07(月) 17:47:39 ID:KD2GvOXY0
見た目を優先して意味がわかりにくくなるのを避けろと言うのに
リソース足りないから別のとこからひっぱてくる例を出しちゃいかんw

94名無しさん:2011/02/07(月) 18:54:38 ID:1Kqu1zK60
>>91-93
現状だと
@TEST
LOCAL = 0
FOR ARG, 0, 10
LOCAL += ARG
NEXT
RETURN LOCAL
みたいな使い方ですら警告受けるから、警告表示を緩和して欲しいだけなのになぁ

95名無しさん:2011/02/07(月) 19:16:37 ID:zuuIq7NQ0
それ緩和したら意味がなくなるだろ……逆にどういう状況で警告されればいいと思ってるんだ?

96名無しさん:2011/02/07(月) 19:19:44 ID:KD2GvOXY0
警告表示緩和自体は難しくなかろうが
作法の問題ですからして口うるさい人が出るのも致し方なし(俺含め)
というか2文字少なくなるのがそこまで重要なのかと

97名無しさん:2011/02/07(月) 19:41:56 ID:1Kqu1zK60
>>95
Emueraの中身が分からないので、わかりません
でも、今までは警告しなかったわけですし、深刻な状況にはならないのではないか、と思いまして
>>96
(LOCAL:1)を使わなくてもいいかもしれないので、2文字ではなく6文字短く出来ます
物凄い入り組んだ構文書くときにARGとLOCALを別々に使えると凄い便利だと思うのですが…

98名無しさん:2011/02/07(月) 20:09:23 ID:KD2GvOXY0
ようするに2次元配列用に添え字使わなくてすむローカル変数が欲しいってこと?
プライベート変数の定義って今開発中じゃろ?待ってればいいんじゃね

変数A〜Zってローカル用途で使われてるのがほとんどだろうから、それで問題ない気もするけど

99名無しさん:2011/02/07(月) 20:10:55 ID:3XDWjjvs0
後ARGとLOCALは別々に設定するとそれぞれ設定数までの配列(1000の場合はARG:0〜999、LOCAL:0〜999)まで埋まる
片方しか使っていない場合はそっちだけデータが埋まる
規模が小さいバリアントなら気にはならないが大きい奴だとそれなりにメモリを食う話があったような

100名無しさん:2011/02/07(月) 20:32:39 ID:zuuIq7NQ0
ARGをLOCAL代わりに使うのは、妊の人にとっては投げ捨てたいくらいの物だしね……
Emuの人が「互換性は無くさない」方向で進めて警告Lv1に落ちただけで、1755t(テスト版)では警告Lv2じゃなかった?

101名無しさん:2011/02/07(月) 23:36:57 ID:v/wcAV5w0
ものすごく入り組んだ構文書くときこそわかりやすさが求められると思うの
ARG = 引数でどこかの関数から保持してきた数値 という前提がある以上、
引数ではないのにARGなんて使ったら混乱すると思うんだけどな

102妊)|д゚):2011/02/08(火) 02:42:13 ID:dq5svhcQ0
今回の変更についてですが、
ARGは関数の引数用に使って欲しいということで作った変数なので、
あんま他の用途に使って欲しくないというのが理由です
(引数で使った場合とそうでない場合で挙動が若干違うとかありますし)

後、>>99にあるメモリ使用量に絡んで、
LOCAL、LOCALSに関数毎に使う要素数を設定できる#LOCALSIZE、#LOCALSIZEを設定したのと、
ARGについては関数の引数にあわせて必要な要素数を動的に設定する機構を作成したので、
1756ではむしろ今までの手法の方がかえってメモリの使用効率が下がる場合も出てくるかと思います

103名無しさん:2011/02/08(火) 03:52:34 ID:LWrH5EiU0
>>70ですが、

>>85
>一行の文字数が常に同じになるとは限らないのです
欲しいのは一行全体の文字数では無く、
今現在の行に出力されている"表示済みの文字数"です

既に何文字出力したのかが、手計算せずに取りたいなぁと
実は既に力技で実現出来てるんですが、ソースが見苦しいのでシステム関数で欲しい所です

PRINT時に表示文字のbyte数を変数にカウントして、改行時にクリアするとか出来なそうですかね?
やる事は割と単純だと思うのですが

104妊)|д゚):2011/02/08(火) 04:00:29 ID:dq5svhcQ0
>>103
それは不可能ではないですね
おそらくSJIS(STRLENに対応)とUnicode(STRLENUに対応)と2種類作ることにはなりますが

ただ、いずれにしても命令系の追加等は1756が出てからの話になるかなと思います

105名無しさん:2011/02/08(火) 04:13:39 ID:LWrH5EiU0
>>104
おお、本当ですか
希望が持てたなら待つのは得意なので、気長に待っています。夜分お疲れ様です

106妊)|д゚):2011/02/08(火) 06:27:46 ID:dq5svhcQ0
なんでできるかって言いますと、
そもそも「現在の行に表示済みの文字数」なんてないんです
あるのは「今処理してる文字列スタック」だけなので

EmueraのPRINT系の処理は基本的に「行」単位で取り扱います
PRINTLやPRINTWといったものを処理すると、そこで内部で改行処理に入り
そこで表示用の文字列スタックから行を作成し(折り返しが生じる場合はこの時点で初めて複数行に分割する)、
それができた時点で初めて表示に反映されます

なので、今の行で表示済みの文字数なんて概念はなくて、
単に処理中の文字列スタックを見れば自然と行内の文字数は自明です

ただ、上にもあるとおり、折り返しの有無は改行処理が入るまでわかりませんので、
現在の文字数と折り返しの有無は一切無関係であることと、
折り返しが生じるとして、折り返しを処理したら何文字かなんてのはとても実装できない
(折り返しの判定処理は結構ばかにならない処理量のため)
ということだけは了解していただければと思います

107妊)|д゚):2011/02/08(火) 07:40:35 ID:dq5svhcQ0
ttp://ux.getuploader.com/ninnohito/download/205/Emuera1756beta1%2B.zip

・通常命令版POWERの引数処理が事故っていて、正しく動作しないのを修正
・_Rename.csvによる全行置換の使用可能範囲の制限強化
  可読性の関係上、関数宣言行とプリプロセッサ行は全置換による置き換えをできないようにしました
  1756以降の仕様として、
   関数宣言行は引数部分のみ置換に対応(できなくなっていたのを復活)
   プリプロセッサ行は置換非対応となります(こっちは元々)

108名無しさん:2011/02/08(火) 11:37:15 ID:LWrH5EiU0
>そもそも「現在の行に表示済みの文字数」なんてないんです
>あるのは「今処理してる文字列スタック」だけなので


『人間なんて定義は無くて、あるのは2足歩行で高い知能を持った生き物が居るだけなので』って話と同レベルですが、
概念として定義すれば、あるんじゃないでしょうか。制作者側が今現在定義していないだけで
何故なら
『今処理してる文字列スタックなんて無くて、バイナリデータを都合よく区切って解釈しているだけ』なので

109名無しさん:2011/02/08(火) 19:03:50 ID:xqbfL8Nw0
>>108
Emueraは表示処理に関しては、行単位でスタックに載せたらあとは.NET側に放り投げて
その答えを待つだけ。そして、.NET側でどういう処理をされているのか?の情報をすべて
受け取っているわけではない。
つまり、実際に何がどう表示されているのか?を完璧にEmueraが把握することは不可能。

110妊)|д゚):2011/02/09(水) 21:06:42 ID:DkUHfywc0
ttp://ux.getuploader.com/ninnohito/download/206/Emuera1756beta1%2B.zip

_Rename.csvの置換処理にバグがあったのを修正
一部正常な置換指定子がエラーを返されるという悲しい事故が起きていた
ついでに、存在しない置換指定子を与えたときのエラーが面白いことになっていたのも修正

111妊)|д゚):2011/02/10(木) 02:33:47 ID:x9S/nzTA0
ttp://ux.getuploader.com/ninnohito/download/207/Emuera1756beta1%2B.zip

最初のEmuera1756beta1+で入れた修正に実はインプリ漏れがあったので緊急でインプリ

112妊)|д゚):2011/02/12(土) 05:48:27 ID:jWrtsWaw0
ttp://ux.getuploader.com/ninnohito/download/211/Emuera1756beta1%2B.zip

細々修正
もしかしたら何かしらregressionがあるかもしれないので見つけましたら報告お願いします

113妊)|д゚):2011/02/12(土) 16:05:41 ID:jWrtsWaw0
ttp://ux.getuploader.com/ninnohito/download/212/Emuera1756beta1%2B.zip

全コードの再読み込みで$ラベル周りがおかしくなるのを修正

114妊)|д゚):2011/02/13(日) 01:18:36 ID:21QgWeqU0
ttp://ux.getuploader.com/ninnohito/download/215/Emuera1756beta1%2B.zip

エンジン以外の部分で本当に色々問題見つかったので、その修正

115Emueraの人:2011/02/14(月) 22:23:20 ID:GeN.N7KM0
Emuera beta002
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5091.zip

>>114まで取り込み
キーマクロの保存、読み出しに関するバグ修正
#DIM復活。ただしprivate staticな変数に。
 staticにしたためにパフォーマンスはLOCALと同等になりました。
 LOCAL同様に再帰呼び出しには耐えません。
 #DIM DYNAMIC HOGE,100 で動的変数HOGEを定義します。
  再帰呼び出しに耐えるはずですが動作は遅いです。

>>87
ARGの代わりに#DIMを使用してください。
関数宣言直後に#DIM HOGE,100 とすればその関数内でのみ使えるprivateな変数HOGEが用意されます

116名無しさん:2011/02/14(月) 23:49:59 ID:ZlDaPGco0
制作お疲れ様です。
要望ですが、少数型の変数って追加出来ないでしょうか?
一つぐらい少数を保存できる変数があれば、ソースの計算関連の処理で助かるなぁと思ったので

117Emueraの人:2011/02/15(火) 00:30:50 ID:mFDM4qP20
>>116
無理です
Emueraは型の追加ができる設計になってません
型を追加するために変更が必要な箇所が多すぎるので対応できません

118名無しさん:2011/02/15(火) 01:12:49 ID:XCo93Qgg0
>>117
回答有難う御座います。了解です

119妊)|д゚):2011/02/15(火) 05:10:35 ID:rljCi/tg0
ttp://ux.getuploader.com/ninnohito/download/216/Emuera1756beta2%2B.zip

本来出す必要がなかった予定が大幅に狂ってbeta2+v1
・LOG10(1000)が2になってしまう(内部処理における)誤差発生を修正

120妊)|д゚):2011/02/16(水) 06:23:02 ID:QbDDbvNw0
ttp://ux.getuploader.com/ninnohito/download/218/Emuera1756beta2%2B.zip

beta2+v3
・CALLTRAINが正常に動作しないのを修正
・デバッグモードの変数チェッカで監視している式中関数が例外を投げた場合
 その後のEmueraの挙動が明らかにおかしくなるのを(多分)修正

121名無しさん:2011/02/16(水) 22:21:51 ID:rT6XKkRE0

開発お疲れさまです。
1756待ちらしき時期に出すべきなのか分かりませんが、要望2点です。

【 要望1 】

  マウスカーソルをボタンの上に乗せた場合の、
  フォーカスを設定するタイミングの追加

【 要望の理由 】

  説明よりも実例を、ということでサンプルがこちら↓
  同梱のバイナリは現在 sourceforge から落とせる 1755 です。

  ttp://eratoho.dyndns.dk/cgi/upload.php?id=001925

  実行すると左下に ■ が出ますが、カーソルがボタン上で動いた
  一瞬しかフォーカス状態が維持されず、ちらつきが発生します。
  このちらつきを無くしたいというのが要望の理由です。

【 原因 】

  現在のマウス周りの処理の仕様では、OS側からイベントが
  振ってきたタイミングでのみ処理が行われているため、
  マウス操作を行わない限りフォーカスも更新されません。

  上で挙げた例は TINPUT で描画をブン回すという極端な条件下ですが、
  マウスを動かさずにリターンキーだけでメッセージを進めることで、
  一応どんなバリアントでもこの現象は確認できます。

122名無しさん:2011/02/16(水) 22:23:23 ID:rT6XKkRE0
NGワードが含まれていると怒られました。どこだろう。
とりあえず分割して編集しながらやってみます。

【 変更案 】

  また >>30 の時みたく釈迦に説法の板汚しで終わるかもしれませんが。

  INPUT 系をの命令を受けた時点でのフォーカスの話なので、
  そのまんま INPUT 系の命令を受けた直後に
  OSからカーソル位置を拾って更新処理を行えばいいかなと。

  具体的には、doNormalFunction 関数内の
  INPUT, ONEINPUT, INPUTS, ONEINPUTS, TINPUT, TINPUTS の処理で、
  console.Read 系のを行った直後が良さげなタイミングに見えました。

  フォーカス更新の処理は console.MoveMouse とほぼ同等のものを作るか、
  カーソル位置だけ取得してそのまま MoveMouse に投げるかですが……
  RefreshStrings の処理コスト次第でしょうか。

  頓珍漢なことを言ってたらすんません。


俺得成分の強い要望で申し訳ないですが、
大きな問題がなければ是非導入していただけると嬉しいです。

123名無しさん:2011/02/16(水) 22:25:49 ID:rT6XKkRE0
doNormalFunction 関数が含まれているファイル名
(Process.ScriptProc.cs)が NG でした。

引き続き要望2つ目です。

【 要望2 】

  三角関数 SIN と COS の導入。

  IRC のログを拝見したところ、要らない子のネタとして
  名前が挙がっていましたが、本気で欲しい奴がここにいました。

  現在は 0〜89 度の1度刻みのテーブルで処理していますが、
  やはり本体側に関数として存在していると助かります。

【 要望の理由 】

  自機狙いや追尾弾だけでなく、偶数/奇数弾も撃ってみたい。

【 素案 】

  当然ながら本来の形では少数まみれで扱い様がないので、

    SIN(X, A)

  という書式で、

    return_value = X * Math.Sin( A * Math.PI / 180 )

  という処理でどうでしょうか。


TAN については、俺個人は使う予定はないので要望には含めません。
あれは NaN も絡むし、開発者の方の裁量にお任せです。

以上要望2点、俺得だらけですが御一考のほど宜しくお願いします。

124妊)|д゚):2011/02/17(木) 20:47:54 ID:0tSpGKws0
>>121
これは処理上だけを理論的に考えるならどうにかなります
(手元ではさっくりとテストしましたし)
問題は古いマシンを考えたとき負荷との兼ね合いがどうかというところかと
文字で書くだけなら簡単ですが、結構処理量馬鹿にならないんですね、この仕様

>>123
その関数は最早Sin関数の計算ではないと思うんですが
At leastな話として、一般的によく知られている関数名を
本来のそれとは違う計算を行う実装にするってのは、明らかに話をややこしくするのでダメかと思います

125妊)|д゚):2011/02/17(木) 20:53:08 ID:0tSpGKws0
逆に言うなら、そこらへんの誤解が生じないような命令系と関数名にできるなら、
実装自体は不可能ではないかと思います
(longとdoubleの変換誤差は絶対に無視できないだろうけど)

126121:2011/02/17(木) 22:30:49 ID:GyAY8OZQ0
返信ありがとうございます。

>>121 について

  後出し追加で申し訳ないですが、フォーカスが飛んでいる状態だと
  ボタンのクリックが一発で効かないことが多くなるため、
  ちらつきに加えて入力が行いにくくなるという弊害もあります。
  フォーカスの更新が追いつけばその問題も同時に解消するので……。

  とはいえ、>>121 のサンプルのような描画ブン回し自体が
  イレギュラーというか Emuera でそんな処理するな系の話なので、
  強くプッシュできるような要望でないのも事実です。

  こちらとしては、取り入れて頂ければ大喜びです、ということで。

>>三角関数

  SIN という名前でその処理はダメだろう、という点は俺も同意です。
  とはいえ、最初の要望の時点でいきなり俺ジナルな名前を付けても
  なんだそりゃとなりますので、あれはあくまで仮名ということで。

  誤解の生じにくい関数名……というのは難しそうですね。
  引数が増えてしまっている時点で、どんな名前を付けようとも
  関数名だけで2つの引数の役割を見抜くのは無理くさいかな。

  俺個人は、例え知った名前の関数であっても
  言語が違うなら必ずリファレンスを読むことにしているので
  あまり気にしたことはありませんが……まあ俺基準など意味もなく。

  変換誤差というか確保する精度については、最終的に int オンリーな
  環境であるという時点で、もう使う側の裁量に委ねるしかありません。
  角度と共に渡す乗算値次第で、取り出す桁はコントロールできます。

  ……というような、本来の SIN 関数からかけ離れた仕様が
  問題だって話だと思いますので、結局こちらとしては
  採用して頂ければ大喜びです、としか言えなくなりますが。

ひとまず、引き続き御一考くだされば幸いです。

127妊)|д゚):2011/02/18(金) 00:18:12 ID:UOKgNBRE0
ttp://ux.getuploader.com/ninnohito/download/219/Emuera1756beta2%2B.zip

beta2+v4
・キーマクロの処理中にQUITに当たると挙動がおかしくなる問題を修正
 (QUITにぶつかったらそこで処理を打ち切るようにしました)
>>121をテスト用に実装、重かったらバックアウトします
 (特にマシンパワーに余裕が無い人のテスト報告歓迎)

128名無しさん:2011/02/18(金) 00:27:19 ID:Ylcd.km.0
>>115
>#DIM復活。ただしprivate staticな変数に。
> staticにしたためにパフォーマンスはLOCALと同等になりました。
これって何か理由あるんですかね?
個人的にはメモリが解放されるのかと期待していたのですが…言語の制約かな

129121:2011/02/18(金) 21:10:47 ID:q6O9ImW20
>>127
早速のテスト版ありがとうございます。

描画のみをブン回す処理で 1755 と >>127 を比較してみた結果では、
この両者に有意な速度差は見られませんでした。

描画だけでなくその他の処理を詰め込んだ通常のゲームループだと、
全般的な処理速度向上の恩恵で 1756 系の方が速くなりました。

使用 CPU は Athlon X2 3800+ です。
今時の基準では既に化石化しつつある世代ですが、
era 系のゲームだと想定動作環境はもっと下まで含むのかな。

ひとまず、こちらでの結果の御報告まで。
このまま採用だといいなあ。

130妊)|д゚):2011/02/20(日) 14:43:08 ID:Hbe69xFQ0
ttp://ux.getuploader.com/ninnohito/download/220/Emuera1756beta2%2B.zip

beta2+v5
・FORM構文の略記マクロが盛大にエラー吐いてくれるのを修正

131名無しさん:2011/02/20(日) 20:19:02 ID:I.1RCd8.0
開発お疲れさまです。
不具合……というか、ちょっとした処理漏れ報告です。

  I = I + ()

のような形で式中に空の括弧があると当然エラーになりますが、
そのエラーメッセージの内容がとても生っぽくなっています。
(NullReferenceExceptionを吐く)

  ()

だとか

  I = () +

というような不完全な形式ではきちんと内容に対応した
エラーメッセージが出るので、何かの取りこぼしの類かと思われます。

NullReference が相手では ぬるぽ とも言えず、悲しい気持ちになりました。
是非対応のほどを宜しくお願い申し上げます。

132妊)|д゚):2011/02/21(月) 00:14:44 ID:cfHiAnjQ0
ttp://ux.getuploader.com/ninnohito/download/221/Emuera1756beta2%2B.zip

beta2+v6
>>131修正
・一部内部処理のミス修正(readme書き忘れ)

133名無しさん:2011/02/23(水) 01:10:41 ID:YcNuqUwY0
お願いがあるのですが。

「現在のウィンドウ幅」と「現在のフォントサイズ」を返してくれる関数は実装可能でしょうか?
1行に何文字表示できるかの、おおよその目安になると思います。
ご検討いただければ幸いです。

134妊)|д゚):2011/02/23(水) 03:02:05 ID:99BEGiaM0
>>133
実はそれをとっても目安にも何にもなってくれないってオチがありまして

実はフォントサイズからの見込みと実際の表示サイズはずれるんですよね
特にGDI+では全く信用できないとかあるので個人的には乗り気にはなれないです

135妊)|д゚):2011/02/23(水) 22:58:17 ID:99BEGiaM0
ttp://ux.getuploader.com/ninnohito/download/223/Emuera1756beta2%2B.zip

beta2+v7
・LOOP行がエラー行なDO〜LOOP内でCONTINUEを呼び出すと、.Net側から例外を投げられる問題を修正

136133:2011/02/23(水) 23:21:50 ID:YcNuqUwY0
>>134 お疲れ様です。お世話になってます。

あー、WIN API が採用されるきっかけでしたっけ<GDI+では全く信用できない

あまり利用価値がない関数を追加するのは意味がないですね。
すっぱり諦めます。お騒がせしました。

137妊)|д゚):2011/02/24(木) 08:49:00 ID:Uu5dJyg60
ttp://ux.getuploader.com/ninnohito/download/224/Emuera1756beta2%2B.zip

beta2+v8
・#FUNCTION、#FUNCTIONS関数の解析で.Net側から例外を投げつけられうる挙動をしていたのを修正
・デバッグコマンドが例外を投げると、その後の挙動がおかしくなるのを修正

138名無しさん:2011/02/26(土) 14:17:52 ID:ez/6Dltk0
環境は>>137ですが、#DIM DYNAMIC で定義した変数を引数として用いると、
変数の数値に拠らず、常に0として扱われるようです

139妊)|д゚):2011/02/27(日) 19:13:55 ID:YplbO2Dc0
>>138
今のところ手元で再現できません
問題が起こるテストコードを用意していただければと思います

140名無しさん:2011/02/27(日) 20:15:24 ID:49ErDCp20
>>139
確認用に作ったのがこんなのです

@test, ARG, ARG:1, ARG:2, ARG:3
#DIM DYNAMIC PA,10
#DIM PB, 10
PA = ARG + 1
PB = ARG:1 + 1
LOCAL = ARG:2 + 1
PRINTFORML ARG {ARG} ARG:1 {ARG:1} ARG:2 {ARG:2} ARG:3 {ARG:3}
PRINTFORMW PA {PA} PB {PB} LOCAL {LOCAL}
CALL test, PA, PB, LOCAL, PA + 10

141妊)|д゚):2011/02/27(日) 21:26:18 ID:YplbO2Dc0
>>140
あ〜、再帰の場合に完全に処理に問題ありますね、#DIM DYNAMIC
これはかなりややこしい問題なのでかなり時間を要するorEmuの人にPL法適用のどっちかになるかと思います

142名無しさん:2011/02/27(日) 21:31:54 ID:T8/7gvWY0
先生…一次元配列とかの要素数を100未満に設定したいです…
CFLAGが大量に使ってるのでちょっとでも削りたいのに、この制限がニクイorz

143妊)|д゚):2011/02/27(日) 22:09:41 ID:YplbO2Dc0
>>142
1756beta2では一部を除いて下限が1に再定義されています

144名無しさん:2011/02/27(日) 22:17:08 ID:49ErDCp20
>>141
了解しました
のんびり解決を待つことにします

145名無しさん:2011/02/27(日) 23:02:31 ID:T8/7gvWY0
>>143
やったー!ありがとうございます

146妊)|д゚):2011/02/28(月) 07:33:50 ID:uY0uNir.0
ttp://ux.getuploader.com/ninnohito/download/225/Emuera1756beta2%2B.zip

beta2+v9
・CALLTRAINEND込みの処理系でCALLTRAINを呼び出すと、内部でのCALLTRAINENDの呼び出しでエラーになるのを修正
  なお、1756以降はCALLTRAINENDはイベント関数扱いではなくなるので、
  通常のイベント関数と同じ複数定義は不可能になります

147名無しさん:2011/03/01(火) 15:33:38 ID:T9q.yWN20
要望ですが、TINPUT系のタイムアップ時に時間切れ時のメッセージ 及び デフォルトの入力結果を表示させないオプションが欲しいです
理由は連続して、表示とTINPUTを繰り返すことで、画面上に動いてるものを任意タイミングで止める…まぁこの場合はスロットマシーンの表示なんですが
上記の2行のおかげで高さがずれてしまって、ちょっとよろしくない感じになってしまっていて、この2行を出さないようにしたいと思ったので、よろしければお願いします

148名無しさん:2011/03/01(火) 16:33:45 ID:T9q.yWN20
>>147はREDRAWを併用すれば、目的通りに動いたので取り下げます

149妊)|д゚):2011/03/02(水) 00:09:59 ID:L/ktpoqA0
ttp://ux.getuploader.com/ninnohito/download/226/Emuera1756beta2%2B.zip

beta2+v10
・#DIM DYNAMIC変数が再帰で動作がおかしいのを修正
・#DIM DYNAMIC変数周りの処理が#DIM DYNAMIC変数がない場合でも不必要な処理を呼び出していたのでこれを排除

150名無しさん:2011/03/03(木) 15:43:05 ID:IO5YygrQ0
>>149
ノートンが疑わしいとか言って削除掛けます…

151名無しさん:2011/03/03(木) 16:12:18 ID:Edv87LsY0
>>150
ttp://www40.atwiki.jp/eratohogentleman/pages/27.html#id_4ff43df5

君は信用して除外設定してもいいし、用心して落とさなくてもいいし、別のアンチウイルスソフトに乗り換えてもいい

152妊)|д゚):2011/03/04(金) 00:06:31 ID:oNfExf1E0
ttp://ux.getuploader.com/ninnohito/download/227/Emuera1756beta2%2B.zip

beta2+v11
・SWAPの引数の変数の添え字にRANDを使った場合に正しく動作しない問題(1736eで修正)が完全にregressionしていたのを修正

>>150
おそらくも何もSuspicious.Insightですね
これは簡単に言えば、見たことないよくわからんプログラムは何だろうがとりあえず怪しいプログラムにしておけって仕組みで
(これの対象外になるにはSymantecのコミュニティ内で一定以上の評価を得ることが必要)
これは、Emueraのような使用ユーザー層が広くない(つまり一般的ではない)ソフトでは何をやろうがお手上げな問題です

なお、Emuera自体は何かのソフトを勝手にインストールしたりですとか、勝手にネットワークに繋ぐといった挙動は一切しませんので完全に無視していただいてOKです

正直、ユーザーは何が安全で何が危ないかわからないからアンチウィルスソフトを入れるのに、
今使おうとしているexeが安全か否かはとりあえず自分で判断して評価をコミュニティに送ってねって仕組みは
根本的に矛盾しているようにしか見えないよねっていうお話

153名無しさん:2011/03/06(日) 17:11:07 ID:QCpP6WiM0
開発お疲れ様です。いつもお世話になっております
要望なんですが、式中関数にてCALLFORMに該当するコマンドは追加出来ないでしょうか
下記の様な事が出来れば、かなりソースが綺麗になるのであったら嬉しいなぁと

; 『 TEST_ 』から始まる関数名を動的に生成して実行( 『 TEST_ 』側が式中化されており、呼び出し側は普通の関数)

@動的な関数(ARGS)
LOCAL = TEST_%ARGS%()

まんまCALLFORM命令を式中化して、
LOCAL = CALLFORM( TEST_%ARGS%() ) とか出来たら…

154妊)|д゚):2011/03/06(日) 19:51:55 ID:4DG7EfTE0
ttp://ux.getuploader.com/ninnohito/download/228/Emuera1756beta2%2B.zip

beta2+v12
・PRINTK系命令が正常に動作しないのを修正

155名無しさん:2011/03/08(火) 00:50:05 ID:zHeMeivM0
要望なのですが、貼り付け(今のCtrl+V)をメニューから実行できるようにならないでしょうか?
普段からマウス一辺倒で可能なかぎりキーボードは使いたくないプレイヤーなので、
入力がマウス操作とエンターキーだけでできたらなあ、と思ってしまいます
(贅沢を言えば入力後のエンターやマクロ実行までマウス操作でできるとなお嬉しいです)

もちろん難しかったり好ましくないと思われるなら無理にとは申しませんが、
よろしければご検討ください

156名無しさん:2011/03/11(金) 18:55:58 ID:7gkjRqXQ0
beta2+v12
BEGIN TRAIN の変数の初期化の際に
Stain.csvで定義されていない場合
STAIN:5以降が初期化されないようです。

157156:2011/03/11(金) 18:59:32 ID:7gkjRqXQ0
Stain.csvじゃなくて_Replace.csvでした すみません

158名無しさん:2011/03/14(月) 18:18:12 ID:jxyOdfHs0
てか、3Dカメラで撮ったおっぱいがエロすぎるw
ttp://oppai.punyu.jp

159妊)|д゚):2011/03/18(金) 14:51:31 ID:LdLnPvX20
ttp://ux.getuploader.com/ninnohito/download/229/Emuera1756beta2%2B.zip

beta2+v13
・BEGIN TRAIN時のSTAINの初期化の処理がeramakerと異なっているのを修正

160名無しさん:2011/03/21(月) 00:51:14 ID:wrwJjKBc0
>>124-125
いまさらかもしれんが、RSIN / RCOS という名称はどうだろう?
r * sinθ のイメージで

書式や処理は>>123に準じる形でいいだろうけど、角度をもっと細かく刻めたら使い勝手が良くなるかなと

 書式: RSIN(A, R, M)

 処理: return_value = R * Math.Sin( A * 2 * Math.PI / M )

 備考: 第2引数 R, 第3引数 M はそれぞれ後ろから順に省略可能で、初期値は R = 10000, M = 360 とする

とか(Rの初期値が1E4なのは、よく見かける三角関数表が小数点以下4桁までだから)

161妊)|д゚):2011/03/22(火) 16:11:41 ID:X/7bhSGo0
ttp://ux.getuploader.com/ninnohito/download/230/Emuera1756beta2%2B.zip

beta2+v14
・FINDCHARA()の第1引数がキャラクタ変数でない場合のハンドリングができていなかったのを修正

162妊)|д゚):2011/03/24(木) 02:39:28 ID:Uw4Gv5eY0
ttp://ux.getuploader.com/ninnohito/download/231/Emuera1756beta2%2B.zip

beta2+v15
・FORM構文込みのGOTOFORMが動くわけがなかったのを修正

163名無しさん:2011/03/24(木) 02:50:53 ID:FzYZnDGQ0
乙です
そろそろ正式版が欲しい所…

164名無しさん:2011/03/25(金) 18:16:50 ID:2REkcdrk0
質問なんですが、関数の引数として条件式の結果を渡す方法はないでしょうか?

PRINT_FLAG("[技巧2+奉仕精神2]", (ABL:技巧 >= 2 && ABL:奉仕精神 >= 2))

こういった感じの関数を作っているのですが、
ARG:0で受け取る時には、条件を入れた部分が0になってしまいます
条件式の結果によって0か1を返す式中関数等があれば、それでもいいのですが

165名無しさん:2011/03/25(金) 19:10:53 ID:lFWFWp5o0
試してみたけど、真の時は1になってるはず。本当に条件を満たしているか確認してみては。
間違いなく条件を満たしている場合はバグかもしれないのでコードの詳細があるといいんじゃないかと。

166名無しさん:2011/03/25(金) 20:18:40 ID:2REkcdrk0
>>165の通りで、TALENT指定が入ってないだけでした
お騒がせして申し訳ない

167名無しさん:2011/03/27(日) 01:35:33 ID:aTOvsDQg0
PRINT系命令で出力前にユーザー作成の関数を呼ぶというのは出来ないでしょうか
例えば@BEFORE_PRINTという関数が存在すると、そこに表示予定の文字列を渡すという物です
返り値がTRUEなら表示、FALSEなら非表示で
(無限ループ抑止のために、@BEFORE_PRINT内で実行したPRINT命令からは呼ばない)

こういう仕組みを口上の既読スキップに使いたいです
出力する文字列(あるいはハッシュ値等)を記録するようにして、
過去の記録と比較する事で非表示化やスキップの解除が出来るようにする予定です

セーブデータ容量や処理速度が実用できるレベルになるかわかりませんが、
ある程度古い記録は上書きして、口上内のテキストに限ればいけるんじゃないかと

168妊)|д゚):2011/04/01(金) 00:25:03 ID:u4E.pYrI0
ttp://ux.getuploader.com/ninnohito/download/232/Emuera1756beta2%2B.zip

beta2+v16
・関数の再帰呼び出し処理中に想定外の処理が行われて、正しく再帰されないのを修正
・CALLTRAIN実行中でもUSERCOMのPRINT系の結果が表示されてしまうのを修正

>>167
そういうトリッキーな仕組みを作る気は起きないです
頻繁に表示されるものなら、ERB側で普通にフラグを立てる等、代替策もある程度ありますし

169妊)|д゚):2011/04/01(金) 01:12:58 ID:u4E.pYrI0
ttp://ux.getuploader.com/ninnohito/download/233/Emuera1756beta2%2B.zip

beta2+v17
・マクロ実行時にタイマー付き入力処理のタイマーが止まらないバグを修正できた(はず)

170妊)|д゚):2011/04/01(金) 06:40:17 ID:u4E.pYrI0
ttp://ux.getuploader.com/ninnohito/download/234/Emuera1756beta2%2B.zip

beta2+v18
・v17の修正が問題を修正しない+別のバグを引き起こすのでバックアウト
・マクロ実行が強制待ちのTWAITを誤動作させる問題を修正
 (これの対応の結果、マクロ実行中でも強制待ちのTWAITはきちんと時間切れまで待つようになりました)

171妊)|д゚):2011/04/01(金) 06:57:56 ID:u4E.pYrI0
ttp://ux.getuploader.com/ninnohito/download/235/Emuera1756beta2%2B.zip

beta2+v18差し替え
>>170に1ヶ所ソースのtypoがあって、動作がおかしくなる部分があったので修正差し替え

172名無しさん:2011/04/03(日) 23:17:15 ID:0TrhEqWQ0
>>168
>>167の件ですが、
・それまでに出力した文字のチェックサムを取る(32ビット値に文字を足し続ける)
もしくは
・それまでに出力した文字列を取得できる文字列変数 + 取得文字の初期化命令 

という仕組みではどうでしょうか?
口上のERBを変更する事でも対処は可能だと思うですが、
口上の中身が今よりさらに複雑化してしまうので、なるべく口上側はいじらずに対応したいのです

173妊)|д゚):2011/04/03(日) 23:46:04 ID:TDl0JSj.0
>>172
前者について、チェックサムはそういう用途には一切使えません
後者も内部で保持してる文字列の量から考えたらとても使えたもんじゃないので実装する気は起きませんし、
(内部的には設定次第でMB単位の文字列が入りうるのでとても実用的ではない)
内部仕様上保持してる文字列には上限があるので、それから弾かれたら参照しようがないので結局用をなさないです

174名無しさん:2011/04/03(日) 23:57:51 ID:0TrhEqWQ0
最後の200文字取得というのも無理でしょうか?
もしくは初期化してから200文字分取ったところで打ち切りという物でもいいのですが

175妊)|д゚):2011/04/04(月) 00:01:46 ID:B0fqFZeU0
>>174
やりたいのが未読判定だということはわかっていますが、
普通に1行数十文字入るわけですから、それだと全くというぐらい用をなしませんよ?

それで使えてしまうぐらい頻繁に出てくるなら、それこそ内部でフラグ使って弾く方が簡単ですし

176名無しさん:2011/04/04(月) 00:06:54 ID:RB79twB60
>>172

開発者でもないのに横槍、しかも開発者の方の後でさらに恐縮ですが、
「既読スキップの実装」という目的に比べて要望の機能の中身が複雑すぎ、
かつ目的を実現するのに大した効果を発揮しない気がします。

最大でも1行分でしかない PRINT 系命令をキャッチしたとしても、
それを比較して実装できるスキップは「前の行と一致していた場合」程度であり、
実際のゲームでそのレベルのスキップが有効である場面があまり思い付きません。

口上にせよシステムメッセージにせよ、そもそも出力するのがERB側なわけですから、
スキップ処理ならその出力側で管理した方が安定確実ではないかと。
口上の中身が今より複雑……になるような大げさな話だとは思いません。
口上テンプレートにも普通に組み込まれている程度の仕組みです。

というか、口上の既読スキップのためだけにあらゆる PRINT 命令に追加処理を乗せ、
しかもスキップ判定そのものも複雑怪奇になりそうな機能は実用的ではないでしょう。
いつ出てくるか分からない数行のために、全出力に strcmp を走らせるのは無駄です。

新規バリアントのための要望なのかそれとも既存バリアントのパッチ用なのかは
存じませんが、明らかに出力側で対処した方が上策な話だと思います。

177名無しさん:2011/04/04(月) 00:10:25 ID:MGOQhx3c0
既存バリアント用のパッチで、口上もすでにたくさんあるという前提です
全出力にstrcmpをかけたりするわけではもちろんないのですが
いったん要望は引っ込めます

178Emueraの人:2011/04/05(火) 22:58:48 ID:wjQ0PF1Y0
お久しぶりです
私用によりご無沙汰しておりました
さて、新バージョンを出そうと思うのですが、最近はスレやIRCを確認していません
未解決のバグや要望等がありましたらお手数ですが改めてこのスレにお願いします
特に無ければ今週末をめどにver. 1.800として新バージョンのEmueraを出そうと思います

179妊)|д゚):2011/04/06(水) 00:56:07 ID:mu.YQooo0
現状把握してる明確な未解決な案件はこの1つ
・CALLFORM系がなくても、EVENTTURNENDを定義していると、関数未呼び出しの警告が設定によらず完全に無視される

180名無しさん:2011/04/06(水) 18:42:08 ID:l11wx7r.0
個人的な要望としては
・#DIM で多次元変数を作成可能に
・同様に#defineでも多次元変数を作成可能に
・ポインタ的なもの
これらが可能になると嬉しいです

181妊)|д゚):2011/04/06(水) 22:52:28 ID:mu.YQooo0
新規で追加
・存在しない命令を書いた場合の解釈時のエラー表示処理が不十分
 FORM構文なし→解釈出来ない行
 FORM構文有り→FORM構文区切り文字(%や{)が代入演算子ではない
どちらも本質的なエラーである「存在しない命令が書かれていること」を指摘できていません

182名無しさん:2011/04/08(金) 01:26:05 ID:UebkSQsU0
改めて要望が許されるなら、
>>155が実装されるととても嬉しいです

183名無しさん:2011/04/08(金) 01:43:26 ID:W3g3n3Jg0
要望なんですが、その関数が存在するかどうかを調べる式中関数が欲しいです
下記の様な感じの物があると助かります

SIF EXISTFUNC(LOCALS)
PRINTFORM %LOCALS%はあります

(用途:事典などで説明関数が存在しない項目をグレーにしたり、事前判定に使用)

184名無しさん:2011/04/08(金) 02:33:28 ID:rjSbu88c0
>>183
それが出来る命令ならは既にあるので
wikiのTRYCCALL周辺を見てみてください

185名無しさん:2011/04/08(金) 02:52:14 ID:W3g3n3Jg0
>>184
お手数ですが、どの命令でしょうか?

当方レス前に一応調べており、「存在しても実行せず、存在の確認だけを行う命令」は無い様に見えたのですが

186名無しさん:2011/04/08(金) 14:43:46 ID:sxPCFmYo0
てか、3Dカメラで撮ったおっぱいがエロすぎるw
ttp://3dpix.zxq.net

187妊)|д゚):2011/04/09(土) 01:36:21 ID:NuUv5BTI0
ttp://ux.getuploader.com/ninnohito/download/236/Emuera1756beta2%2B.zip

・beta2+v19
 タイトルに戻る・コードの再読み込み等のコマンドが
 一部使えるべきでないタイミングで使えてしまっていたのを使えないようにした

188妊)|д゚):2011/04/09(土) 19:08:50 ID:NuUv5BTI0
ttp://ux.getuploader.com/ninnohito/download/237/Emuera1756beta2%2B.zip

・beta2+v20
 変数の引数が多すぎる時の警告表示がおかしいのを修正

189jpzentai:2011/04/12(火) 11:07:21 ID:sBdTG8rI0
素敵なセクシーランジェリーをお進みします〜〜
体にフィット感のあるシュミーズ・・ディープVネックのデザインで、
あなたの魅力をよくてんじできますよ!
適度に刺激をもとめるあなたに・・
ttp://www.jpzentai.com/japan-wholesale-135_139.html

190妊)|д゚):2011/04/13(水) 00:41:57 ID:usV/g.us0
ttp://ux.getuploader.com/ninnohito/download/238/Emuera1756beta2%2B.zip

・beta2+v21
 本来設定できてはいけない場所に$ラベルが定義でき、しかも呼び出せてしまうのを修正

191名無しさん:2011/04/16(土) 16:45:50 ID:2kadnbpI0
文字列の処理で全角スペースまでトリムで削られるのをなんとかできないでしょうか
LOCALS = (全角スペース)テスト文字列(全角スペース)
みたいなのとか

あとは全角スペースのみ登録ってのも可能にしたいですね
LOCALS = (全角スペース)
みたいな形で

もし不都合がありそうなら設定で変更できるって形でも大丈夫です

192名無しさん:2011/04/16(土) 19:32:56 ID:fRFoit/g0
>>191
実際に試してみた?

193名無しさん:2011/04/16(土) 23:34:04 ID:fFLhY00Q0
>>191

全角に限らず半角スペースでもそうですが、
スペースだけで構成された文字列を代入したい場合は、

 LOCALS = %"_"%

のような形で括ってあげる必要があります。

半角はともかく全角スペースは認識してほしいなあというのは俺も昔考えましたが、
どちらかというとこれは「引用符なしで直接文字リテラルを記述できる」という
eramaker の「便利かもしれないが困った仕様」が原因な気もしますね。

実際、Emuera で追加された文字演算なんかでは

 LOCALS += "_"

のような感じで書かないと受け付けてもらえません。

全角スペースだけ対応しても結局半角スペースは判断の付けようがないし、
これは eramaker との互換性的な観点からは仕方ないのかも。

とりあえず %""% で括ると上手くいきますよー、ということで。

194名無しさん:2011/04/18(月) 22:41:09 ID:RLJAotQ20
ちょっと質問
FOR〜NEXTループ中でBREAKしたときはカウント変数が1増えるのが仕様なんですよね?
eratohowikiのerabasic命令リファレンスだとREPEATのときだけみたいにとれるけど

195妊)|д゚):2011/04/18(月) 23:54:00 ID:FtyoK3YM0
>>194
仕様でよいかと思われます

196名無しさん:2011/04/19(火) 01:30:03 ID:Alb1beG.0
ですよね……ありがとうございました

197191:2011/04/21(木) 18:42:55 ID:IbLOjg2M0
遅レスすまん

>>193
そういった方法があるとは知りませんでした
代替方法でも実装できれば問題ないです
帰ったら色々試してみます
情報ありがとうございました

198妊)|д゚):2011/04/25(月) 00:09:41 ID:sEFy9Yks0
ttp://ux.getuploader.com/ninnohito/download/239/Emuera1756beta2%2B.zip

・beta2+v22
式中関数の再帰処理の問題修正

199妊)|д゚):2011/04/26(火) 20:44:32 ID:a3WFVMZE0
ttp://ux.getuploader.com/ninnohito/download/240/Emuera1756beta2%2B.zip

・beta2+v23
LINECOUNTの実装をCLEARLINEとの兼ね合いを考えてCLEARLINE型のカウントに変更
(内部処理中で分割された行も全部まとめて1行とカウントされます)

200妊)|д゚):2011/04/27(水) 20:07:01 ID:AYxcTOns0
ttp://ux.getuploader.com/ninnohito/download/241/Emuera1756beta2%2B.zip

・beta2+v24
CLEARLINEでLINECOUNTの値が更新されないのを修正

201妊)|д゚):2011/04/28(木) 07:11:30 ID:4seV2V2c0
ttp://ux.getuploader.com/ninnohito/download/242/Emuera1756beta2%2B.zip

・beta2+v25
コードの再読み込みが例外投げまくってくれる場合があるのを修正

202193:2011/05/03(火) 23:09:25 ID:kLneOfZo0
>>191
IRCのログを見たら「お前は何を(ry」と言われてしまっていたので改めて確認してきました。
現在の正式版 (1755〜) では何もしなくとも普通に全角スペースを文字として認識してくれますね。

俺が >>191 の現象に出くわしたのはかなり前 (確認したところ、1736 当時) だったので、
その後のバージョンで現在の仕様に変わった (直った?) のを知らないまま
>>193 のような認識を続けていた、というオチでした。
(半角スペースがどうしようもないのは変わらないので、個人的には %""% 方式を続けますが)

ということで、

 ・Emuera のバージョンが古くないか
 ・「設定」→「システム」→「全角スペースをホワイトスペースに含める」にチェックが入っていないか

の2点をご確認ください。
1736 は1年以上前のバージョンなので、おそらく後者でしょう。

お目汚し失礼しました。

203妊)|д゚):2011/05/04(水) 00:55:40 ID:HLSH3oW60
ttp://ux.getuploader.com/ninnohito/download/244/Emuera1756beta2%2B.zip

・bata2+v27
RETURNの引数が省略されたときRESULT:0に0が代入されなくなっていたのを修正

(報告抜け)
・beta2+v26
定義済み色名から文字色を定義するSETCOLORBYNAME実装
書式:SETCOLORBYNAME <定義済み色名>
定義済みの色名はC#内部で扱われるKnownColor列挙体(ttp://msdn.microsoft.com/ja-jp/library/system.drawing.knowncolor%28v=VS.80%29.aspx)に準拠します

204妊)|д゚):2011/05/09(月) 23:44:35 ID:B6u2k7TU0
ttp://ux.getuploader.com/ninnohito/download/245/Emuera1756beta2%2B.zip

・bata2+v28
システム関数中でARGを使っても警告が出ないのを修正

205妊)|д゚):2011/05/10(火) 00:06:20 ID:MX71cchw0
ttp://ux.getuploader.com/ninnohito/download/246/Emuera1756beta2%2B.zip

・bata2+v28(差し替え)
ちょっと事故コードをインプリしていたので修正

206名無しさん:2011/05/21(土) 02:12:12 ID:me1SN8Mc0
要望ですが、キャラクター変数に2次元変数を追加出来ないでしょうか

主人中心では無く、キャラ同士の好感度や恋慕等の素質を実装したバリアントなども増えて来ている為、
それらの情報を格納し易いメモリ領域を用意して貰えれば、開発が楽になると思います
(キャラクター変数の2次元変数なので、実質的には3次元変数です)

要素数も初期値を最小にしておけば、使わないバリアントでもメモリ消費は気にしなくて良いレベルになると思うので、
ご検討頂けたら嬉しいです

207妊)|д゚):2011/06/03(金) 01:33:29 ID:S5bRnLts0
ttp://ux.getuploader.com/ninnohito/download/248/Emuera1756beta2%2B.zip

・bata2+v30
TINPUTSの実装がtypoの結果大変なことになっていたのを修正

>>206
これについてはEmuの人の判断次第ということで

208名無しさん:2011/06/11(土) 03:41:24 ID:5uQrGsLk0
ユーザー視点での要望です。
セーブデータのうっかり上書き対策として、セーブデータが上書きの場合、
旧データのバックアップを自動的に作ってくれると嬉しいです
(付けるとしたらオプション機能で番号はsave98あたりが適当か?)
よろしくお願いします

209名無しさん:2011/06/11(土) 10:20:11 ID:588fbNjc0
要求するのはいいけどもうちょっと仕様つめた方がいいんじゃない?

上書き時には、本当に上書きするか聞いてくるのにまだバックアップ必要?
バックアップのさらにバックアップは要らない?
(上で言うとsave98のバックアップ)

210名無しさん:2011/06/11(土) 22:44:05 ID:gfzIDmbA0
うっかり上書きして困るんなら、上書き禁止機能のほうが確実なんじゃ?

上書きしようとすると
>このセーブデータには上書きできません。
>別のセーブデータを選択してください。
てな感じの。

211名無しさん:2011/06/11(土) 23:27:45 ID:588fbNjc0
それだとセーブ数の20回しかセーブできないことになるわけだがそれで良いのか?

実のところ、オートセーブの世代数を無限にするとかの方がいい気もするな。

212名無しさん:2011/06/12(日) 00:36:08 ID:ug7zCFWM0
上書き禁止フラグON/OFFの切り替え可にしとけばいいんじゃないか?
この場合、どこで切り替えるかが問題だが。

バリアントによってはセーブデータ個数・容量が恐ろしいことになりそうだから
オートセーブの世代数を無限ってのは勘弁して欲しいけどね。

・・・そんなPC使うな、って言われそうだが。

213名無しさん:2011/06/12(日) 01:21:43 ID:GKNQbq2o0
さすがに再起動しないとオンオフが切り替えられないのでは、お話にはならんだろうなぁ。

ある意味では上書きフラグは「オフ」になっていて、上書きするかどうかその都度聞かれて「オン」になっているとも言えるわけだが。

オートセーブの世代数に関しては当然コンフィギュレータブルで、
現在OFF/ON(1世代)となってるのを、OFF/n世代/無制限 とするだけだろうね。
面倒くさいのはロードの扱いだが。

結局>208みたいな粗忽なバカは何をやっても救えないので「ファイルシステムの方のスナップショットを拾ってください」でもいいい気はする。

214名無しさん:2011/06/13(月) 02:54:56 ID:3i0HKCr.0
以前にもちょろっと話があったかも知れませんが、
「関数が存在するかどうかをチェックする命令」が欲しいです。
関数がある/式中関数がある/ない の3つが分かると理想的ですが、いかがでしょ。

215名無しさん:2011/06/13(月) 03:05:51 ID:N6HBRjOM0
で、try catchでいいじゃんって話になったと思うわけだが。

それでダメだと思うなら、妥当なユースケースを提示しないと実装する気にならんと思うよ。

216名無しさん:2011/06/13(月) 21:39:23 ID:3i0HKCr.0
「あったら実行する、なければ何もしない」だと
あるかどうか知りたいけど実行させたくないときがちょっと不便ですね

ま、今遭遇したのはCOM**作りきる前にテストプレイしてるときとかですので
これがないと作れないものがあるとかってわけじゃないですが。

217名無しさん:2011/06/14(火) 00:11:26 ID:BAge3lgI0
実行しなくてもいいなら、テキストエディタのGrep機能で
@COM1〜@COM9やればリストアウトできるんじゃね?

218名無しさん:2011/06/14(火) 01:08:09 ID:MCOYkqZg0
というか、TRYC〜でいいじゃんという話になった、というよりは

「関数の存在チェックが〜」
「TRYC〜でできるだろ」
「どれだよできなくね?」

で止まってる話題だねえ

219名無しさん:2011/06/14(火) 01:25:24 ID:a2HnH8NA0
>>215
>>183で要望した者だが、>>183-185の話だな

>で、try catchでいいじゃんって話になったと思うわけだが。
>>218氏に書かれてしまったが、途中で止まってるのが正解

>妥当なユースケースを提示しないと実装する気にならんと思うよ。
事前判定に使うので、以下の様な用途じゃ駄目かね
> 「存在しても実行せず、存在の確認だけを行う命令」
> (用途:事典などで説明関数が存在しない項目をグレーにしたり、事前判定に使用)


存在チェックはtry catchじゃ不可能なんで、実装を心待ちにしていたり。あると便利だし

220名無しさん:2011/06/14(火) 01:54:43 ID:7vW/IFgg0
適当な引数渡して、それを見たら関数の冒頭でRETURNさせればいいだけなのでは
SIF ARGS == "CHECK"
  RETURN 0
とかなんとか
まあ、あればあった方が楽なんだろうけど、心待ちにするほどの用途かは疑問

221名無しさん:2011/06/14(火) 02:11:05 ID:MCOYkqZg0
引数のない関数に限定すればそれでもいいかもね

222名無しさん:2011/06/14(火) 02:18:59 ID:7vW/IFgg0
言ってることがよく判らない
引数があるとなんで>>220の方法が使えないのだろう
定義したARGSのサイズを、全て本来の引数で使い切ってたら無理だけど、
それなら定義変えりゃいいだけだしねぇ…

223名無しさん:2011/06/14(火) 02:20:08 ID:a2HnH8NA0
> 心待ちにするほどの用途かは疑問
辞書項目とか下手すると200とか300とかの関数が作られるんだし、
これら全てに関数内部でチェックさせるのは流石に非効率かと
また他にチェックしたい場面が発生した場合に、個別にカスタマイズしないといけない労力が発生するのも難点

一応現在はインデックス関数作ってそこ見る様にしてるけど、これも2重管理だし正直どうかなっていう
そりゃ「○○すれば良いじゃん」って言うのなら、過去の変数の宣言不能ですらメモリ管理すれば何も問題無い筈だし…
それは要望の本質間違えて無い?っていう。現状より便利にしたいのと、現状で不可能か可能かは視線が違うかと

224名無しさん:2011/06/14(火) 02:22:13 ID:85xwxaKM0
そもそも存在の確認だけだったらERBフォルダのD&Dでいいじゃん
あとはデバッグウィンドウの活用でどうにかなるんじゃない?

225名無しさん:2011/06/14(火) 02:23:15 ID:MCOYkqZg0
>>222
現実的じゃないと思うの

226名無しさん:2011/06/14(火) 02:28:16 ID:7vW/IFgg0
>>223
何百個も並列で存在する関数なんて、最初にテンプレ作って内容埋めるんじゃないの?
全部1から書き起こす訳じゃあるまいし、
テンプレに入れといたら労力としては実質0だと思うけど
それこそインデックスで二重管理するよりは、シンプルで楽だと思うけどなぁ

いや別に俺は、その要望に反対してる訳じゃないよw
ただ心待ちにするくらいなら、自前で解決した方が早いんじゃないかと思っただけ

227名無しさん:2011/06/14(火) 02:29:19 ID:MCOYkqZg0
>>226
どうして「関数の存在をチェックする関数」の使用対象が
「何百個も並列で存在する関数」だけってことになっちゃってるの?

228名無しさん:2011/06/14(火) 02:38:37 ID:7vW/IFgg0
>>227
別にそれはお前さんに言った訳じゃないし…
お前さんにレスをつけるとするなら、現実的じゃないとは思えない
そんだけ

なんか作りかけで具体的に困ってるなら、それを見てみたいな
ひょっとしたら、解決に協力出来るかもしれないよ

229名無しさん:2011/06/14(火) 02:52:10 ID:yTsl2IMM0
テンプレ作る段階じゃなくて既に相当数ある関数に存在判定付けたい場合はまあ>>220は正規表現+置換とかでも使わんとめんどくさいというかしんどいよね
例えば口上とかRPG系のスキルやらなんやらとか

あと地味なところで式中関数である=他の式中関数で使用可能っていうのが便利というか
FORMで呼べる式中関数とても待ち遠しいですハイ

230名無しさん:2011/06/14(火) 04:26:32 ID:l37tGw5Q0
>>229
> テンプレ作る段階じゃなくて既に相当数ある関数に存在判定付けたい場合はまあ>>220は正規表現+置換とかでも使わんとめんどくさいというかしんどいよね

???
既に存在判定がなくても動作していたコード群なら、わざわざ後から存在判定関数を追加する必要がないのでは?

> 例えば口上とかRPG系のスキルやらなんやらとか
今でも口上のテンプレートを変更するときには、どうせ苦労して追加する必要はあるので、何が問題だか分からない。

> あと地味なところで式中関数である=他の式中関数で使用可能っていうのが便利というか
> FORMで呼べる式中関数とても待ち遠しいですハイ

式中関数の有無が、どのようにチェックできることを想定しているの?
上のARGS == "CHECK"でなにか困るの?
イメージが沸かないから一度サンプルコード書いてみてよ。

231名無しさん:2011/06/14(火) 05:14:45 ID:7vW/IFgg0
>わざわざ後から存在判定関数を追加
>>223の方式から移行するとしたら、ということでしょう

式中関数云々はよく判んない
↓みたいなことを言ってるのかし…
PRINTFORML %%hoge_f()%_f()%
@hoge_f
#FUNCTIONS
RETURNF "hogehoge"
@hogehoge_f
#FUNCTIONS
RETURNF "hogehogehoge"

232名無しさん:2011/06/14(火) 08:17:01 ID:l37tGw5Q0
>>231
> >わざわざ後から存在判定関数を追加
> >>223の方式から移行するとしたら、ということでしょう
意味がわからない。

> 式中関数云々はよく判んない
> ↓みたいなことを言ってるのかし…
式中関数の有無の確認をしているコードには見えない

233名無しさん:2011/06/14(火) 08:31:55 ID:l37tGw5Q0
>>231
> 式中関数云々はよく判んない
> ↓みたいなことを言ってるのかし…
あぁ。>229は途中で全く別のことをいい始めていたのか。

意味はわかったが、具体的な使用コード例をあげて欲しいところ。
どうしても式中関数でそれをしたいというシーンが思い浮かばん。
式中関数は制限も多いし。

234名無しさん:2011/06/14(火) 09:48:41 ID:1x0TlfykO
誰も「こんな関数がないと開発ができなくて困ってます」とは言ってないのに
なぜか既存の関数でいかにして実現するかの流れになる不思議

そりゃおめえ、切符間違えて買わないように気を付けりゃいいし
安いの買っちゃったら駅員に言えばいいから乗り越し精算機は要らんね

235名無しさん:2011/06/14(火) 10:18:04 ID:A4ZNDegw0
その辺は利用頻度というか費用対効果しだいでしょうな
東京駅に乗り越し精算機を置くのは有用だけれど
地方の寂れたローカル駅に置くかどうかは鉄道会社の判断しだいだ

もちろん意見出すのは有意義だけど、開発側からレスポンスがないってことは
作る苦労に見合わなさそうだと思われているんじゃない?

236名無しさん:2011/06/14(火) 11:32:04 ID:1x0TlfykO
そうだねえ。例えばテンプレに

要望に対して開発者からのレスポンスがつかないものは、
費用対効果に見合わないなどの理由で実装される予定がないものだと思ってください。

とでも書いておけば同じ話題が繰り返されることもなくなって良いのではないでしょうか

237名無しさん:2011/06/14(火) 15:49:45 ID:B2HombaI0
費用対効果なんか、もともと存在しねぇよw(フリーなんで持ち出しオンリー) というひやかしはさておき
なんにしろ開発者以外が要望にたいしてあーだこーだ言う類のもんでもなかろう
開発者にしたって、Emuの人と妊の人ぐらいなんだから、そうそうレスポンスもないしな

238名無しさん:2011/06/14(火) 17:08:53 ID:FArEGD1I0
今更ですまんが、関数の存在だけを判定する命令は随分前にIRCで案が出されて速攻で却下されてたぞ

239名無しさん:2011/06/14(火) 20:30:18 ID:l37tGw5Q0
>>234
そりゃ困ってもいない。つまり使うあてもない新機能を実装を実装しろといってるとは誰も考えないからだよ。

お前の例えで言えば、電車に乗ったこともない奴が乗り越し精算機を導入しろと騒ぎ立てているようなもの。
そんなキチガイ相手する必要ないだろ

240名無しさん:2011/06/14(火) 20:47:20 ID:1x0TlfykO
ははあ
ちょっと待ってくれ、翻訳機の調子がおかしい

241名無しさん:2011/06/14(火) 20:51:59 ID:l37tGw5Q0
チョンかよ。

242名無しさん:2011/06/14(火) 21:06:21 ID:85xwxaKM0
>>241
ぅゎ……

243名無しさん:2011/06/14(火) 21:08:21 ID:BDi7Ide60
どさくさに紛れて今更な質問するが
emueraってeramakerで採用されているERBに独自拡張を加えていて、
どの程度拡張するかはemueraの人の裁量って事でいいんだよね?

244名無しさん:2011/06/14(火) 21:52:47 ID:l37tGw5Q0
>>243
> どの程度拡張するかはemueraの人の裁量って事でいいんだよね?
今更で当然の話だね。

ただ、ライセンスには
以下の制限に従う限り(略)自由に改変して再頒布することをすべての人に許可します。
(以下略
とあるわけだから、ライセンスに従って自由に派生して独自拡張してもいいのよ。

>>229は待ち遠しいなんて言わずに自分で追加実装してもいいし。
IRCで断られたという、関数の存在だけを判定する命令だって、自前で実装して配布してもかまわないわけよ。

245名無しさん:2011/06/14(火) 22:37:24 ID:3QV7F76E0
今では共同開発みたいな感じだけど、元々私家版もそういう本家と無関係な派生物だったわけだしな
実際本家では実装が見送られたり、取り込まれても仕様が異なったりしていた

246名無しさん:2011/06/14(火) 22:49:26 ID:BDi7Ide60
>>244
サンクス
そうであるなら個人的には、指摘だけでなくコードの提示も行った方が建設的だと思うよ

>>245
なんとなく、機能的には私家版∋emuera本家∋eramekaerって思い込んでいたが
そういう訳ではないね
どもです

247名無しさん:2011/06/14(火) 23:01:28 ID:l37tGw5Q0
>>246
> そうであるなら個人的には、指摘だけでなくコードの提示も行った方が建設的だと思うよ

オレもそう思うよ。そこまでやろうとするひとは全く見られないが。

もしオレに「コードの提示も行った方が建設的だと思うよ」と言ってるなら筋違い。
新機能を実装しろなんて指摘はしたことがないのだから。
オレから見て妥当な仕様提案は一つも見られないから、コードの実装をする気にはならんね。

実際に使用してうれしい使用例の提示があれば、妥当な仕様提案に見えるかもしれないが、そういう提示も全く見られない。

248名無しさん:2011/06/14(火) 23:57:47 ID:a2HnH8NA0
バリアントと違って本体だからね。余り派生とか私家版専用命令とかは作りたくないっていう
今でさえEmueraの機能を全部把握してる人間なんて少ないんだし、この上派生で仕様が違うとか勘弁だろw
「こういう命令組もうと思ってるけど取り込める?」とか相談して、開発前に実装可否が聞けるのならコード組む気は起きるけどね
作った後で「取り込み無理」ってなって、本体の派生毎に仕様が違うとかなったら目も当てられないかと

私家版でスタンダードになってやる、ぐらいの気概が無いと無理だし、そんな気力は無い。というか不可能。本体が優秀過ぎる
でもってEmuの人も見えないし、相談して開発とか無理っていう。それなら要望を出して実装を待ちつつも、既存機能で組むのが安牌となる

249名無しさん:2011/06/15(水) 00:55:25 ID:U9m.p6Fo0
このスレいつからこんな変なのが来るようになったんだろうな

250名無しさん:2011/06/15(水) 01:13:24 ID:tpc7SvCU0
かといって、やれば出来るからで全部却下ってのも、それはそれで変な気がする
出来る出来ないで言えば、TRY系が無くてもダミー関数等で対応は出来る
100以上のキャラの扱いも
可読性が失われるとか、処理が遅いという問題はあったけど

これが無いと出来ないって事はもう出尽くしてる
やらないと明言された物以外だと、利便性の向上ぐらいしか出てこないと思う

251名無しさん:2011/06/15(水) 02:25:48 ID:tpc7SvCU0
>214の件実装出来たのでソースだけ貼っとく
下の2つを似たようなのが並んでる箇所に挿入してコンパイルすれば
FUNCTIONEXISTS( 関数名 ) という式中関数が使えるようになる

>Creator.cs
methodList["FUNCTIONEXISTS"] = new FunctionExistsMethod();

>Creator.Method.cs
private sealed class FunctionExistsMethod : FunctionMethod
{
public FunctionExistsMethod()
{
ReturnType = typeof(Int64);
argumentTypeArray = new Type[] { typeof(string) };
CanRestructure = true;
}
public override Int64 GetIntValue(ExpressionMediator exm, IOperandTerm[] arguments)
{
return (exm.Process.LabelDictionary.GetNonEventLabel(arguments[0].GetStrValue(exm)) == null ? 0 : 1);
}
}

#動作確認用のERB
IF FUNCTIONEXISTS("SHOW_SHOP")
PRINT 関数有り
ELSE
PRINT 関数無し
ENDIF

252妊)|д゚):2011/06/15(水) 02:34:30 ID:/H8WE2yY0
さて、何かよくわからんことになってますが

Emuの人がどう考えるかは自分にはわかりませんが
自分としては関数の存在判定の必要性を感じませんので実装予定はありません

253妊)|д゚):2011/06/15(水) 02:39:08 ID:/H8WE2yY0
後、Emuの人ですが、
こちらの方でももう1ヶ月以上音信がない状態が続いておりまして、
いつ正式版が出るのか皆目見当もつかない状態になっています

254名無しさん:2011/06/15(水) 02:39:59 ID:JCvsg9920
妊の人に代わって私家版を作る時期かなこれは
ぶっちゃけた話遅くならない限り、メソッドは何があっても良い筈だし
YMみたいにバンバン混ぜれば良いんじゃね。使いたい奴だけ使う感じで

255名無しさん:2011/06/15(水) 02:51:56 ID:U9m.p6Fo0
ま、本家が更新されるごとに>>251のコードを拝借して逐一追加してもいいんでない

256名無しさん:2011/06/15(水) 04:42:33 ID:OCHaGaro0
そもそもTRY何とかの山をつくるよりも、確認関数を1本作るだけの方が筋が良かったと思うけど。

257妊)|д゚):2011/06/15(水) 05:17:30 ID:/H8WE2yY0
>>256
エンジンの側から見れば、想定通りの動作を保証できないような処理の方がはるかに筋が悪いのです

文字列をキーした探査なんて、その人1人で閉じたコードならともかく、
それ以外の環境ではバグハッピーで、とてもじゃないが使わせたくない代物です
自分が見ようとしているものが本当に自分が見たいものかなんて確認のしようがないのですよ

258名無しさん:2011/06/15(水) 05:23:23 ID:OCHaGaro0
>>257
結局trycallだって同じ処理をしてるわけで。
何を気にしてるのかさっぱり分かりません。

259名無しさん:2011/06/15(水) 05:25:12 ID:JCvsg9920
まぁ少なくとも平方根出す関数が追加されてる時点で、必要性云々を言い出すのは何の冗談だよと思ってしまうが
大事なのは一体何人がその関数を使いそうなのかと、実装が面倒かどうかだけかと

必要性とかお題目唱えるより、「面倒だからパス」と言ってくれた方がまだ理解出来る。変に取り繕われると心証悪いかもね

>>257
>文字列をキーした探査なんて、その人1人で閉じたコードならともかく、
>それ以外の環境ではバグハッピーで、とてもじゃないが使わせたくない代物です
文字列って結局文字コードなんだし、実行環境が変わっても同じなんでは?
実行機はクライアントで完結してるんだし、実行環境の文字コードが実行中に変わるとか言うのなら、それどんな状況っていう

260妊)|д゚):2011/06/15(水) 05:43:07 ID:/H8WE2yY0
>>258
実際に呼ばれる→想定外の呼び出しが起こればほとんどの場合すぐにわかる
呼ばれない→想定外に存在があった場合に開発側がそれを検知するのがまず困難
問題が起きた時に雲泥の差なんですよ
特にera系の開発はこういう問題起こりやすいバッググラウンド抱えてますので

で、おそらく、こういう事をやりたいということならば、
何かしら識別用の専用プリプロセッサでも作るか、ファイルの存在判定あたりを考えたくなるところです
もちろん、そのパッチが何かしら独自のファイル持つという形になるならということになりますが

ここらへんについては重複が容易に起こる関数名に頼る実装よりは、
見たい物がそれ自身であることをもっと容易に識別できる仕様であるべきだと考えてます

261名無しさん:2011/06/15(水) 05:51:56 ID:OCHaGaro0
>>260
だからすでにTRY系関数を実装して実行時に関数の有無をチェックする仕組み
をつくっている時点で何を言ってるのかと。

TRYCALLFORM foo_{ARG}
bar
CATCH
bas
ENDCATCH



IF EXISTFUNCTION( foo_{ARG} )
CALLFORM foo_{ARG}
bar
ELSE
bas
ENDIF

と等価でしょ。

TRY系関数を作ったこと自体失敗だったって話をしてるの?

処理系のテスト的にはtry系のテストケースが素直に増える前者よりEXISTFUNCTION関数のテストをするだけの後者の方が楽だと思うが。

262名無しさん:2011/06/15(水) 06:06:58 ID:JCvsg9920
TRYの山は最初見た時同じ事思ったかも知れんが、昔過ぎて忘れたな…
ただ素人が作ってるんだろうし、目くじら立てずに適当でも良いんじゃねとは思う。動くのが凄いし、開発側も楽しめばおけ
もし本職なら、少なくとも仕事では出会いたくないが。超設計が結構ある…

>>260
>重複が容易に起こる関数名に頼る実装よりは、
>見たい物がそれ自身であることをもっと容易に識別できる仕様であるべきだと考えてます
IRCでの反応でレスすると、「?w」ってなるレスだな…
勿論この反応は失礼極まりないので水に流して…ERB上で重複が起きると何か問題なの?

そもそも関数の存在チェックなんてERB解析時に関数名を文字列配列にスタックして、
チェック時にそれを走査すれば良いだけと思ってんだが…配列の仕様は重複無しのユニーク配列で。
1レコード半角40文字の40byteとしても、1000関数で40kb。メモリもそんなに食わないだろうし

263妊)|д゚):2011/06/15(水) 06:17:51 ID:/H8WE2yY0
>>260
そういう話はしてないです
デバッギングを考えた時、実際に呼ばれて処理がされるものとそうでないものとでは
状況によっては問題の度合いが変わるということを言ってるだけです
直接原因の見えにくい問題はデバッグが大変なのです

TRYCALL系の実装はその名前の関数があれば読むなので、
単純な関数名探査と同じ欠点を抱えているのは確かですが、
それはもっと処理量の多くならざるを得ない実装にすることを避けた結果です
(基本、フロー処理を含む場合、Emueraの内部処理でifされるかスクリプトでIFされるかは
 処理量の差が結構大きいので後者は非常に無駄が多いのです
 なので、TRYCALL型の方がEmueraの実装としては遙かにベターです
 同じ欠点を抱えてるのに処理がさらに重たくなる形をわざわざ実装する意味はないですし)

関数存在確認が必要と言えるのは、>>261のような呼び出す前提のコードなどではなく
関数の存在は確認するけど「そこでは絶対に呼び出さない」という形でしか実装しようがない処理が必要になる場合だけだと思います

で、この場合で関数探査だけが必要というのであれば
もっと欠点の少ない方法でほぼ同等の機能の実装が可能な領域にあたります
なので、この場合も関数名をキーする実装ではなく、そちらでやるべきというだけです
(もちろんパフォーマンス上はTRYCALL系に比べて多少落ちるのはしょうがないとしても
 こちらはconsistentな処理結果が期待できるという差別化もできますし)

264名無しさん:2011/06/15(水) 06:50:48 ID:OCHaGaro0
>>263
> そういう話はしてないです
> デバッギングを考えた時、実際に呼ばれて処理がされるものとそうでないものとでは
> 状況によっては問題の度合いが変わるということを言ってるだけです
> 直接原因の見えにくい問題はデバッグが大変なのです
TRY系命令で全く同じ問題があるのに今更何を言ってるのですか?

> TRYCALL系の実装はその名前の関数があれば読むなので、
> 単純な関数名探査と同じ欠点を抱えているのは確かですが、
> それはもっと処理量の多くならざるを得ない実装にすることを避けた結果です
全く関係ない話ですね。
パフォーマンスの問題は実装するかしないかの後にくる話です。
正直どうでもいいレベルの速度差しかでないと思いますけど。
VARSETみたいな劇的な違いがでるとおもっているの?

>  同じ欠点を抱えてるのに処理がさらに重たくなる形をわざわざ実装する意味はないですし)
IFで自前で処理させた方が柔軟な処理が行えますね。

> 関数存在確認が必要と言えるのは、>>261のような呼び出す前提のコードなどではなく
> 関数の存在は確認するけど「そこでは絶対に呼び出さない」という形でしか実装しようがない処理が必要になる場合だけだと思います

口上などで、
必須サブ関数を処理の頭で全部チェックして弾く。
(チェックロジックを頭にまとめたい)
複数の関数のうち存在するもの一つをランダムで呼び出す。
(存在する関数のみ文字配列に突っ込んで、CALFORM %LOCALS:(RAND:個数)%で呼び出す)
というような場合は、存在確認関数がないとダメ/すっきりかけますね。

> なので、この場合も関数名をキーする実装ではなく、そちらでやるべきというだけです
そちらってなんですか?
プリプロセッサで静的に処理という話であれば、
動的にやってるTRY系命令があるのになんで?
静的に有無をチェックしても結局呼び出し時は
CALLFORMで動的に関数を探して呼ばないといけないし。
中途半端じゃないですか?

そもそもプリプロセッサで静的に処理という考え自体が
TALENT配列の添え字に文字列がそのまま使える用に拡張されている
というような今までの拡張方針に反していると思いますが。

プリプロセッサにかける前のコードとかけた後のコードの二重配布とかバカバカしいですし。

265妊)|д゚):2011/06/15(水) 07:07:16 ID:/H8WE2yY0
>>264
さすがにもう眠いのと、最早議論自体が目的化してきてしまったのでそろそろしめますが、
あなたが上げた理由は関数名探査関数が必要な理由にはなりませんし、
そもそもTRYCALL系に欠点があるのにというのであれば、
こちらはその避けようがない欠点があるものをさらに増やすつもりはありません
(当たり前ですが、すでに広い範囲で用いられているTRYCALL系の実装を消すことはありません)
欠点は減らしていくものであって、増やすものではないですし

Emuの人がどう考えるかは自分の関与するところではないので、
最後はEmuの人の判断次第でしょうが、
少なくとも自分の私家改造でこれまでに上げられたような実装をすることはなく、

関数の存在は確認するけど「そこでは絶対に呼び出さない」という形でしか実装しようがない処理がどうしても避けられない
ということがあれば、もう少しconsistentに処理できる実装で実装しようかと思います

266名無しさん:2011/06/15(水) 07:14:05 ID:OCHaGaro0
>>265
> あなたが上げた理由は関数名探査関数が必要な理由にはなりませんし、
あなたが挙げた理由は関数名探査関数を実装してはならないという理由にはなりません。

267名無しさん:2011/06/15(水) 07:20:26 ID:JCvsg9920
>>263
すんげー何言ってんのか分かんなくて、俺の中の妊の人の株がガタ落ちなんだけど…

>>265
>関数の存在は確認するけど「そこでは絶対に呼び出さない」という形でしか実装しようがない処理がどうしても避けられない
>ということがあれば、もう少しconsistentに処理できる実装で実装しようかと思います
いや既に「そう言う事がある」んですが…上の方で出てますがな
勿論代替方法があるから、各自それを行っているだけで。あるいは諦めたり。問題自体は既に発生してますよ。うん


なんつーか妊の人は「俺が絶対正しい」という感じの思想なのがこの件で垣間見えたし、論調的にも期待できそうにない
Emuの人も音信不通…
もうこれは自分で作れって事じゃね多分。実にeraらしいが

268名無しさん:2011/06/15(水) 07:21:14 ID:OCHaGaro0
こちらは、TRY系関数に問題があるとも思っていないし、同様に関数の有無をチェックする関数にも問題があるとは思っていないわけです。

あなたの関数の有無をチェックする関数を実装すると問題があるという主張を読むと、
TRY系関数にも同様の共通する問題があるということになり、そもそもTRY系関数も実装するべきではなかったと言うことになる。

だから>261で確認したのだが、違うという回答があった。わけが分からん。

あそこでもし、はいその通り、TRY系関数の存在は問題。しかし自分が設計した仕様じゃないし既に利用したコードがたくさんあるのでどうしようもない。

という答えが返ってきていたら、はいそうですか、で終わっていたはずの話です。

269名無しさん:2011/06/15(水) 09:49:56 ID:CiS6Zjag0
>>260 >>263で妊の人が言いたいのは
存在するけど中身が別物、な場合の話じゃないのかしらん。
TRYCALLだったら存在してたら呼ぶから違ったことしてるのが分かるが、とか
そういうレベルの。

ここで想定されてる開発側は妊の人とかEmuの人でなくバリアントやパッチ作者だと
そう読んだわけだが、どないなものだろう

270名無しさん:2011/06/15(水) 09:59:33 ID:OiZlCIAwO
ERB側で「行けると思ったけど行けなかった」って勘違いするからダメってことなら、
Emueraのバージョンを取得する関数が必要になってくるな

271名無しさん:2011/06/15(水) 10:45:28 ID:tEfHSxd.0
>>269
そもそも
>TRYCALLだったら存在してたら呼ぶから違ったことしてるのが分かる
というのが妄想だと思う。

実行するから一貫性が保証されるって論理が意味不明。
そもそもEXISTFUNCTION()を使うやり方でも結局関数を呼ぶわけだし。

関数の存在をフラグとして使うだけで呼ばないって使い方もないことはないけど。
なにもしない関数をTRYCALL - CATCHで呼ぶのと変わらないし、
実際に関数を呼んだからといってその関数が期待通り空だったかどうかなんてチェックのしようがない。

272名無しさん:2011/06/15(水) 11:21:15 ID:yhergTr.0
本家の人はいないし妊の人は家版では実装しないって言ってるのだから
必要に感じてる人たちが自分らで作る方が建設的だわな

派生品がいくつも出ることに関して言えば
バリアント製作者が自分のバリアントに必要な機能を持ったeraを選べばよいだけだよ
プレイヤー側が迷惑被るなんてそうそうないでしょ
バリアント同梱のeraを別の物に変えてプレイするなんて
自己責任でお願いしますで良いレベルだ

273名無しさん:2011/06/15(水) 19:38:41 ID:JCvsg9920
era本体の派生品がいくつも出ることの問題点は、バリアント作者はともかくパッチ作者が困る点かと
プレイヤーは困らないよ。でもパッチ作者は、軽い改造すら本体の仕様を理解して無いと書けなくなる可能性がある
つまり協力者が出にくくなるから、結果的に廃れる原因になる
era2なんか、独自拡張した派生と言えなくも無いし、そう考えるとまさに「仕様が違うから協力者が出ない」っていう状況になってるし

と言う訳で、本体の乱立はオススメはしないかな。乱立されてるバリアントの流行り廃りと、恐らく相似形の結果になる
しかもバリアントと違って、本体なんか作ってても楽しくないしね。折角作ったのに誰にも使われなければ、尚更詰まらんだろう

って事で、結局実装待ちながら代替方法で解決するのが安牌かと。もしくは集団移籍を決めてから新eraの開発とか

274名無しさん:2011/06/15(水) 20:42:25 ID:SO90FN5s0
別に集団移籍だろうが私家版だろうがそれは自由だけど、ネーミングは従来のEmueraとは
区別つけるようにしてほしいね。
それさえすれば問題はないだろう。どっちが生き残るか?なんてやってみなければわからんし

275名無しさん:2011/06/15(水) 21:00:46 ID:QcGdkWkM0
ここだけはっきりさせて欲しいんだが
>あるかどうか知りたいけど実行させたくない
って言う状況はどういう状況?

あと>>183-185の部分だけど>>183を見ると
事前に判定する必要がない様に思えるから>>184がTRYCCALLでその場で判定させるといいよって言ってるんだと思う

276名無しさん:2011/06/15(水) 21:12:06 ID:JCvsg9920
>>275
>事前に判定する必要がない様に思えるから>>184がTRYCCALLでその場で判定させるといいよって言ってるんだと思う
例えば事典機能ってまず「項目一覧画面」があって、そこから「個別詳細画面」に移ると思うんだが、
この一覧画面の時点で、「その項目の説明関数が無ければグレーアウト」って処理をしたいの
もしここでTRYCCALLでやると、一覧画面に説明文が表示されてしまう。存在だけが知りたいと

そして「それなら確認関数作れ」って言うのなら、二重管理じゃんかウボァーって話
または「引数でリターン制御しろ」って言うのなら、テンプレ作成時のコストがハンパ無いし言語として問題じゃねって話
で、今は泣く泣く二重管理してるって訳

277名無しさん:2011/06/15(水) 21:14:05 ID:U9m.p6Fo0
もう、この話はスパッと打ち切って双方住み分けに徹しましょうよ

278名無しさん:2011/06/15(水) 21:15:30 ID:Z7qbYMAc0
関数名探査関数を実装しなければemueraが動かないというのでないならならわざわざ妊の人が実装する必要はないと思います
開発者は実装してはならないものでなければ実装しなければならないなんてことは無く、そんなのは開発者に期待しすぎだと思います
そんなに必要だと思うならあなたが実装してあなた自身の私家版を作ってはいかがですか? それならば、誰も文句は言いません

279名無しさん:2011/06/15(水) 21:24:45 ID:JCvsg9920
>>278
だからまぁ前レスでも書いたが、「必要性云々とかは関係無く好き嫌いで決めてます」とか言って貰った方が心証が良いと
必要性なら欲しがってる奴が居るんだし、ゼロでは無い。好き嫌いならまさに開発者の自由だし
それに必要性云々を言うなら、LOGとかあの辺の意味不明な命令の方が謎だよねって言う。誰が使うんだよwとかなる

変に理屈こねて耳触りが良い様に正当化してるから、いらない所で突っ込まれてるんじゃねーのかな、うん
「好き嫌いで何が悪い」ってんなら、誰も文句は言いませんかと。こんなに伸びて無い筈

280名無しさん:2011/06/15(水) 21:25:49 ID:RUrS26Zg0
>>276
それなら「関数名」で探させなくてもいいんじゃない?
たとえば#VERSION 12とかを関数に仕込んでCHECKFUNCVER(関数名)で関数のバージョン(キーとしても使えるか)を返させれば
仮に無いなら0でも返させれば関数が存在するかだけでなく新旧もわかってより効果的

281名無しさん:2011/06/15(水) 21:33:53 ID:U9m.p6Fo0
>>279
ま、なんだ、「不要だと一蹴された」と思うよりは
「不要だと思う人もいた」くらいに思っておいた方がいいんじゃないかな
他の誰かが必要だと思って作り込むかも知れないし

282名無しさん:2011/06/15(水) 22:09:27 ID:QcGdkWkM0
>>276
これも二重管理なのかもしれないけど例えば
@項目一覧
TRYCCALL 詳細A 〜 CHACH 〜 ENDCATCH

で『詳細A.ERB』の中に
@詳細A
CALL 詳細A-1
@詳細A-1
詳細A-1の内容

とかやって『詳細A.ERB』を消したり中身を[SKIP]させちゃう方法じゃダメなの?
って俺は思ってしまう。

あと、妊の人はきちんと必要性も感じないし『欠点を増やすのが嫌だから』実装しませんって言ってると思う。

283名無しさん:2011/06/15(水) 22:39:16 ID:JCvsg9920
まぁここまで結構レスしたが、正直実装されなくてもなんとかなるよねっていう

>SKIP
その手があった。ループのネスト並にあんまり好きじゃないけど、作業はスリム化しそう
まぁ「欠点を増やすのが嫌だから」ってのは分からなくも無いが…実際は影響無いと思うけど。余り書かないが

284名無しさん:2011/06/15(水) 22:42:02 ID:CiS6Zjag0
ゲーム開発におけるLOGの有用性について語ったら日が暮れる

>>269で何が言いたかったかと言うと、
>>264
> > デバッギングを考えた時、実際に呼ばれて処理がされるものとそうでないものとでは
> > 状況によっては問題の度合いが変わるということを言ってるだけです
> > 直接原因の見えにくい問題はデバッグが大変なのです
> TRY系命令で全く同じ問題があるのに今更何を言ってるのですか?

これがぜんぜん分からんって言いたいだけなんだ
TRY系、関数あったら呼ばれて処理がされるんじゃないの違うの?

それだけ。俺は撤収。

285名無しさん:2011/06/15(水) 23:44:14 ID:U9m.p6Fo0
まあ、これ以上議論したいならIRCにでも行ってみればいいんでないの
向こうでこの話題に触れてるかどうかは知らんけど

286名無しさん:2011/06/16(木) 06:14:34 ID:IdbazFt20
>>284
>271

287名無しさん:2011/06/16(木) 08:04:17 ID:DBLtyGc60
すまん、>>284に対して>>271だと何が言いいたいのかよく分からん。

288名無しさん:2011/06/16(木) 09:28:36 ID:SMSFobG6O
この件についてはIRCでも議論されているので、
これ以上続ける前に一度6/14〜6/15あたりのログに目を通しておくことをオススメします

289名無しさん:2011/06/16(木) 09:53:34 ID:8/gy9tmg0
これ以上続けても好転はしないだろう。開発者自身が、言い方が気に入らないから作る気しないとか言ってるし…
心変わりでも待ってこの話題は終わっとこう

290名無しさん:2011/06/16(木) 13:05:38 ID:YP3lF/QU0
>>289
どこで誰がそんなこと言ってたのかと

291名無しさん:2011/06/16(木) 17:44:11 ID:1zfVGPCg0
続けろとも言わんが、別に終わらせる必要があるとも思わぬ
関係者以外は黙ってりゃいいし、
このスレに沿った話題が別にあれば気にせず出せばよい

292名無しさん:2011/06/16(木) 18:37:23 ID:tAGpV.Ds0
結論はでてるから意味ないよね
この話を続けると開発者のモチベーションをどんどん下げるからね
「俺の考えた一番いい提案を受け入れられない開発者はいなくなってしまえ」
とか考えてるのでなければ、終わらせた方がいいよね

293名無しさん:2011/06/16(木) 21:29:14 ID:IdbazFt20
>>288
> この件についてはIRCでも議論されているので、
> これ以上続ける前に一度6/14〜6/15あたりのログに目を通しておくことをオススメします

どこでログが読めるの?
ざっくり検索した感じではログの公開ページは見当たらなかったけど。

294名無しさん:2011/06/16(木) 22:58:03 ID:UnGt1AUE0
>>293
パチュロダにIRCログがあるよ
たぶん&Emueraのことだと思う

295名無しさん:2011/06/16(木) 23:00:11 ID:YP3lF/QU0
>>293
前提。このスレで名前が出ているIRCチャンネルは&Emueraである(>>2)
名前的にもそうだよね。

で、「&Emueraのログ」でGoogle検索してみると出る

296名無しさん:2011/06/16(木) 23:05:17 ID:YP3lF/QU0
ただしあれを議論と呼ぶかどうかとかその辺は私は知らない。

297名無しさん:2011/06/17(金) 07:27:44 ID:31KhFG9s0
読んでみたけど、こっちから逃げ出した人が取り巻きの前では余裕かましていて笑った。

298名無しさん:2011/06/17(金) 08:48:44 ID:q8HbFZlwO
単に個人にけちつけたいだけなら帰れと言いたいわけだが

299名無しさん:2011/06/17(金) 08:51:46 ID:8HkcFw/Q0
IRCをオチするスレとか作ったら盛り上がりそうだな。向こうのレス引用して皆でワロスワロスと

300名無しさん:2011/06/17(金) 09:53:53 ID:Lljydz8EO
まあ、IRCが陰口の場になるのはある程度致し方ないものよ
どこもだいたい一緒

301名無しさん:2011/06/17(金) 10:04:52 ID:cwtDstRE0
ログ公開してるのに陰口もへったくれもないだろうに

302名無しさん:2011/06/17(金) 10:45:16 ID:5DFuaZek0
誰でも入れてログも公開されてるのに
なぜか「IRCはひきこもりの巣窟」って言う人が定期的に現れるよね

303名無しさん:2011/06/17(金) 13:56:38 ID:DYvugG6w0
認知度低いからね。
「チャットだけどログは公開されている」というのを知らない人も多いだろう。
テンプレとかに入っていれば違うんだろうけど、キーワード拾ってGoogle検索にかけないと出てこない状態だし。

304名無しさん:2011/06/17(金) 15:11:15 ID:Lljydz8EO
その場にいない人物が対象なら、たとえ公共の場であっても陰口は陰口でしょうよ
あれか、IRC民乙とか言えばいいのか

305名無しさん:2011/06/17(金) 16:03:10 ID:5DFuaZek0
>>303
今ざっと見たら&eramakerとかってera全般のchってことになってるけど
eratohowikiでしか紹介されてなかった

2chの本スレのテンプレやeraシリーズまとめWikiには載ってないし
eratohoスレですらwiki内に書いてあるだけでテンプレには載ってない
こりゃ認知度低くて当然だなw

・・・俺がeratohowikiから入った事がバレてしまった

>>304
それってそのまんまここにも当てはまりますよね

当事者の妊の人が逃げた以上何言っても事態は進展しないと思うが
みんな話題に飢えているのか

306名無しさん:2011/06/17(金) 17:36:45 ID:1k8aBGNo0
妊の人は作らないと言っている
これ以上何も議論することはない

307名無しさん:2011/06/17(金) 17:49:39 ID:8HkcFw/Q0
IRC側のera板その他をネタに誹謗中傷しまくったりしてる現状もクソだし、こっちでIRCワロスワロスってのも同じレベルのクソ
で、少なくともスレ違いだしIRCワロスはここでやるべきでは無いわな
IRC統合スレでも建ててそこでやるべきかと。住み分けは大事

308名無しさん:2011/06/17(金) 21:58:27 ID:AybcN1Fw0
妊の人どうこう言ってないでロダ5418についてコメントなりしたほうが建設的

309名無しさん:2011/06/17(金) 22:45:44 ID:cJs/KLZ60
パッチを見たときから何となくそうだろうなと思ってはいたがやっぱり
EXISTFUNCTION(<文字列>)
なんだな。
EXISTFUNCTION(<書式付文字列>)
ではなく。

310名無しさん:2011/06/17(金) 23:14:04 ID:8HkcFw/Q0
まだ見て無いんだが、引数に文字列変数とかが使えたら良いなぁ>EXISTFUNCTION
Emueraの開発者も増えると良いね。今まで二人だから、負担も大きかっただろうし

311名無しさん:2011/06/17(金) 23:19:35 ID:5DFuaZek0
二人っていうか実質一人じゃないのか
Emueraの人はなかなか連絡取れない状態で
ほぼ妊の人だけに見える

312名無しさん:2011/06/17(金) 23:28:33 ID:hF9VU.GI0
書式付き文字列は@""で
文字列変数も使えるよ

313名無しさん:2011/06/17(金) 23:28:49 ID:UV.MBh.c0
FUNCTIONEXISTS(@"%LOCALS:0%") とか、@""を使えばFORM文もいける

314名無しさん:2011/06/17(金) 23:29:27 ID:UV.MBh.c0
ち、16秒遅れかっ

315Emueraの人:2011/06/17(金) 23:34:25 ID:9vnJfkqQ0
えらいこっちゃ
ちょっと放置しすぎたな

Emuera 1.756beta003
更新履歴をまとめ終えたらたら1.800とします

>>207のbeta002+v30ベースです
>>52 設定>システムに「セーブデータをUTF-8で保存する」追加
>>179 修正
>>181 修正 一律で「解釈出来ない行です」と判定するように
・#DIMの要素数を省略した場合、要素数1にする
 #DIM LCOUNT と書くと#DIM LCOUNT, 1 と同じ意味になります。

EXISTFUNCTIONについては取り込むつもりはありません。

316Emueraの人:2011/06/17(金) 23:34:55 ID:9vnJfkqQ0
アドレス張り忘れた
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5420.zip

317名無しさん:2011/06/17(金) 23:37:05 ID:v.XObBsw0
>>315
乙です

318名無しさん:2011/06/17(金) 23:52:17 ID:AybcN1Fw0
>>315
乙です
お元気そう?でよかった

319名無しさん:2011/06/17(金) 23:57:11 ID:Lljydz8EO
>>315
乙です

320名無しさん:2011/06/18(土) 00:09:54 ID:AYcZhneQ0
>>315
乙です


まあ、こんだけ荒れたら「取り込まない」っていう選択肢しかないよなあ。。。

321名無しさん:2011/06/18(土) 00:18:02 ID:xQto9Rd2O
>>315
乙です



クズが露見したってのは価値のある結果だと思うよ

322名無しさん:2011/06/18(土) 00:26:22 ID:vNzoTGSc0
クズな言語をクズな開発者がクズな拡張してクズなコードが広まってクズなユーザが遊んでんだからクズばっかりじゃん

323名無しさん:2011/06/18(土) 00:29:01 ID:z3MBa4M20
性的嗜好について話す時に、必要性を論じたら駄目
そんだけ

324名無しさん:2011/06/18(土) 00:32:05 ID:s.He7gd20
>>322
お前本当に18歳以上なんだよな?ちゃんと考えて発言しような

325名無しさん:2011/06/18(土) 01:47:29 ID:LHsJsw260
>>315
キャーEmuの人ーステキーダイテー
乙です

326名無しさん:2011/06/18(土) 08:44:52 ID:HDWi8IQE0
>>322
じゃあ、そんなクズには関わりたくないですよね
お引き取りください。

327名無しさん:2011/06/18(土) 14:28:58 ID:3TfdUVTs0
>>315
乙です。可能なら>>206も検討お願いします〜

328Emueraの人:2011/06/20(月) 01:31:12 ID:NgFYGNuY0
Emuera ver1.800
ttp://sourceforge.jp/projects/emuera/releases/
からダウンロードしてください

>>315からの更新
>>155 右クリックのコンテキストメニューからマクロ、貼り付け等が実行できるように

329名無しさん:2011/06/21(火) 00:48:22 ID:ptglfyTA0
>>328
いつもお疲れさまです
早速使わせていただきます〜

330155:2011/06/22(水) 01:33:52 ID:.0JmLR8U0
>>328
お礼が遅くなって申し訳ありません
右クリックでの貼り付け(マクロ)と実行、とても便利です!
ありがとうございました!

331Emueraの人:2011/06/25(土) 14:09:14 ID:/Wq.8z2k0
>>206, 327
キャラクター変数かつ2次元変数として、どんな配列を想像していますか。
仮に新変数名をCDFLAGとするとして、
CDFLAG:X:Y:ZでX、Yの最大値がいずれもCHARANUM-1、ZのみVariableSize.csvで決められた値となる配列か、
CDFLAG:X:Y:Zの要素数について、XがCHARANUM-1まで、YとZはVariableSize.csvで決められた値となる配列か、
どっちでしょう
前者の場合、ADDCHARA、SORTCHARA等で余分な処理が発生して嫌な感じです
後者の場合、登録キャラ同士の好感度等の関係の管理という目的とかみ合わないように見えます
どんな使い方を想定しているのか構想があったら教えてください

332名無しさん:2011/06/25(土) 17:17:11 ID:OgIhZ5QY0
>>331
>どんな使い方を想定しているのか構想があったら教えてください
一応後者の形での運用を想定しています。

CDFLAG:X:Y:Zという変数と仮定して、
中身は
X … 自キャラ配列位置
Y … 相手キャラID(キャラNO)
Z … 各要素

定義は
X … CHARANUM-1
Y … VariableSize.csv
Z … VariableSize.csv

CFLAGで現在行われている使用方法を、新変数のCDFLAGに移す様な形です。
Yにセットする相手キャラIDは、バリアント内でユニークなキーなら何でもOKです。
この値はバリアント側が任意に設定すれば良い値となります。

333名無しさん:2011/06/25(土) 17:23:23 ID:OgIhZ5QY0
>登録キャラ同士の好感度等の関係の管理という目的とかみ合わないように見えます
現状だと上記の要求はCFLAG:A:Bで対応していると思いますが、その場合は
Bの位置の計算に( (対象キャラID×要素数) + 対象要素位置)みたいな計算を行っていると思います

例えばキャラIDが80番のキャラが居たとして、全要素数100個として12番目を使いたいとなったら、
(80×100) + 12 = 8012番目
CFLAG:A:8012を参照、という様な感じになっていると思います。

この計算が不要になるので、多少は管理が楽になるかと思っています。要素の追加も楽でしょう
またデータの住み分けが出来るので、データ構造が掴みやすくなり、パッチ作者などが入りやすくなるかと思います
同時にCDFLAGNAMEというCSVファイルを作成して、CSVで設定した別名も使えるようになる余地が生まれます
要素の位置の変更も楽になるかと。(CFLAGのままだと、前述の計算のおかげで別名が使えず不便)

後者の方式だと
・キャラ追加時  … 処理は不要
・キャラソート時 … IDで設定しているので、こちらも処理は不要
・キャラ削除時  … 削除キャラIDのZを全てクリアする命令が必要。
           削除時に強制クリア(または命令だけ用意して、バリアント側にクリアするかどうかを選ばせる)

各操作時の必要処理は上記の様な形になるかと思っています


TAやDAのキャラ版として、用意だけして後は自由に使わせるのが良いかと思っています
キャラ2次元変数の使用方法はそれこそバリアント毎に幅が広いと思われるので、
前者の方式で用途を限定すると弊害が生まれそうな感じも
メモリに関しては、既にCFLAGが占有しているメモリをCDFLAGに移すだけなので、消費量は変わらないと考えています

334era☆staR製作者:2011/06/25(土) 22:33:58 ID:CKC/L9zY0
細かい不具合を見つけましたので報告します。

最新版[Emuera]で逆調教バリアント系をプレイして
[能力の表示]でキャラクターを選択すると
対象が[女の子]キャラクターの場合と非童貞の[オトコ]持ちの場合、一番後ろの素質の後に[@]が二つ並んで表示されます。
ちなみに[オトコ]と[童貞]がある場合、それぞれの素質の後に[@]が表示されます。

本当に細かい報告で申し訳ないです。

335妊)|д゚):2011/06/26(日) 01:24:33 ID:PCeH/K5Q0
>>334
Emuの人と話し合いまして、該当処理部分は次バージョンで修正されます
ただし、その該当するERBのコードは本来あり得てはならない書式でして警告Lv1の対象です
(ちなみに同様のことを\@〜\@の中以外でやるとエラー扱いの警告Lv2になります)

三項演算子は?と#がセットで1つの演算子ですので、
コードの警告を減らすという観点からも、該当部分の三項演算子の最後にしっかり"#"を足しておくことをおすすめします

336Emueraの人:2011/06/26(日) 02:29:04 ID:JNy8WVbY0
>>334
バグ報告ありがとうございます
修正して1.801としましたのでご確認ください
ttp://sourceforge.jp/projects/emuera/releases/
更新内容
・\@〜?〜#〜\@構文中で#が省略された場合に余分な@が表示される問題を修正
・コンテキストメニューに「削除」を追加
・コンテキストメニューの「貼り付け」の動作を修正

ただ本来は三項演算子の?と#はセットで使われるものですので#を省略することは文法ミスです
Emuera1800以前はこれを警告していませんでしたが、1800より警告Lv1の対象としています
era☆staR0.05ですと起動時に
>警告Lv1:SHOP_TRAINERDATA.ERB:267行目:'\@','?'が使われましたが対応する'#'が見つかりません
との警告が出現すると思いますが、該当箇所を以下のように修正することで警告は解消します。
PRINTFORML %TALENT_TYPENAME(1)%:[%GET_SEX(ARG)%]\@ TALENT:ARG:0 ? %" "%[%GET_TALENTNAME(ARG, 0)%] # \@\@ TALENT:ARG:1 ? %" "%[%GET_TALENTNAME(ARG, 1)%] # \@

337妊)|д゚):2011/06/26(日) 20:58:18 ID:PCeH/K5Q0
いきなり致命的な問題がふってわいたので

・1801+v1
ttp://ux.getuploader.com/ninnohito/download/256/Emuera1801%2Bv1.zip

○#SINGLEと#LATERの両方を定義したイベント関数でRETURN 1をして#SINGLEの効果を発生させると例外が投げられるのを修正
○関数プリプロセッサのパース処理での警告を追加+一部修正

338名無しさん:2011/06/27(月) 22:16:33 ID:iWW3IQuQ0
1800だと、デバッグコマンドで大文字小文字の区別をするようになったのは仕様変更ですか?
たしか1756だと
@cflag:1
でも通ったのに、1800だと
@cflag:1
"cflag"は解釈できない識別子です
となり、
@CFLAG:1
としないといけなくなってます。

339妊)|д゚):2011/06/27(月) 23:08:05 ID:SZlk1Xug0
>>338
オプション→システムの「大文字小文字の違いを無視する」の項目はどうなっているでしょうか?
手元で確認した限りでは、いずれのバージョンもこのオプションのON/OFFで挙動が決まっています

340名無しさん:2011/06/27(月) 23:26:32 ID:iWW3IQuQ0
>>339
1756じゃなくて1755sでした…… もうしわけないです。
1755s, 1801+v1で試しましたが、手元ではどちらも_fixed.configでONになっています。
この状態で、338の通りの結果でした。

341妊)|д゚):2011/06/28(火) 03:10:55 ID:e9Ev8tyg0
・1801+v2
ttp://ux.getuploader.com/ninnohito/download/257/Emuera1801%2Bv2.zip

>>338を修正
○ERB\以下にないERBファイルを解析モードで開いた時に警告文からのテキストエディタのオープン処理が動作しないのを修正

342名無しさん:2011/07/09(土) 02:15:56 ID:DnrhkbK.0
要望です。
文字列で指定して文字列を格納できるグローバルな変数(FLAGS)が欲しいです!><

現状はflag.csvで指定すれば、FLAG:文字列 = 数値 とすれば数値型変数は文字列で指定して使えるんですが、
FLAG:文字列 = 文字列 みたいに文字列変数を使うことができる変数はwikiを見る限り無いみたいです。
STR:数値 = 文字列 とすることはできますが、数値だと数日後に見直したときにわけわかめになるので数値部分を文字列で書きたいんです
Rename.csvで指定すればSTR:[[文字列]] = 文字列 でできないこともないですが、
いちいち[[]]が付くのがまどろっこしいし、Rename.csvが冗長になります。

具体的には、FLAGS:現在地 = 博麗神社 みたいなことがしたいです。
もしよければお願いします!

343名無しさん:2011/07/09(土) 02:19:07 ID:NM6kS6xQ0
>>342
SAVESTRを文字列指定可能にすればよさそ

344名無しさん:2011/07/09(土) 03:05:50 ID:DnrhkbK.0
>>343
そうです。
SAVESTRは今は文字列指定可能ではないと思うので、文字列指定可能にしてほしいです。
(できればSAVESTRよりもFLAGSとか*STRみたいな短い変数名のほうが)
他の言い方をするとCSTRの一次元配列版です。
自分はC#はあまり分からないですけど、多分実装自体はあまり難しくはないと思います

345名無しさん:2011/07/09(土) 22:15:53 ID:HAgWk1x.0
質問なのですが、数値を漢数字に変換する関数ってあります?
ちょっと調べてみただけだとTOSTRじゃ無理そうでしたが

346ぱ。:2011/07/09(土) 22:41:56 ID:KKsqH5Lg0
お邪魔します。
>>345

ぱんくしょん暫定版
ttp://eratoho.dyndns.dk/cgi/upload.php?id=002280

こちらに含まれております
数値→漢数字変換関数@TOKANJI
が使えると思われます。よかったらお持ちください

347名無しさん:2011/07/09(土) 23:18:25 ID:HAgWk1x.0
>>346
ありがとうございます、さっそく落とさせていただきました
ぱんくしょんにはこんな機能もあったのですね

ただ、これは必要な関数だけ抜き出して使ってもいいようなものなのでしょうか?
既存関数と一部関数名が被っていることもあり、関数一つのために一ファイル丸ごと導入するのは躊躇われます
部分使用が不可なら、@TOKANJIを参考にさせていただいて自分の必要な範囲で関数を自作しようと思います

348ぱ。:2011/07/09(土) 23:24:58 ID:KKsqH5Lg0
> ただ、これは必要な関数だけ抜き出して使ってもいいようなものなのでしょうか?

もちろんOKですよ。関連関数だけ持ち出して使ってくださいな
ちなみに、一緒に入っている「幻想暦関数@GENSOU_CALENDAR」のために用意した関数です。

349名無しさん:2011/07/09(土) 23:53:36 ID:HAgWk1x.0
>>348
でしたらありがたく使わせていただきます
表示テキスト保管関数@STRBANKも使えたら使ってみたいですね
(コマンド口上の呼び出し位置変更は大変そうですが)
その他の関数も参考にさせていただきます
ありがとうございました

350名無しさん:2011/07/13(水) 17:40:15 ID:Akiu3sxM0
他人のおち○ちんが大好きな、変態便器妻です…。
ttp://chocolat.zxq.net

351妊)|д゚):2011/07/15(金) 23:36:23 ID:f5aKJeco0
とりあえず安定してると判断して

・1801+v5
ttp://ux.getuploader.com/ninnohito/download/260/Emuera1801%2Bv5.zip

○雑多な修正(詳細はreadme参照してください)

352妊)|д゚):2011/07/16(土) 00:57:11 ID:qSRwH7q20
すぐ上で安定したのかな〜とか言っていたら突然バグが飛んでくるという綺麗なフラグ回収

・1801+v6
ttp://ux.getuploader.com/ninnohito/download/261/Emuera1801%2Bv6.zip

○文字列三項演算子の第一項が空の時に例外を投げるのを修正
○起動時の警告について、特定の条件下において、再起動前のものが飛んでくるのを修正

353名無しさん:2011/07/17(日) 03:55:00 ID:vKYzXF6E0
>>352
Emueraですか
超おつです!

354名無しさん:2011/07/17(日) 04:09:50 ID:CSo2AwTY0
すっかり乗っ取りに成功しているな。

355名無しさん:2011/07/17(日) 10:06:31 ID:7rOkB/Tg0
まあ今では共同開発者扱いですし

356名無しさん:2011/07/17(日) 21:23:34 ID:ObBWfKIk0
というかこのスレ立ったころにはもうとっくにそんな扱いではあったような

357名無しさん:2011/08/06(土) 17:45:12 ID:LOz42dKQ0
文字列による配列変数の要素の指定が可能な文字列配列変数ってCSTRだけですか?
できたら1次元のがあると助かるんですが……ってどこかで聞いた話だと思ったら
>>342だった
自分の場合はセーブされないほうが好ましいのでTSTRが文字列で指定できたら、と思ったのですが、
>>342がスルーされてるってことは諦めたほうがいいんでしょうか……

358名無しさん:2011/08/06(土) 18:06:38 ID:Un/8MKhE0
セーブされる必要がないのであれば、自作式中関数で
LOCALSを使い無限に作れると思うんだけど、それじゃダメなん?

359名無しさん:2011/08/06(土) 19:22:33 ID:LOz42dKQ0
>>358
そういう手もあるのか、とちょっと構文をこねくり回してみたんですが、
どうにもすっきりした構文にならず、頭がこんがらがってきました……未熟者ですいません
できあがっても()とか""で見た目がごちゃっとなりそうで気が進まないというのもあります
それくらいなら主人のCSTRの空いてるところを使ったほうが(自分が)楽な気がして

360妊)|д゚):2011/08/12(金) 06:45:50 ID:eHTWXjak0
あらかた意見も出尽くしたようなので、そろそろ

>>342
STRそのものは意図的に文字列による要素指定が殺してあるようなので、
意図がわかるまでは手は出せないです

技術的な話をするなら、文字列変数も原理的には文字列による要素指定は可能ですので、
必要なものがあれば実装は可能です
ただ、新たな文字列変数の追加は避けたいかなぁというのが本音ではあります
(主に文字列要素指定自体が変数追加(メモリ使用量増加)を伴うため)

>>357
TSTRはセーブデータに保存される変数です
されないのはSTR、RESULTS、LOCALS、ARGS、GLOBALとなります

361名無しさん:2011/08/14(日) 14:03:54 ID:.h2KwX8E0
357ですが、
>TSTRはセーブデータに保存される変数
ですよねー、すいません
レスした後で気づいてアチャーとなってました


引数なしで#LOCALSIZEすると要素数1になると思ったらそんなことは無かったぜ

362Emueraの人:2011/08/14(日) 23:08:58 ID:p4UkjZwQ0
Emuera ver. 1.802
ttp://sourceforge.jp/projects/emuera/releases/
更新内容
・1.801+v8.5までの変更を取り込み
・1.800以降でおかしかったPRINT_PALAMの表示を修正
・3次元配列変数の要素数を65536以上にしたときのバグを修正

363名無しさん:2011/08/15(月) 20:16:20 ID:KKLCLv/E0
Emuera ver. 1.803 beta001
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5516.zip
更新内容
・キャラクタ二次元配列変数CDFLAG追加

CDFLAG追加に伴い変数テンプレートとセーブデータ形式を弄ったのでβ版としてテストします。
Emuera1803betaで作成したセーブデータは1.802以前のEmueraでは読めなくなりますので、
1803betaでのテスト前にセーブデータのバックアップを取っておくことをお勧めします。
(Emuera1803betaは以前のデータも読めます)

CDFLAGはCDFLAG:TARGET:1:2のように使用します。
引数は全て省略できません。
配列サイズのディフォルトは1,1です。VariableSize.csvで適当に増やさないと使い物になりません。

364Emueraの人:2011/08/16(火) 20:50:48 ID:3bq/R8HA0
Emuera ver. 1.803 beta002
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5519.zip
更新内容
・SKIPDISPがデバックコマンド等で使えてしまっていた問題を修正
・SORTCHARA、FINDCHARAをCDFLAGに対応
・新命令COPYCHARA追加
COPYCHARA A, B
で登録番号Aのキャラのデータを登録番号Bのキャラにコピーする

365妊)|д゚):2011/08/16(火) 21:56:55 ID:Eo2CnE/k0
一番必要なのはこの実装な気がしたんだ

・1803beta002+v1
ttp://ux.getuploader.com/ninnohito/download/269/Emuera1803beta002%2Bv1.zip

○COPYCHARAの第2引数を省略可能に
  省略した場合は内部でダミーキャラを追加し、そこにデータをコピーします

366名無しさん:2011/08/16(火) 22:09:46 ID:14t6CBHU0
更新乙ですー
CDFLAGNAMEに期待


そういえば、ここで言っていいのかどうか分かりませんが
Emuera WikiのSUMARRAYとSUMCARRAYの例で
REPEAT B

REPEAT B-A (もしくはFOR COUNT, A, B)
の間違いではないでしょうか

367名無しさん:2011/08/17(水) 06:28:19 ID:GhLQz2Ws0
最近のバージョンだとキャラのcsvで素質,オトコや素質,習得早いみたいに
talent.csvで設定した素質の直指定が可能ですが
同様に相性欄も相性,10みたいなキャラ番号の指定でなく
相性,○○みたいにキャラに設定した名前で直指定できるように、というのは難しいでしょうか

368名無しさん:2011/08/17(水) 09:05:24 ID:Gw2lrlrg0
>>367
素質や能力の名前で指定できるようになったバージョンで既に無理と説明されてる

369名無しさん:2011/08/17(水) 18:18:27 ID:aEdEC9yA0
>>52です。
随分遅くなってしまい申し訳なかったのですが、
「セーブデータをUTF-8で保存する」実装、有難うございました。

370妊)|д゚):2011/08/19(金) 06:19:48 ID:hl0CrbEk0
・1803beta002+v2
ttp://ux.getuploader.com/ninnohito/download/270/Emuera1803beta002%2Bv2.zip

○VARSETとCVARSETが一切の仕事を放棄するという斬新すぎるバグを修正

371名無しさん:2011/08/23(火) 01:37:20 ID:Cxwr1y8Y0
えらめがてんで                                
調教関連\SHOOT.ERBの76行目でエラーが発生しました
IF TEQUIP:P:35
キャラクタ配列変数TEQUIPの第1引数(5946)はキャラ登録番号の範囲外です
とでてきます。どうすればいいですか?

372名無しさん:2011/08/23(火) 01:54:37 ID:XD2e7KCA0
>>371
eraMegaten開発スレへどうぞ

373名無しさん:2011/08/23(火) 19:07:48 ID:w1zn7K1U0
問題が発生したため、Emuera を終了します。 ご不便をおかけして申し訳ありません。
と出て、起動しなくなっています。NET Frameworkはダウンロードしています。
自分はこういうことに疎いので何が原因なのかわからないのですが、どういうことなのでしょうか
eramakerは問題なく起動できます。

374名無しさん:2011/08/23(火) 19:23:29 ID:7yJkeqCw0
>>373
エスパーをお探しなら、もっと別の方法を考えた方がいいと思いますよ。

375Emueraの人:2011/08/24(水) 19:16:18 ID:NGVShBbE0
>>342
STR:文字列 な書式とSTRNAMEについての最大の障害はcsvファイルの名前です。
ABLNAME等の例に従えばSTRNAMEを定義するファイル名はstr.csvになりますが、
str.csvはSTRの中身を定義するために使われています。
かといってstrname.csvとすると、abl.csv cstr.csv str.csv strname.csv等のファイ
ルが並ぶことになりますが、この中でabl.csv cstr.csv strname.csvが同じ種類のもの
を定義していてstr.csvが違うものを定義しているというのは非常に分かりにくい状態
だと思います。
str.csv中で「0,STRの中身,STRNAMEの中身」という形で定義させようかとも思いました
が、csv中で「1,HOGE,PUGE」と定義したものがERBではSTR:PUGE = HOGE になるという
のもまた分かりにくいと思います。
STRNAMEについてはファイル名に関する問題のよい解決策があったら実装します。

>>366
ご指摘ありがとうございます。修正しておきます。

376Emueraの人:2011/08/24(水) 19:16:49 ID:NGVShBbE0
>>367
難しいです。
Emueraは素質,オトコと書かれたとき、内部ではtalent.csvの情報を元に「オトコ」を
数字に変換して記憶します。
ここでtalent.csvの情報を使うことができるのはEmueraはchara*.csvを読む段階で
talent.csv等を読み終えているためです。
一方でchara*.csvを読む段階ではEmueraはNAME等とNOの対応を把握していません。
(NAME、CALLNAMEやNOはchara*.csvに書いてある情報だからです)
したがって相性,○○等と書かれてもEmueraは○○を数字に変換することができません。
相性,○○を可能にするには一度全てのchara*.csvを読んでNAMEとNOのリストを作成し
た上で再度全てのchara*.csvを読みなおすか、
chara*.csvを読むときに「○○」を文字列情報として記憶し、全て読み終えてから数字
に変換する必要があります。
いずれにせよ余分な処理時間と記憶領域を消費するので、多数の開発者からの強い要望
が無い限りはやりたくないです。

>>373
Emueraの動作には正常な.NET Framework2.0環境が必須です。
Emueraが起動せずに終了してしまうのであれば.NET Frameworkが壊れている可能性があ
ります。
.NET Frameworkの問題に関してはこちらでは対応できませんのでマイクロソフトに問い
合わせてください。

377名無しさん:2011/08/24(水) 21:14:35 ID:4AZxd0NM0
セーブデータを専用のフォルダに作成するようにはできますか?

378名無しさん:2011/08/24(水) 21:21:29 ID:g0VmVqwU0
できます。

379Emueraの人:2011/08/25(木) 02:53:22 ID:qo1iv5S60
Emuera 1.803beta004
ttp://erafiz.orz.hm/up/index.php?mode=dl&dfile=era5528.zip
・beta002+v3ベース
・ADDCOPYCHARA命令追加 ADDVOIDCHARA+COPYCHARA
 ADDCOPYCHARA追加に伴いCOPYCHARAの仕様を元に戻しました(第二引数省略不可に)
・CDFLAGNAME1とCDFLAGNAME2変数を追加。
 cdflag1.csvとcdflag2.csvで定義可能、CDFLAGの引数指定に使える。
・VariableSize.csvにおける二重定義等を警告Lv1の対象に
・STRNAME、TSTRNAME、SAVESTRNAMEを名前だけ確保
 まだcsvからの定義はできません

>>377
コンフィグの環境タブから「セーブデータをsavフォルダ内に作成する」オプションにチェックを入れてください

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

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

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

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

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