d金魚式汎用2Dマップチップデータ構造


typedef struct dkc_Graphics2DMapChipHeader{
///幅
size_t width;
///高さ
size_t height;
///ハッシュ値SHA1)
BYTE hash_value[40];
///この後に続くマップチップIDのオフセット 1,2,4,8のどれか・・・多分2か4・・・
BYTE offset;
}DKC_GRAPHICS_2D_MAP_CHIP_HEADER;

この後マップチップの並びデータの配列

この構造体の後に1,2,4,8バイトのどれかのオフセットの配列がwidth * height分並ぶ。
このSHA1ハッシュ値がhashに入る。
私が今組んでいるAPIではマップデータを書き出すとき、あらかじめSHA1のハッシュを生成する再に塵データを含み、SHA1ハッシュ値を紛らわす事ができるようにしている。*1

これはsky氏のアイディア だったと思う。(なんか、何処に書いているのか忘れてしまったスマン)何処でしたっけ・・・?
http://beautiful.homelinux.net/~sky-software/diary/

*1:でも、SHA1等のフィンガープリントアルゴルムをしっかり把握していない私なので、なんらかの方法で破られるのではないか?とツッコミがきそう・・・と考えちゃったりもしたりしなかったり・・・