Skip to content

Commit 4902a55

Browse files
authored
Merge pull request #2318 from fmatthew5876/bits
Add support for DBBitArray
2 parents 1cf81ed + f7f3778 commit 4902a55

5 files changed

Lines changed: 7 additions & 6 deletions

File tree

src/game_actor.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ bool Game_Actor::IsItemUsable(int item_id) const {
149149
if (query_set->size() <= (unsigned)(query_idx)) {
150150
return true;
151151
}
152-
return query_set->at(query_idx);
152+
return (*query_set)[query_idx];
153153
}
154154

155155
bool Game_Actor::IsSkillLearned(int skill_id) const {
@@ -1432,7 +1432,7 @@ PermanentStates Game_Actor::GetPermanentStates() const {
14321432
auto& states = item->state_set;
14331433
// Invalid states in armor already reported earlier in
14341434
// calls to AdjustEquipmentStates.
1435-
int num_states = std::min(states.size(), lcf::Data::states.size());
1435+
int num_states = std::min<int>(states.size(), lcf::Data::states.size());
14361436
for (int i = 0; i < num_states; ++i) {
14371437
if (states[i]) {
14381438
ps.Add(i + 1);

src/game_battlealgorithm.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -963,7 +963,7 @@ bool Game_BattleAlgorithm::Normal::Execute() {
963963
} else {
964964
auto& a1 = weapon1->attribute_set;
965965
auto& a2 = weapon2->attribute_set;
966-
std::vector<bool> attribute_set(std::max(a1.size(), a2.size()), false);
966+
lcf::DBBitArray attribute_set(std::max(a1.size(), a2.size()), false);
967967
for (size_t i = 0; i < attribute_set.size(); ++i) {
968968
if (i < a1.size())
969969
attribute_set[i] = attribute_set[i] | a1[i];

src/game_battler.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ int Game_Battler::GetAttributeRate(int attribute_id, int rate) const {
140140
return 0;
141141
}
142142

143-
float Game_Battler::GetAttributeMultiplier(const std::vector<bool>& attributes_set) const {
143+
float Game_Battler::GetAttributeMultiplier(const lcf::DBBitArray& attributes_set) const {
144144
constexpr auto min_mod = std::numeric_limits<int>::min();
145145
int physical = min_mod;
146146
int magical = min_mod;

src/game_battler.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include <vector>
2424
#include <limits>
2525
#include <lcf/rpg/state.h>
26+
#include <lcf/dbbitarray.h>
2627
#include "system.h"
2728
#include "state.h"
2829
#include "color.h"
@@ -203,7 +204,7 @@ class Game_Battler {
203204
* @param attributes set for the incoming action
204205
* @return effect multiplier
205206
*/
206-
float GetAttributeMultiplier(const std::vector<bool>& attributes_set) const;
207+
float GetAttributeMultiplier(const lcf::DBBitArray& attributes_set) const;
207208

208209
/**
209210
* Gets the characters name

src/game_map.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1267,7 +1267,7 @@ std::vector<int> Game_Map::GetEncountersAt(int x, int y) {
12671267
return false;
12681268
}
12691269

1270-
const std::vector<bool>& terrain_set = troop->terrain_set;
1270+
const auto& terrain_set = troop->terrain_set;
12711271

12721272
// RPG_RT optimisation: Omitted entries are the default value (true)
12731273
return terrain_set.size() <= (unsigned)(terrain_tag - 1) ||

0 commit comments

Comments
 (0)