GArR Object 1.0.5 版公開


バグフィクス版をアップロード


2015年に公開された Windows PC 用エクステンションのバグフィクス版です。動作検証及びバグ報告をしてくださったユーザ様へ、感謝申し上げます。

rev 1.0.4 を 1.0.5 へアップしました(03.Nov.2018)

参考:バグ報告とタブ区切り方式

仕様など:エスケープ処理

入れるのを忘れていたため、CSV(カンマセパレート形式) 形式あるいは TSV(タブセバレート形式)でも指定されたデリミタに対するエスケープ処理ができません。

このエクステは当初、ペンタくん専用のエクステとしてマップデータをネット経由でやり取りする用途などを想定して作られました。マップデータをやりとりする用途だと「A10,B10,C24,D01,,,」こんな形式のデータしか扱わないため日本語も英語も「文章」を含めて送信する可能性についてはすっかり頭から抜け落ちていました。

rev1.0.5 にエスケープ処理を入れるかどうか検討もされましたが、時間的に余裕が無いためエスケープ処理については未実装のままとしました。

仕様など:エクスプレッションの制限

バグではないのですが rev1.0.5 で未実装の部分として、エクスプレッションエディタからの利用にも制限があります。以下のような使い方は GArR rev1.0.5 でもご利用いただけません。

二次元配列化したデータにアクセスするためには一般的にループ処理を使うのですが、ループ処理を使わないでエクスプレッションエディタから直接配列要素を複数指定して値を取得する方法があります。これができません。

この部分は意外と高度なループ処理がエクステ内部で実行されているため、サンプルのソースコードをいくつか見たけれど実装が面倒くさかった。そして厄介なデバッグもある。

Element2D$("GArR", 0 ,1)+Element2D$("GArR", 0, 2)

例えばこう書いた場合現在の GArR だと最初のElement2D$("GArR", 0 ,1)は無視されてElement2D$("GArR", 0, 2)こっちだけ値が二回取得されます。

Conditions の二値比較条件からは

Element2D$("GArR", 0 ,1)+Element2D$("GArR", 0, 2)

このように書いても大丈夫なのですが、アクションから実行される場合はアクションループを考慮したエクステの作り方というものがあります。しかし申し訳ないのですが労力的にこの部分はこれ以上時間かけて作りたくなかったので処理を省きました。

その他

デバッグを兼ねて GArR を使った自分用ツールの .mfa ソースをサンプルとして配布ファイルの中に入れてあります。

GArR を使わなくても作れるのですが、今回バグ報告を受けた際に人それぞれ使い方というものがあるのだなと思い知らされた部分があって、それに影響を受けた作り方になってます。具体的には以下

こういう発想が自分には無かった。

もともとネット経由でデータを取ってくることしか考えてなかったので、エクスプレッションエディタを活用してデータソースを入力するというやり方はあまり試してませんでした。

ツールとしての使い方は今回特に説明しませんが、自作ゲームのメッセージシステムを補助する目的で作られたツールです。クリップボードにスクリプトソースをコピーしてそれを Python でCSV にパースしてから GMS で読み込んで使う、そんなツール。

GMS ではこういうツールは作れないからやっぱ CF25 なんだな。

GArR rev 1.0.5 ダウンロードはこちら

ダウンロード:GArR rev 1.0.5

不具合報告などありましたらブログのコメント欄をご利用ください。メールも受け付けていますがたまにチェックサボったり忘れたりスパム判定されてゴミ箱に入っていたりします。


Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です