変愚ソースを読む3
前回はデータ構造を扱ったので今回はそのセーブ・ロードを扱う。データ構造を変えた場合は初期化・セーブ・ロードを合わせて変えないとほぼバグが発生するので注意。
save.c
関数 | セーブ対象 |
---|---|
void wr_item(object_type *o_ptr) | 個別のアイテム |
void wr_monster(monster_type *m_ptr) | 個別のモンスター |
void wr_extra(void) | @の情報 |
bool wr_savefile_new(void) | バージョンなど環境 |
新しいフラグなどを作った際にはその変更点をセーブするようにすると共にセーブファイルのバージョンを上げる。元のセーブファイルと互換性がなくなることを明示するためだ。
load.c
関数 | ロード対象 |
---|---|
void rd_item(object_type *o_ptr) | 個別のアイテム |
void rd_monster(monster_type *m_ptr) | 個別のモンスター |
void rd_extra(void) | @の情報 |
errr rd_savefile_new(void) | バージョンなど環境 |
セーブ時と同様に新しいフラグなどをロードする。こちらは元のバージョンのセーブファイルに対しては基本的に今まで通りロードするが、新フラグについては適当な初期値を与えるようにする。