MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / renderMessages

Method renderMessages

source/frontend/StarMainInterface.cpp:1098–1132  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1096}
1097
1098void MainInterface::renderMessages() {
1099 if (m_messages.empty())
1100 return;
1101
1102 Vec2F totalOffset = {};
1103 auto imgMetadata = Root::singleton().imageMetadataDatabase();
1104 unsigned bottomOffset = Root::singleton().configuration()->getPath("inventory.bottomActionBar").optBool().value(false) ? 32 : 0;
1105 for (auto& message : m_messages) {
1106 Vec2F hiddenOffset = Vec2F(m_config->messageHiddenOffset);
1107 Vec2F activeOffset = Vec2F(m_config->messageActiveOffset);
1108 if (bottomOffset) {
1109 activeOffset[1] += bottomOffset;
1110 bottomOffset = 0;
1111 }
1112 Vec2F messageOffset = lerp(message->springState, Vec2F(), activeOffset - hiddenOffset);
1113 totalOffset += messageOffset;
1114 messageOffset = totalOffset + hiddenOffset;
1115
1116 Vec2F backgroundCenterPos = Vec2F(windowWidth() * 0.5f + messageOffset[0] * interfaceScale(), messageOffset[1] * interfaceScale());
1117
1118 Vec2F backgroundTextCenterPos = backgroundCenterPos + Vec2F(m_config->messageTextContainerOffset * interfaceScale());
1119 Vec2F messageTextOffset = backgroundTextCenterPos + Vec2F(m_config->messageTextOffset * interfaceScale());
1120
1121 if (message->cooldown > m_config->messageHideTime)
1122 message->springState = (message->springState * m_config->messageWindowSpring + 1.0f) / (m_config->messageWindowSpring + 1.0f);
1123 else
1124 message->springState = (message->springState * m_config->messageWindowSpring) / (m_config->messageWindowSpring + 1.0f);
1125
1126 m_guiContext->drawQuad(m_config->messageTextContainer,
1127 RectF::withCenter(backgroundTextCenterPos, Vec2F(imgMetadata->imageSize(m_config->messageTextContainer) * interfaceScale())));
1128
1129 m_guiContext->setTextStyle(m_config->textStyle);
1130 m_guiContext->renderText(message->message, {messageTextOffset, HorizontalAnchor::HMidAnchor, VerticalAnchor::VMidAnchor});
1131 }
1132}
1133
1134void MainInterface::renderMonsterHealthBar() {
1135 auto assets = Root::singleton().assets();

Callers

nothing calls this directly

Calls 12

singletonClass · 0.85
lerpFunction · 0.85
imageMetadataDatabaseMethod · 0.80
optBoolMethod · 0.80
configurationMethod · 0.80
drawQuadMethod · 0.80
setTextStyleMethod · 0.80
emptyMethod · 0.45
valueMethod · 0.45
getPathMethod · 0.45
imageSizeMethod · 0.45
renderTextMethod · 0.45

Tested by

no test coverage detected