変愚ソースを読む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) | バージョンなど環境 |
セーブ時と同様に新しいフラグなどをロードする。こちらは元のバージョンのセーブファイルに対しては基本的に今まで通りロードするが、新フラグについては適当な初期値を与えるようにする。