diff options
| author | Alexander Gavrilov | 2012-03-15 20:46:08 +0400 |
|---|---|---|
| committer | Alexander Gavrilov | 2012-03-15 20:46:08 +0400 |
| commit | f84b1539a8ebd7267acc06fbe2f4dd2394fccce9 (patch) | |
| tree | c5b02295686b5475bd4263dd1920d78401fa9dcf /library/DataDefs.cpp | |
| parent | e5efbc589525d34c5205065514f82a054a92a128 (diff) | |
| download | dfhack-f84b1539a8ebd7267acc06fbe2f4dd2394fccce9.tar.gz dfhack-f84b1539a8ebd7267acc06fbe2f4dd2394fccce9.tar.bz2 dfhack-f84b1539a8ebd7267acc06fbe2f4dd2394fccce9.tar.xz | |
Change to the traits representation of enum and bitfield properties.
Diffstat (limited to 'library/DataDefs.cpp')
| -rw-r--r-- | library/DataDefs.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/library/DataDefs.cpp b/library/DataDefs.cpp index 77b15920..2396e03f 100644 --- a/library/DataDefs.cpp +++ b/library/DataDefs.cpp @@ -169,7 +169,7 @@ std::string DFHack::bitfieldToString(const void *p, int size, const bitfield_ite std::string res; const char *data = (const char*)p; - for (int i = 0; i < size*8; i++) { + for (int i = 0; i < size; i++) { unsigned v; if (items[i].size > 1) { @@ -199,12 +199,22 @@ std::string DFHack::bitfieldToString(const void *p, int size, const bitfield_ite return res; } -int DFHack::findBitfieldField(const std::string &name, int size, const bitfield_item_info *items) +int DFHack::findBitfieldField_(const std::string &name, int size, const bitfield_item_info *items) { - for (int i = 0; i < size*8; i++) { + for (int i = 0; i < size; i++) { if (items[i].name && items[i].name == name) return i; } return -1; } + +int DFHack::findEnumItem_(const std::string &name, int size, const char *const *items) +{ + for (int i = 0; i < size; i++) { + if (items[i] && items[i] == name) + return i; + } + + return -1; +} |
