|  |  | @ -18,6 +18,7 @@ int main () | 
			
		
	
		
		
			
				
					
					|  |  |  |     unsigned int i; |  |  |  |     unsigned int i; | 
			
		
	
		
		
			
				
					
					|  |  |  |     DFHack::ContextManager DFMgr("Memory.xml"); |  |  |  |     DFHack::ContextManager DFMgr("Memory.xml"); | 
			
		
	
		
		
			
				
					
					|  |  |  |     DFHack::Context * DF; |  |  |  |     DFHack::Context * DF; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |     DFHack::Items * Items; | 
			
		
	
		
		
			
				
					
					|  |  |  |     try |  |  |  |     try | 
			
		
	
		
		
			
				
					
					|  |  |  |     { |  |  |  |     { | 
			
		
	
		
		
			
				
					
					|  |  |  |         DF = DFMgr.getSingleContext(); |  |  |  |         DF = DFMgr.getSingleContext(); | 
			
		
	
	
		
		
			
				
					|  |  | @ -26,9 +27,9 @@ int main () | 
			
		
	
		
		
			
				
					
					|  |  |  |     catch (exception& e) |  |  |  |     catch (exception& e) | 
			
		
	
		
		
			
				
					
					|  |  |  |     { |  |  |  |     { | 
			
		
	
		
		
			
				
					
					|  |  |  |         cerr << e.what() << endl; |  |  |  |         cerr << e.what() << endl; | 
			
		
	
		
		
			
				
					
					|  |  |  | #ifndef LINUX_BUILD |  |  |  |         #ifndef LINUX_BUILD | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         cin.ignore(); |  |  |  |             cin.ignore(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | #endif |  |  |  |         #endif | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         return 1; |  |  |  |         return 1; | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | @ -36,11 +37,13 @@ int main () | 
			
		
	
		
		
			
				
					
					|  |  |  |     uint32_t item_vec_offset = 0; |  |  |  |     uint32_t item_vec_offset = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |     try |  |  |  |     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 |  |  |  |         #ifndef LINUX_BUILD | 
			
		
	
		
		
			
				
					
					|  |  |  |             cin.ignore(); |  |  |  |             cin.ignore(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         #endif |  |  |  |         #endif | 
			
		
	
	
		
		
			
				
					|  |  | @ -53,12 +56,13 @@ int main () | 
			
		
	
		
		
			
				
					
					|  |  |  |     int numtasked = 0; |  |  |  |     int numtasked = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |     for (i=0;i<size;i++) |  |  |  |     for (i=0;i<size;i++) | 
			
		
	
		
		
			
				
					
					|  |  |  |     { |  |  |  |     { | 
			
		
	
		
		
			
				
					
					|  |  |  |         DFHack::t_itemflags flags; |  |  |  |         DFHack::dfh_item temp; | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |         flags.whole = p->readDWord(p_items[i] + 0x0C); |  |  |  |         Items->readItem(p_items[i],temp); | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         DFHack::t_itemflags & flags = temp.base.flags; | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (flags.in_job) |  |  |  |         if (flags.in_job) | 
			
		
	
		
		
			
				
					
					|  |  |  |         { |  |  |  |         { | 
			
		
	
		
		
			
				
					
					|  |  |  |             flags.in_job = 0; |  |  |  |             flags.in_job = 0; | 
			
		
	
		
		
			
				
					
					|  |  |  |             p->writeDWord(p_items[i] + 0x0C, flags.whole); |  |  |  |             Items->writeItem(temp); | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             numtasked++; |  |  |  |             numtasked++; | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |     } |  |  |  |     } | 
			
		
	
	
		
		
			
				
					|  |  | 
 |