1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-19 03:39:58 +00:00

Merge branch 'companion_creatures' into 'master'

Allow creatures to be companions again

See merge request OpenMW/openmw!3409
This commit is contained in:
psi29a 2023-09-09 08:06:03 +00:00
commit cadb166b58
No known key found for this signature in database
2 changed files with 7 additions and 7 deletions

View File

@ -71,7 +71,7 @@ namespace MWGui
const ItemStack& item = mSortModel->getItem(index); const ItemStack& item = mSortModel->getItem(index);
// We can't take conjured items from a companion NPC // We can't take conjured items from a companion actor
if (item.mFlags & ItemStack::Flag_Bound) if (item.mFlags & ItemStack::Flag_Bound)
{ {
MWBase::Environment::get().getWindowManager()->messageBox("#{sBarterDialog12}"); MWBase::Environment::get().getWindowManager()->messageBox("#{sBarterDialog12}");
@ -119,13 +119,13 @@ namespace MWGui
} }
} }
void CompanionWindow::setPtr(const MWWorld::Ptr& npc) void CompanionWindow::setPtr(const MWWorld::Ptr& actor)
{ {
if (npc.isEmpty() || npc.getType() != ESM::REC_NPC_) if (actor.isEmpty() || !actor.getClass().isActor())
throw std::runtime_error("Invalid argument in CompanionWindow::setPtr"); throw std::runtime_error("Invalid argument in CompanionWindow::setPtr");
mPtr = npc; mPtr = actor;
updateEncumbranceBar(); updateEncumbranceBar();
auto model = std::make_unique<CompanionItemModel>(npc); auto model = std::make_unique<CompanionItemModel>(actor);
mModel = model.get(); mModel = model.get();
auto sortModel = std::make_unique<SortFilterItemModel>(std::move(model)); auto sortModel = std::make_unique<SortFilterItemModel>(std::move(model));
mSortModel = sortModel.get(); mSortModel = sortModel.get();
@ -133,7 +133,7 @@ namespace MWGui
mItemView->setModel(std::move(sortModel)); mItemView->setModel(std::move(sortModel));
mItemView->resetScrollBars(); mItemView->resetScrollBars();
setTitle(npc.getClass().getName(npc)); setTitle(actor.getClass().getName(actor));
} }
void CompanionWindow::onFrame(float dt) void CompanionWindow::onFrame(float dt)

View File

@ -26,7 +26,7 @@ namespace MWGui
void resetReference() override; void resetReference() override;
void setPtr(const MWWorld::Ptr& npc) override; void setPtr(const MWWorld::Ptr& actor) override;
void onFrame(float dt) override; void onFrame(float dt) override;
void clear() override { resetReference(); } void clear() override { resetReference(); }