| 94 | }; |
| 95 | |
| 96 | class MatType { |
| 97 | public: |
| 98 | const std::string name; |
| 99 | const df::job_material_category job_material; |
| 100 | const df::armor_general_flags armor_flag; |
| 101 | |
| 102 | bool operator==(const MatType& m) const { |
| 103 | return name == m.name; |
| 104 | } |
| 105 | |
| 106 | // operator< is required to use this as a std::map key |
| 107 | bool operator<(const MatType& m) const { |
| 108 | return name < m.name; |
| 109 | } |
| 110 | |
| 111 | MatType(std::string& n, df::job_material_category jm, df::armor_general_flags af) |
| 112 | : name(n), job_material(jm), armor_flag(af) {}; |
| 113 | MatType(const char* n, df::job_material_category jm, df::armor_general_flags af) |
| 114 | : name(std::string(n)), job_material(jm), armor_flag(af) {}; |
| 115 | }; |
| 116 | |
| 117 | static const MatType |
| 118 | M_SILK = MatType("silk", df::job_material_category::mask_silk, df::armor_general_flags::SOFT), |