diff options
author | Adam Borowski <kilobyte@angband.pl> | 2013-04-09 03:20:40 +0200 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2013-04-09 11:02:10 +0200 |
commit | 8bf01c43c17c1111a580daa0e3906cae1cccef6a (patch) | |
tree | 4dac3070de755a493361e782829304da26d26531 /crawl-ref/source/skills.cc | |
parent | 441f6435328c8c2e68de689e1a4c7dc687a0760c (diff) | |
download | crawl-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.cc | 8 |
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); } |