Tilemapクラスの実装

TilemapのマップデータはTableオブジェクトで格納されるが、その値はタイルIDと8方向の境界パターンの組み合わせで決まる。
自分で調べると面倒なこういうのも、ネットで検索すると調査した先人がちゃんと存在する。
http://supponweblog.blog88.fc2.com/blog-entry-9.html
また、この記事からリンクされている先のExcelデータと組み合わせれば、オートタイル基本パターンは掴める。
集合パターンのほうはまた値が違って、0〜15までの値を使うようで、そっちは自分で調べた。
このあたりはFreeRGSSを使う場合は必要な情報になるから(標準マップエディタないし)、そのうちドキュメントにまとめるつもりだ。
しかしRGSSでRPGを作りたければそれこそツクールを使えばいいわけで、ツクールを買うお金がもったいない人を対象にしているわけではないから、ツクールレベルのRPGエディタを作る気はまったく無い。でもマップエディタはほしい。誰か作ってくれないかな。


さて、FirstSeedMaterialさまからサンプルマップ集を頂いて。
http://www.tekepon.net/fsm/modules/refmap/
ツクールで適当なスクリプトを書いて描画したのがこれ。

このマップデータを抜き出して、FreeRGSSで描画したのがこれ。

2レイヤ描画、影、水のアニメーションは未対応だが、とりあえずTilemapのデータ形式には対応できたようだ。


ちなみにCPU負荷はこんな感じ。

まだ処理が足りないからもう少し増えるだろうが、高速化はまったくしてない無駄だらけのコードだからいじれば速くなるかもしれない。
いずれにせよ、本家RGSSよりは負荷は低く抑えられているようだ。別に俺がすごいわけではなく、Direct3DGPUのおかげ。