|
|
@ -92,7 +92,7 @@ using namespace std;
|
|
|
|
#include "df/unit_inventory_item.h"
|
|
|
|
#include "df/unit_inventory_item.h"
|
|
|
|
#include "df/vehicle.h"
|
|
|
|
#include "df/vehicle.h"
|
|
|
|
#include "df/vermin.h"
|
|
|
|
#include "df/vermin.h"
|
|
|
|
#include "df/viewscreen_itemst.h"
|
|
|
|
#include "df/viewscreen.h"
|
|
|
|
#include "df/world.h"
|
|
|
|
#include "df/world.h"
|
|
|
|
#include "df/world_site.h"
|
|
|
|
#include "df/world_site.h"
|
|
|
|
#include "df/written_content.h"
|
|
|
|
#include "df/written_content.h"
|
|
|
@ -904,6 +904,7 @@ static bool detachItem(MapExtras::MapCache &mc, df::item *item)
|
|
|
|
case general_ref_type::CONTAINED_IN_ITEM:
|
|
|
|
case general_ref_type::CONTAINED_IN_ITEM:
|
|
|
|
if (auto item2 = ref->getItem())
|
|
|
|
if (auto item2 = ref->getItem())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
/* TODO: understand how this changes for v50
|
|
|
|
// Viewscreens hold general_ref_contains_itemst pointers
|
|
|
|
// Viewscreens hold general_ref_contains_itemst pointers
|
|
|
|
for (auto screen = Core::getTopViewscreen(); screen; screen = screen->parent)
|
|
|
|
for (auto screen = Core::getTopViewscreen(); screen; screen = screen->parent)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -911,7 +912,7 @@ static bool detachItem(MapExtras::MapCache &mc, df::item *item)
|
|
|
|
if (vsitem && vsitem->item == item2)
|
|
|
|
if (vsitem && vsitem->item == item2)
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
*/
|
|
|
|
item2->flags.bits.weight_computed = false;
|
|
|
|
item2->flags.bits.weight_computed = false;
|
|
|
|
|
|
|
|
|
|
|
|
removeRef(item2->general_refs, general_ref_type::CONTAINS_ITEM, item->id);
|
|
|
|
removeRef(item2->general_refs, general_ref_type::CONTAINS_ITEM, item->id);
|
|
|
|