diff options
author | Bardur Arantsson <bardur@scientician.net> | 2016-09-17 09:58:13 +0200 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2016-09-17 09:58:13 +0200 |
commit | 347afc50368137901a989ac4a4fc9298056c7377 (patch) | |
tree | 77079e0abd4027427f48ccf4e8d59629b6be3228 /src/init1.cc | |
parent | 1229c2ce5a196b39e0c9602c8fb037b394b18833 (diff) |
Unify store_info_type::item_* info std::vector<store_item>
Diffstat (limited to 'src/init1.cc')
-rw-r--r-- | src/init1.cc | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/src/init1.cc b/src/init1.cc index def2cdb1..6fef9561 100644 --- a/src/init1.cc +++ b/src/init1.cc @@ -5723,7 +5723,7 @@ static errr grab_one_store_flag(store_flag_set *flags, cptr what) */ errr init_st_info_txt(FILE *fp) { - int i = 0, item_idx = 0; + int i = 0; char buf[1024]; char *s; @@ -5783,9 +5783,6 @@ errr init_st_info_txt(FILE *fp) assert(!st_ptr->name); st_ptr->name = my_strdup(s); - /* We are ready for a new set of objects */ - item_idx = 0; - /* Next... */ continue; } @@ -5808,15 +5805,11 @@ errr init_st_info_txt(FILE *fp) /* Paranoia -- require a name */ if (!*s) return (1); - /* Get the index */ - st_ptr->item_chance[item_idx] = atoi(buf + 2); - - /* Append chars to the name */ - st_ptr->item_kind[item_idx] = test_item_name(s); - - item_idx++; - st_ptr->item_num = item_idx; - assert(st_ptr->item_num <= STORE_CHOICES); + /* Add to items array */ + store_item item; + item.chance = atoi(buf + 2); + item.kind = test_item_name(s); + st_ptr->items.emplace_back(item); /* Next... */ continue; @@ -5831,14 +5824,13 @@ errr init_st_info_txt(FILE *fp) if (3 != sscanf(buf + 2, "%d:%d:%d", &rar1, &tv1, &sv1)) return (1); - /* Get the index */ - st_ptr->item_chance[item_idx] = rar1; - /* Hack -- 256 as a sval means all possible items */ - st_ptr->item_kind[item_idx] = (sv1 < 256) ? lookup_kind(tv1, sv1) : tv1 + 10000; - - item_idx++; - st_ptr->item_num = item_idx; - assert(st_ptr->item_num <= STORE_CHOICES); + /* Add to the items array */ + store_item item; + item.chance = rar1; + item.kind = (sv1 < 256) + ? lookup_kind(tv1, sv1) + : tv1 + 10000; /* An SVAL of 256 means all possible items. */ + st_ptr->items.emplace_back(item); /* Next... */ continue; |