MCPcopy Create free account
hub / github.com/DFHack/dfhack / read_refuse

Method read_refuse

plugins/stockpiles/StockpileSerializer.cpp:2151–2207  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2149}
2150
2151void StockpileSettingsSerializer::read_refuse(color_ostream& out, DeserializeMode mode, const vector<string>& filters) {
2152 auto & prefuse = mSettings->refuse;
2153 read_category<StockpileSettings_RefuseSet>(out, "refuse", mode,
2154 std::bind(&StockpileSettings::has_refuse, mBuffer),
2155 std::bind(&StockpileSettings::refuse, mBuffer),
2156 mSettings->flags.whole,
2157 mSettings->flags.mask_refuse,
2158 [&]() {
2159 prefuse.fresh_raw_hide = false;
2160 prefuse.rotten_raw_hide = false;
2161 prefuse.type.clear();
2162 prefuse.corpses.clear();
2163 prefuse.body_parts.clear();
2164 prefuse.skulls.clear();
2165 prefuse.bones.clear();
2166 prefuse.hair.clear();
2167 prefuse.shells.clear();
2168 prefuse.teeth.clear();
2169 prefuse.horns.clear();
2170 },
2171 [&](bool all, char val) {
2172 auto & brefuse = mBuffer.refuse();
2173
2174 set_flag(out, "rawhide/fresh", filters, all, val, brefuse.fresh_raw_hide(), prefuse.fresh_raw_hide);
2175 set_flag(out, "rawhide/rotten", filters, all, val, brefuse.rotten_raw_hide(), prefuse.rotten_raw_hide);
2176
2177 unserialize_list_item_type(out, "type", all, val, filters, refuse_type_is_allowed,
2178 [&](const size_t& idx) -> const string& { return brefuse.type(idx); },
2179 brefuse.type_size(), prefuse.type);
2180
2181 unserialize_list_creature(out, "corpses", all, val, filters,
2182 [&](const size_t& idx) -> const string& { return brefuse.corpses(idx); },
2183 brefuse.corpses_size(), prefuse.corpses);
2184 unserialize_list_creature(out, "bodyparts", all, val, filters,
2185 [&](const size_t& idx) -> const string& { return brefuse.body_parts(idx); },
2186 brefuse.body_parts_size(), prefuse.body_parts);
2187 unserialize_list_creature(out, "skulls", all, val, filters,
2188 [&](const size_t& idx) -> const string& { return brefuse.skulls(idx); },
2189 brefuse.skulls_size(), prefuse.skulls);
2190 unserialize_list_creature(out, "bones", all, val, filters,
2191 [&](const size_t& idx) -> const string& { return brefuse.bones(idx); },
2192 brefuse.bones_size(), prefuse.bones);
2193 unserialize_list_creature(out, "hair", all, val, filters,
2194 [&](const size_t& idx) -> const string& { return brefuse.hair(idx); },
2195 brefuse.hair_size(), prefuse.hair);
2196 unserialize_list_creature(out, "shells", all, val, filters,
2197 [&](const size_t& idx) -> const string& { return brefuse.shells(idx); },
2198 brefuse.shells_size(), prefuse.shells);
2199 unserialize_list_creature(out, "teeth", all, val, filters,
2200 [&](const size_t& idx) -> const string& { return brefuse.teeth(idx); },
2201 brefuse.teeth_size(), prefuse.teeth);
2202 unserialize_list_creature(out, "horns", all, val, filters,
2203 [&](const size_t& idx) -> const string& { return brefuse.horns(idx); },
2204 brefuse.horns_size(), prefuse.horns);
2205 });
2206
2207}
2208

Callers

nothing calls this directly

Calls 5

set_flagFunction · 0.85
clearMethod · 0.45
typeMethod · 0.45

Tested by

no test coverage detected