マルチID,FiveCC

ウィンドウスクリプト内で使われるIDの形式について、説明します。

マルチID

32bit整数を、8bit,8bit,16bitに分割して扱うIDをマルチIDと定義します。

次のようなフォーマットで記述します。

8bit_8bit_16bit

次の範囲で値が取れます。

000_000_00000 ~ 255_255_65535

ただし、000_000_00000は使わないようにしてください。

000_010_00000
123_123_12345
123_456_78910  //invalid(It is beyond the range of value)

C#からのアクセス方法

クラス MulId を用意しています。

//Constructor
MulId(string sId);
MulId(uint uppper,uint middle,uint lower);
MulId(uint val);

// Properties
uint Upper;    //Get the upper 8bit
uint Middle;   //Get the middle 8bit
uint Lower;    //Get the lower 16bit

//cast to uint
static implicit operator uint (MulId mulId);

FiveCC

5文字以内のアスキー文字から構成されるIDです。 使える文字は、以下の通りです。

  • 0~9

  • a~z

  • A~Z

  • ?,_

  • 半角スペース

ただし、'?'と'_'は、同じ数値でエンコーディングされるので気を付けてください。

"BTN00"
"BTN0?" = "BTN0_"
"Test"

C#からのアクセス方法

クラス FiveCC を用意しています。

//Constructor
FiveCC(string sId);
FiveCC(uint uppper,uint middle,uint lower);
FiveCC(uint val);

// Get the character pointed to by the index
public char this[int index];

//cast to uint
static implicit operator uint (FiveCC FiveCC);