diff options
| author | Alexander Gavrilov | 2012-03-19 20:12:27 +0400 |
|---|---|---|
| committer | Alexander Gavrilov | 2012-03-19 20:12:27 +0400 |
| commit | dbbd9acfad8d5994f321840e3d695fe8a67ac315 (patch) | |
| tree | 77d31425a26f6e4afd8a3b0c1a029c5ca78a9add /library/DataStaticsFields.cpp | |
| parent | 296d3a0af306a5247048ed4f38b2bc72eb582d89 (diff) | |
| download | dfhack-dbbd9acfad8d5994f321840e3d695fe8a67ac315.tar.gz dfhack-dbbd9acfad8d5994f321840e3d695fe8a67ac315.tar.bz2 dfhack-dbbd9acfad8d5994f321840e3d695fe8a67ac315.tar.xz | |
Export the type tree with enum keys to lua.
Diffstat (limited to 'library/DataStaticsFields.cpp')
| -rw-r--r-- | library/DataStaticsFields.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/library/DataStaticsFields.cpp b/library/DataStaticsFields.cpp index 0e6e9957..a9d2f312 100644 --- a/library/DataStaticsFields.cpp +++ b/library/DataStaticsFields.cpp @@ -13,6 +13,27 @@ #pragma GCC diagnostic ignored "-Winvalid-offsetof" +namespace df { +#define ATOM_IDENTITY_TRAITS(type) \ + primitive_identity identity_traits<type>::identity(sizeof(type)); + + ATOM_IDENTITY_TRAITS(char); + ATOM_IDENTITY_TRAITS(int8_t); + ATOM_IDENTITY_TRAITS(uint8_t); + ATOM_IDENTITY_TRAITS(int16_t); + ATOM_IDENTITY_TRAITS(uint16_t); + ATOM_IDENTITY_TRAITS(int32_t); + ATOM_IDENTITY_TRAITS(uint32_t); + ATOM_IDENTITY_TRAITS(int64_t); + ATOM_IDENTITY_TRAITS(uint64_t); + ATOM_IDENTITY_TRAITS(bool); + ATOM_IDENTITY_TRAITS(float); + ATOM_IDENTITY_TRAITS(std::string); + ATOM_IDENTITY_TRAITS(void*); + +#undef ATOM_IDENTITY_TRAITS +} + #define TID(type) (&identity_traits< type >::identity) #define FLD(mode, name) struct_field_info::mode, #name, offsetof(CUR_STRUCT, name) |
