Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarToolUser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/StarToolUser.cpp')
-rw-r--r--source/game/StarToolUser.cpp44
1 files changed, 21 insertions, 23 deletions
diff --git a/source/game/StarToolUser.cpp b/source/game/StarToolUser.cpp
index be239c1..8900bc7 100644
--- a/source/game/StarToolUser.cpp
+++ b/source/game/StarToolUser.cpp
@@ -207,8 +207,8 @@ List<Drawable> ToolUser::renderObjectPreviews(Vec2F aimPosition, Direction walki
Maybe<Direction> ToolUser::setupHumanoidHandItems(Humanoid& humanoid, Vec2F position, Vec2F aimPosition) const {
if (m_suppress.get() || !m_user) {
- humanoid.setPrimaryHandParameters(false, 0.0f, 0.0f, false, false, false);
- humanoid.setAltHandParameters(false, 0.0f, 0.0f, false, false);
+ humanoid.setHandParameters(ToolHand::Primary, false, 0.0f, 0.0f, false, false, false);
+ humanoid.setHandParameters(ToolHand::Alt, false, 0.0f, 0.0f, false, false, false);
return {};
}
@@ -216,10 +216,8 @@ Maybe<Direction> ToolUser::setupHumanoidHandItems(Humanoid& humanoid, Vec2F posi
Maybe<Direction> overrideFacingDirection;
auto setRotation = [&](bool holdingItem, float angle, float itemAngle, bool twoHanded, bool recoil, bool outsideOfHand) {
- if (primary || twoHanded)
- humanoid.setPrimaryHandParameters(holdingItem, angle, itemAngle, twoHanded, recoil, outsideOfHand);
- else
- humanoid.setAltHandParameters(holdingItem, angle, itemAngle, recoil, outsideOfHand);
+ ToolHand hand = primary || twoHanded ? ToolHand::Primary : ToolHand::Alt;
+ humanoid.setHandParameters(hand, holdingItem, angle, itemAngle, twoHanded, recoil, outsideOfHand);
};
ItemPtr handItem = primary ? m_primaryHandItem.get() : m_altHandItem.get();
@@ -258,7 +256,7 @@ Maybe<Direction> ToolUser::setupHumanoidHandItems(Humanoid& humanoid, Vec2F posi
Maybe<Direction> overrideFacingDirection;
overrideFacingDirection = overrideFacingDirection.orMaybe(inner(true));
if (itemSafeTwoHanded(m_primaryHandItem.get()))
- humanoid.setAltHandParameters(false, 0.0f, 0.0f, false, false);
+ humanoid.setHandParameters(ToolHand::Alt, false, 0.0f, 0.0f, false, false, false);
else
overrideFacingDirection = overrideFacingDirection.orMaybe(inner(false));
@@ -267,31 +265,31 @@ Maybe<Direction> ToolUser::setupHumanoidHandItems(Humanoid& humanoid, Vec2F posi
void ToolUser::setupHumanoidHandItemDrawables(Humanoid& humanoid) const {
if (m_suppress.get() || !m_user) {
- humanoid.setPrimaryHandFrameOverrides("", "");
- humanoid.setAltHandFrameOverrides("", "");
- humanoid.setPrimaryHandDrawables({});
- humanoid.setAltHandDrawables({});
- humanoid.setPrimaryHandNonRotatedDrawables({});
- humanoid.setAltHandNonRotatedDrawables({});
+ humanoid.setHandFrameOverrides(ToolHand::Primary, "", "");
+ humanoid.setHandFrameOverrides(ToolHand::Alt, "", "");
+ humanoid.setHandDrawables(ToolHand::Primary, {});
+ humanoid.setHandDrawables(ToolHand::Alt, {});
+ humanoid.setHandNonRotatedDrawables(ToolHand::Primary, {});
+ humanoid.setHandNonRotatedDrawables(ToolHand::Alt, {});
return;
}
auto inner = [&](bool primary) {
- auto setRotated = [&](String const& backFrameOverride, String const& frontFrameOverride, List<Drawable> drawables, bool twoHanded) {
+ auto setRotated = [&](String const& backFrame, String const& frontFrame, List<Drawable> drawables, bool twoHanded) {
if (primary || twoHanded) {
- humanoid.setPrimaryHandFrameOverrides(backFrameOverride, frontFrameOverride);
- humanoid.setPrimaryHandDrawables(std::move(drawables));
+ humanoid.setHandFrameOverrides(ToolHand::Primary, backFrame, frontFrame);
+ humanoid.setHandDrawables(ToolHand::Primary, std::move(drawables));
} else {
- humanoid.setAltHandFrameOverrides(backFrameOverride, frontFrameOverride);
- humanoid.setAltHandDrawables(std::move(drawables));
+ humanoid.setHandFrameOverrides(ToolHand::Alt, backFrame, frontFrame);
+ humanoid.setHandDrawables(ToolHand::Alt, std::move(drawables));
}
};
auto setNonRotated = [&](List<Drawable> drawables) {
if (primary)
- humanoid.setPrimaryHandNonRotatedDrawables(std::move(drawables));
+ humanoid.setHandNonRotatedDrawables(ToolHand::Primary, std::move(drawables));
else
- humanoid.setAltHandNonRotatedDrawables(std::move(drawables));
+ humanoid.setHandNonRotatedDrawables(ToolHand::Alt, std::move(drawables));
};
ItemPtr handItem = primary ? m_primaryHandItem.get() : m_altHandItem.get();
@@ -321,9 +319,9 @@ void ToolUser::setupHumanoidHandItemDrawables(Humanoid& humanoid) const {
inner(true);
if (itemSafeTwoHanded(m_primaryHandItem.get())) {
- humanoid.setAltHandFrameOverrides("", "");
- humanoid.setAltHandDrawables({});
- humanoid.setAltHandNonRotatedDrawables({});
+ humanoid.setHandFrameOverrides(ToolHand::Alt, "", "");
+ humanoid.setHandDrawables(ToolHand::Alt, {});
+ humanoid.setHandNonRotatedDrawables(ToolHand::Alt, {});
} else {
inner(false);
}