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

Function unserialize_list_quality

plugins/stockpiles/StockpileSerializer.cpp:344–364  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

342}
343
344static void unserialize_list_quality(color_ostream& out, const char* subcat, bool all, bool val, const vector<string>& filters,
345 FuncReadImport read_value, int32_t list_size, bool(&pile_list)[7]) {
346 if (all) {
347 for (auto idx = 0; idx < 7; ++idx) {
348 string id = ENUM_KEY_STR(item_quality, (df::item_quality)idx);
349 set_filter_elem(out, subcat, filters, val, id, idx, pile_list[idx]);
350 }
351 return;
352 }
353
354 using df::enums::item_quality::item_quality;
355 for (int i = 0; i < list_size; ++i) {
356 const string quality = read_value(i);
357 df::enum_traits<item_quality>::base_type idx = token_to_enum_val<item_quality>(quality);
358 if (idx < 0) {
359 WARN(log, out).print("invalid quality token: {}\n", quality);
360 continue;
361 }
362 set_filter_elem(out, subcat, filters, val, quality, idx, pile_list[idx]);
363 }
364}
365
366static string other_mats_index(const std::map<int, string> other_mats,
367 int idx) {

Callers 5

read_ammoMethod · 0.85
read_armorMethod · 0.85
read_finished_goodsMethod · 0.85
read_furnitureMethod · 0.85
read_weaponsMethod · 0.85

Calls 2

set_filter_elemFunction · 0.85
printMethod · 0.45

Tested by

no test coverage detected