Skip to content

Commit

Permalink
Merge branch 'door_copies' into 'master'
Browse files Browse the repository at this point in the history
Do not make redundant copies

See merge request OpenMW/openmw!4347
  • Loading branch information
jvoisin committed Sep 1, 2024
2 parents f456978 + b620b9b commit ba18b81
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions apps/openmw/mwlua/types/door.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,18 @@ namespace MWLua
{ "Closing", MWWorld::DoorState::Closing },
}));
door["getDoorState"] = [](const Object& o) -> MWWorld::DoorState {
auto door = doorPtr(o);
const MWWorld::Ptr& door = doorPtr(o);
return door.getClass().getDoorState(door);
};
door["isOpen"] = [](const Object& o) {
auto door = doorPtr(o);
const MWWorld::Ptr& door = doorPtr(o);
bool doorIsIdle = door.getClass().getDoorState(door) == MWWorld::DoorState::Idle;
bool doorIsOpen = door.getRefData().getPosition().rot[2] != door.getCellRef().getPosition().rot[2];

return doorIsIdle && doorIsOpen;
};
door["isClosed"] = [](const Object& o) {
auto door = doorPtr(o);
const MWWorld::Ptr& door = doorPtr(o);
bool doorIsIdle = door.getClass().getDoorState(door) == MWWorld::DoorState::Idle;
bool doorIsOpen = door.getRefData().getPosition().rot[2] != door.getCellRef().getPosition().rot[2];

Expand All @@ -70,7 +70,7 @@ namespace MWLua
if (!allowChanges)
throw std::runtime_error("Can only be used in global scripts or in local scripts on self.");

auto door = doorPtr(o);
const MWWorld::Ptr& door = doorPtr(o);
auto world = MWBase::Environment::get().getWorld();

if (!openState.has_value())
Expand Down

0 comments on commit ba18b81

Please sign in to comment.