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

Function CopyItem

plugins/remotefortressreader/item_reader.cpp:162–523  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

160}
161
162void CopyItem(RemoteFortressReader::Item * NetItem, df::item * DfItem)
163{
164 NetItem->set_id(DfItem->id);
165 NetItem->set_flags1(DfItem->flags.whole);
166 NetItem->set_flags2(DfItem->flags2.whole);
167 auto pos = NetItem->mutable_pos();
168 pos->set_x(DfItem->pos.x);
169 pos->set_y(DfItem->pos.y);
170 pos->set_z(DfItem->pos.z);
171 auto mat = NetItem->mutable_material();
172 mat->set_mat_index(DfItem->getMaterialIndex());
173 mat->set_mat_type(DfItem->getMaterial());
174 auto type = NetItem->mutable_type();
175 type->set_mat_type(DfItem->getType());
176 type->set_mat_index(DfItem->getSubtype());
177
178 bool isProjectile = false;
179
180 item_type::item_type itemType = DfItem->getType();
181
182 switch (itemType)
183 {
184 case df::enums::item_type::NONE:
185 break;
186 case df::enums::item_type::BAR:
187 break;
188 case df::enums::item_type::SMALLGEM:
189 {
190 VIRTUAL_CAST_VAR(smallgem_item, df::item_smallgemst, DfItem);
191 type->set_mat_index(smallgem_item->shape);
192 break;
193 }
194 case df::enums::item_type::BLOCKS:
195 break;
196 case df::enums::item_type::ROUGH:
197 break;
198 case df::enums::item_type::BOULDER:
199 break;
200 case df::enums::item_type::WOOD:
201 break;
202 case df::enums::item_type::DOOR:
203 break;
204 case df::enums::item_type::FLOODGATE:
205 break;
206 case df::enums::item_type::BED:
207 break;
208 case df::enums::item_type::CHAIR:
209 break;
210 case df::enums::item_type::CHAIN:
211 break;
212 case df::enums::item_type::FLASK:
213 break;
214 case df::enums::item_type::GOBLET:
215 break;
216 case df::enums::item_type::INSTRUMENT:
217 break;
218 case df::enums::item_type::TOY:
219 break;

Callers 4

CopyProjectilesFunction · 0.85
CopyBuildingsFunction · 0.85
CopyItemsFunction · 0.85
GetUnitListInsideFunction · 0.85

Calls 7

CopyImageFunction · 0.85
ConvertDFColorDescriptorFunction · 0.85
binsearch_in_vectorFunction · 0.85
getTypeMethod · 0.80
set_typeMethod · 0.80
sizeMethod · 0.45
decodeMethod · 0.45

Tested by

no test coverage detected