summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/skills.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-04-09 03:20:40 +0200
committerAdam Borowski <kilobyte@angband.pl>2013-04-09 11:02:10 +0200
commit8bf01c43c17c1111a580daa0e3906cae1cccef6a (patch)
tree4dac3070de755a493361e782829304da26d26531 /crawl-ref/source/skills.cc
parent441f6435328c8c2e68de689e1a4c7dc687a0760c (diff)
downloadcrawl-ref-8bf01c43c17c1111a580daa0e3906cae1cccef6a.tar.gz
crawl-ref-8bf01c43c17c1111a580daa0e3906cae1cccef6a.zip
Use FixedBitArray instead of large arrays of bools.
The only cost is having assignments be a function, as you can't overload operator[] to have separate bits be lvalues.
Diffstat (limited to 'crawl-ref/source/skills.cc')
-rw-r--r--crawl-ref/source/skills.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/crawl-ref/source/skills.cc b/crawl-ref/source/skills.cc
index eb6748a206..7a948ace1c 100644
--- a/crawl-ref/source/skills.cc
+++ b/crawl-ref/source/skills.cc
@@ -374,7 +374,7 @@ static void _check_start_train()
if (!you.can_train[*it] && you.train[*it])
skills.insert(*it);
- you.can_train[*it] = true;
+ you.can_train.set(*it);
}
reset_training();
@@ -414,7 +414,7 @@ static void _check_stop_train()
if (skill_trained(*it) && you.training[*it])
skills.insert(*it);
- you.can_train[*it] = false;
+ you.can_train.set(*it, false);
}
if (!skills.empty())
@@ -464,7 +464,7 @@ void init_can_train()
// Clear everything out, in case this isn't the first game.
you.start_train.clear();
you.stop_train.clear();
- you.can_train.init(false);
+ you.can_train.reset();
for (int i = 0; i < NUM_SKILLS; ++i)
{
@@ -473,7 +473,7 @@ void init_can_train()
if (is_useless_skill(sk))
continue;
- you.can_train[sk] = true;
+ you.can_train.set(sk);
if (training_restricted(sk))
you.stop_train.insert(sk);
}