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

Function find_reactions

plugins/add-spatter.cpp:329–366  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

327}
328
329static bool find_reactions(color_ostream &out)
330{
331 reactions.clear();
332 products.clear();
333
334 auto &rlist = df::reaction::get_vector();
335
336 for (size_t i = 0; i < rlist.size(); i++)
337 {
338 if (!is_add_spatter(rlist[i]->code))
339 continue;
340
341 reactions[rlist[i]->code].react = rlist[i];
342 }
343
344 for (auto it = reactions.begin(); it != reactions.end(); ++it)
345 {
346 auto &prod = it->second.react->products;
347 auto &out_prod = it->second.products;
348
349 for (size_t i = 0; i < prod.size(); i++)
350 {
351 auto itprod = strict_virtual_cast<improvement_product>(prod[i]);
352 if (!itprod) continue;
353
354 out_prod.push_back(ProductInfo());
355 parse_product(out, out_prod.back(), it->second.react, itprod);
356 }
357
358 for (size_t i = 0; i < out_prod.size(); i++)
359 {
360 if (out_prod[i].isValid())
361 products[out_prod[i].product] = &out_prod[i];
362 }
363 }
364
365 return !products.empty();
366}
367
368static void enable_hooks(bool enable)
369{

Callers 1

Calls 9

is_add_spatterFunction · 0.85
ProductInfoClass · 0.70
parse_productFunction · 0.70
clearMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
isValidMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected