|
|
|
@ -18,6 +18,7 @@ int main ()
|
|
|
|
|
unsigned int i;
|
|
|
|
|
DFHack::ContextManager DFMgr("Memory.xml");
|
|
|
|
|
DFHack::Context * DF;
|
|
|
|
|
DFHack::Items * Items;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
DF = DFMgr.getSingleContext();
|
|
|
|
@ -36,11 +37,13 @@ int main ()
|
|
|
|
|
uint32_t item_vec_offset = 0;
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
item_vec_offset = p->getDescriptor()->getAddress ("items_vector");
|
|
|
|
|
Items = DF->getItems();
|
|
|
|
|
DFHack::OffsetGroup* itemGroup = p->getDescriptor()->getGroup("Items");
|
|
|
|
|
item_vec_offset = itemGroup->getAddress("items_vector");
|
|
|
|
|
}
|
|
|
|
|
catch(DFHack::Error::AllMemdef & e)
|
|
|
|
|
catch(DFHack::Error::All & e)
|
|
|
|
|
{
|
|
|
|
|
cerr << "missing offset for the item vector, exiting :(" << endl;
|
|
|
|
|
cerr << "Fatal error, exiting :(" << endl << e.what() << endl;
|
|
|
|
|
#ifndef LINUX_BUILD
|
|
|
|
|
cin.ignore();
|
|
|
|
|
#endif
|
|
|
|
@ -53,12 +56,13 @@ int main ()
|
|
|
|
|
int numtasked = 0;
|
|
|
|
|
for (i=0;i<size;i++)
|
|
|
|
|
{
|
|
|
|
|
DFHack::t_itemflags flags;
|
|
|
|
|
flags.whole = p->readDWord(p_items[i] + 0x0C);
|
|
|
|
|
DFHack::dfh_item temp;
|
|
|
|
|
Items->readItem(p_items[i],temp);
|
|
|
|
|
DFHack::t_itemflags & flags = temp.base.flags;
|
|
|
|
|
if (flags.in_job)
|
|
|
|
|
{
|
|
|
|
|
flags.in_job = 0;
|
|
|
|
|
p->writeDWord(p_items[i] + 0x0C, flags.whole);
|
|
|
|
|
Items->writeItem(temp);
|
|
|
|
|
numtasked++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|