いくつか内部仕様(扱える文字数に予め制限を設けた)があるため汎用ではないけどようやくできた。HTTP 経由で受け取ったデータを一次元配列化してエクステに保持する機能。
String Tokenizer と Get Object をパクって Fusion (融合)させた機能で、CSV をウェブからダウンロードして配列へ直接読み込む感じ。
もともと String Tokenizer と Get Object を併用すれば実現できる機能だけど、1 つのエクステで全部できる利便性とデータオーバヘッドを減らすことができるから処理は効率的、あとは比較的大きなデータを受信して配列化する場合でも別スレッドに処理させているので、完了するまでゲームループとは非同期で処理できることがメリットとなっている。
String Tokenizer と Get Object はそれぞれ日本語の処理に問題があった。これらを解決するため自作エクステでは複数の文字デコード処理を指定することでウェブ上の日本語を文字化け無く表示することが可能となってる。Shift-Jis、Euc-JP、UTF-8 をサポートしたので日本語に関してはほぼ全てカバー。指定しない場合の標準動作は ANSI。
機能的にはだいぶ鍛えられた感じに
通信機能を自前で用意するのは苦労したけれど技術的なステップアップにはなった。Socket 接続なので用途はウェブだけに限定されてない点も将来的に色々遊べそうで個人的に嬉しい。
クソ面倒くさい文字列型にも慣れて標準 C ライブラリ/文字関数もそれなりに使いこなせている。もうすこし慣れたら STL など C++ のライブラリ使って配列に関する機能を実装= AGBO をパクって自分用に拡張したい。