「データ構造」の編集履歴(バックアップ)一覧はこちら

データ構造」(2006/01/07 (土) 14:24:33) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*RPGツクール2000とRPGツクール2003 RPGツクール2000とRPGツクール2003は内部的にはほとんど同じものです。 表現の簡略化のため、RPGツクール2000とRPGツクール2003のことを総称して「ツクール」「RPGツクール2000」と呼ぶことにします。 *BER圧縮整数 ツクールの整数データは全て「BER圧縮整数」という形式で保存されています。 BER圧縮整数については以下のサイトを参照 http://www.stellar.ac/~komai/unix/ber/index.html BER圧縮整数の仕様上負の数は格納できないはずですが、無理矢理unsigned intにキャストされて格納されています(^^; 例)-1 → 4294967295(0xFFFFFFFF) 単に「整数」とあった場合、特に指定のない限りBER圧縮整数のことを指すこととします。 *配列 ツクールのデータの格納方法として一番特徴的なことは配列としての格納です。 ただし配列と言っても配列の中には整数・文字列・生のバイナリデータの全てが格納され、一番厄介なことは配列の中にさらに別の配列データが格納されていることです。ちょうど配列の中に配列がネストされているような感じです。このせいでツクールのデータ構造はかなり複雑になっていますorz ツクールでは1次元配列と2次元配列の2種類が使用されています。 **1次元配列 基本的には > 配列番号(整数) >  データサイズ(整数) >   データ部分 > 配列番号(整数) >  データサイズ(整数) >   データ部分 > … の構造です。生データの中に整数や文字列や別の配列データが入っています。 例) :整数データ|01 01 02 → 01(配列番号:1) 01(データサイズ:1) 02(データ部分) :文字列データ|02 04 54 45 53 54 → 02(配列番号:2) 04(データサイズ:4) "TEST" 注意) -配列バッファ内には終端の'\0'(NULL)は含まれていない -文字列はShift-JISで格納 :バイナリデータ|47 84 58 00 00 … → 47(配列番号:71) 84 58(データサイズ:600) 00 00…(データ部分) 配列番号は1から始まります。配列番号に0がきた場合、そこが配列の終端となります。 配列番号が省略された場合、その番号のデータは基本的には0が補完される与えられるが、0以外で補完されることもけっこうあるので注意 **2次元配列 基本的には1次元配列の時と同じですが、 > 2次元配列の親要素の要素数(整数) >  2次元配列の親要素の配列番号(整数) >   2次元配列の子要素(1次元配列) >  2次元配列の親要素の配列番号(整数) >   2次元配列の子要素(1次元配列) > … といったように格納されています。
*RPGツクール2000とRPGツクール2003 RPGツクール2000とRPGツクール2003は内部的にはほとんど同じものです。 表現の簡略化のため、RPGツクール2000とRPGツクール2003のことを総称して「ツクール」「RPGツクール2000」と呼ぶことにします。 *BER圧縮整数 ツクールの整数データは全て「BER圧縮整数」という形式で保存されています。 BER圧縮整数については以下のサイトを参照 http://www.stellar.ac/~komai/unix/ber/index.html BER圧縮整数の仕様上負の数は格納できないはずですが、無理矢理unsigned intにキャストされて格納されています(^^; 例)-1 → 4294967295(0xFFFFFFFF) 単に「整数」とあった場合、特に指定のない限りBER圧縮整数のことを指すこととします。 *配列 ツクールのデータの格納方法として一番特徴的なことは配列としての格納です。 ただし配列と言っても配列の中には整数・文字列・生のバイナリデータの全てが格納され、一番厄介なことは配列の中にさらに別の配列データが格納されていることです。ちょうど配列の中に配列がネストされているような感じです。このせいでツクールのデータ構造はかなり複雑になっていますorz ツクールでは1次元配列と2次元配列の2種類が使用されています。 **1次元配列 基本的には > 配列番号(整数) >  データサイズ(整数) >   データ部分 > 配列番号(整数) >  データサイズ(整数) >   データ部分 > … の構造です。生データの中に整数や文字列や別の配列データが入っています。 例) :整数データ|01 01 02 → 01(配列番号:1) 01(データサイズ:1) 02(データ部分) :文字列データ|02 04 54 45 53 54 → 02(配列番号:2) 04(データサイズ:4) "TEST" 注意) -配列バッファ内には終端の'\0'(NULL)は含まれていない -文字列はShift-JISで格納 :バイナリデータ|47 84 58 00 00 … → 47(配列番号:71) 84 58(データサイズ:600) 00 00…(データ部分) 配列番号は1から始まります。配列番号に0がきた場合、そこが配列の終端となります。 配列番号が省略された場合、その番号のデータは基本的には0が補完される与えられるが、0以外で補完されることもけっこうあるので注意(マップの大きさなど、ツクールの初期値が補完されることがある) **2次元配列 基本的には1次元配列の時と同じですが、 > 2次元配列の親要素の要素数(整数) >  2次元配列の親要素の配列番号(整数) >   2次元配列の子要素(1次元配列) >  2次元配列の親要素の配列番号(整数) >   2次元配列の子要素(1次元配列) > … といったように格納されています。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
人気記事ランキング
目安箱バナー