OSDN Git Service

Revert "Revert "Merge branch 'master' of git.osdn.net:/gitroot/hengband/hengband""
[hengbandforosx/hengbandosx.git] / src / load / birth-loader.c
1 #include "birth-loader.h"
2 #include "birth/quick-start.h"
3 #include "load/angband-version-comparer.h"
4 #include "load/load-util.h"
5 #include "system/angband.h"
6
7 /*!
8  * @brief クイックスタート情報を読み込む / Load quick start data
9  * @return なし
10  */
11 void load_quick_start(void)
12 {
13     if (z_older_than(11, 0, 13)) {
14         previous_char.quick_ok = FALSE;
15         return;
16     }
17
18     rd_byte(&previous_char.psex);
19     byte tmp8u;
20     rd_byte(&tmp8u);
21     previous_char.prace = (player_race_type)tmp8u;
22     rd_byte(&tmp8u);
23     previous_char.pclass = (player_class_type)tmp8u;
24     rd_byte(&tmp8u);
25     previous_char.pseikaku = (player_personality_type)tmp8u;
26     rd_byte(&tmp8u);
27     previous_char.realm1 = (REALM_IDX)tmp8u;
28     rd_byte(&tmp8u);
29     previous_char.realm2 = (REALM_IDX)tmp8u;
30
31     rd_s16b(&previous_char.age);
32     rd_s16b(&previous_char.ht);
33     rd_s16b(&previous_char.wt);
34     rd_s16b(&previous_char.sc);
35     rd_s32b(&previous_char.au);
36
37     for (int i = 0; i < A_MAX; i++)
38         rd_s16b(&previous_char.stat_max[i]);
39     for (int i = 0; i < A_MAX; i++)
40         rd_s16b(&previous_char.stat_max_max[i]);
41
42     for (int i = 0; i < PY_MAX_LEVEL; i++) {
43         s16b tmp16s;
44         rd_s16b(&tmp16s);
45         previous_char.player_hp[i] = (HIT_POINT)tmp16s;
46     }
47
48     rd_s16b(&previous_char.chaos_patron);
49
50     for (int i = 0; i < 8; i++)
51         rd_s16b(&previous_char.vir_types[i]);
52
53     for (int i = 0; i < 4; i++)
54         rd_string(previous_char.history[i], sizeof(previous_char.history[i]));
55
56     rd_byte(&tmp8u);
57     rd_byte(&tmp8u);
58     previous_char.quick_ok = (bool)tmp8u;
59 }