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

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

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

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

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
仕様でよいかと思われます


新着レスの表示


名前: E-mail(省略可)

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

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

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

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