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

summaryrefslogtreecommitdiff
path: root/source/game/StarNpc.cpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2023-06-27 00:42:07 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2023-06-27 00:42:07 +1000
commit63b68b3a55a11b32b07e7b8bdbf3760722d5e7f9 (patch)
treea6e9f0b6005d20fe69a00e1a585502c7b73461cd /source/game/StarNpc.cpp
parent94c84ad01333850b88091f2c188e4f6173fd25e7 (diff)
Nameplate and chat bubble improvements
They should stack much better now. I also hooked up the true mouth position to the name-tag, but it's too shaky on chat bubbles.
Diffstat (limited to 'source/game/StarNpc.cpp')
-rw-r--r--source/game/StarNpc.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/source/game/StarNpc.cpp b/source/game/StarNpc.cpp
index b7a07ae..bdeb7b5 100644
--- a/source/game/StarNpc.cpp
+++ b/source/game/StarNpc.cpp
@@ -216,9 +216,9 @@ RectF Npc::metaBoundBox() const {
return RectF(-4, -4, 4, 4);
}
-Vec2F Npc::mouthOffset() const {
- return Vec2F{m_humanoid.mouthOffset(true)[0] * numericalDirection(m_humanoid.facingDirection()),
- m_humanoid.mouthOffset(true)[1]};
+Vec2F Npc::mouthOffset(bool ignoreAdjustments) const {
+ return Vec2F{m_humanoid.mouthOffset(ignoreAdjustments)[0] * numericalDirection(m_humanoid.facingDirection()),
+ m_humanoid.mouthOffset(ignoreAdjustments)[1]};
}
Vec2F Npc::feetOffset() const {
@@ -508,6 +508,10 @@ Vec3B Npc::nametagColor() const {
return m_npcVariant.nametagColor;
}
+Vec2F Npc::nametagOrigin() const {
+ return mouthPosition(false);
+}
+
bool Npc::aggressive() const {
return m_aggressive.get();
}
@@ -804,7 +808,11 @@ void Npc::getNetStates(bool initial) {
}
Vec2F Npc::mouthPosition() const {
- return mouthOffset() + position();
+ return mouthOffset(true) + position();
+}
+
+Vec2F Npc::mouthPosition(bool ignoreAdjustments) const {
+ return mouthOffset(ignoreAdjustments) + position();
}
List<ChatAction> Npc::pullPendingChatActions() {