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

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

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

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

2 Emueraの人 :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なら要望させてもらいます。

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

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

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


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

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

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

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

6 Emueraの人 :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です。

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

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

8 Emueraの人 :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)には影響しません。

9 Emueraの人 :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でマクロの登録の方法はどうすればいいのでしょうか?

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

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

13 era☆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]でアップロードしました。
ご確認願います。

14 Emueraの人 :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でも同じ動作になります。

16 era☆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
一応手を入れた解析部分について再度見直して手入れしたものを上げました
おそらく劇的な改善はないとは思いますが、試していただければと思います

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

25 Emueraの人 :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な変数を。

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

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

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

28 21 :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構文の若干の高速化

30 sage :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 関数を
複製することになるので、あんまりスマートではないですが。

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

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

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

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

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

33 30 :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系は必要となった時点で初めて領域を確保する実装なので、そこらへんを心配する必要はないです
その関数(イベント関数なら全部)内で使ってなければメモリを使うこともありません

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

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

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

36 era☆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に

44 Emueraの人 :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
みたいなことやりゃ、適当に誤魔化せそうね
名前変更とか入れたい場合は、一手凝らす必要があるけど

56 Emueraの人 :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

62 Emueraの人 :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でも行内コメント多用した後のテストプレイ時の絶望感ときたら、もう…

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

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

84 Emueraの人 :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で指定した数未満にはならないようにしました

85 Emueraの人 :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じゃなかった?


新着レスの表示


名前: E-mail(省略可)

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

■ したらば のおすすめアイテム ■

レッドブルエナジードリンク 250ml×24本 - レッドブル・ジャパン

フルチャージ!

この欄のアイテムは掲示板管理メニューから自由に変更可能です。


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