summaryrefslogtreecommitdiff
path: root/src/d/lyt/msg_window
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-04-05 18:19:37 +0200
committerrobojumper <robojumper@gmail.com>2025-04-07 22:12:39 +0200
commit2892dd467a0e21827411d7966ebf9f1c377f55e2 (patch)
treecdd6b21c3966fbc9449c52c987f3465fbdac4a3b /src/d/lyt/msg_window
parent134f7e1ab6504704db3be5c37d0aaf8039a0aceb (diff)
Progress
Diffstat (limited to 'src/d/lyt/msg_window')
-rw-r--r--src/d/lyt/msg_window/d_lyt_msg_window.cpp8
-rw-r--r--src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp21
2 files changed, 10 insertions, 19 deletions
diff --git a/src/d/lyt/msg_window/d_lyt_msg_window.cpp b/src/d/lyt/msg_window/d_lyt_msg_window.cpp
index 51e11365..3b310dc6 100644
--- a/src/d/lyt/msg_window/d_lyt_msg_window.cpp
+++ b/src/d/lyt/msg_window/d_lyt_msg_window.cpp
@@ -146,7 +146,7 @@ bool dLytMsgWindow_c::build() {
field_0x81E = 0;
- field_0x828 = 0;
+ field_0x828 = nullptr;
mStateMgr.changeState(StateID_Invisible);
@@ -199,7 +199,7 @@ void dLytMsgWindow_c::executeState_Invisible() {
mStateMgr.changeState(StateID_ExplainIn);
} else {
createSubMsgManager(mpTagProcessor->getMsgWindowSubtype());
- field_0x828 = 0;
+ field_0x828 = nullptr;
mSpecialFiMenuValue = 7;
if (mpTagProcessor->getMsgWindowSubtype() == 6) {
mpCurrentSubtype = mpWindowWood;
@@ -331,7 +331,7 @@ void dLytMsgWindow_c::executeState_OutputText() {
}
field_0x81C = mpMsgWindowUnk->checkEndReached();
- field_0x81D = mpMsgWindowUnk->checkLastLineReachedMaybe();
+ field_0x81D = mpMsgWindowUnk->reset();
}
void dLytMsgWindow_c::finalizeState_OutputText() {}
@@ -673,7 +673,7 @@ bool dLytMsgWindow_c::execute() {
removeSubMsgManagers();
mStateMgr.changeState(StateID_Invisible);
}
- mpMsgWindowUnk->checkLastLineReachedMaybe();
+ mpMsgWindowUnk->reset();
mSelectBtn.remove();
field_0x81B = 0;
// TODO boss caption
diff --git a/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp b/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp
index 74674e9d..d4c0f0a7 100644
--- a/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp
+++ b/src/d/lyt/msg_window/d_lyt_msg_window_sword.cpp
@@ -11,6 +11,7 @@
#include "nw4r/lyt/lyt_types.h"
#include "nw4r/math/math_types.h"
#include "s/s_State.hpp"
+#include "toBeSorted/lyt_related_floats.h"
STATE_DEFINE(dLytMsgWindowSword_c, Invisible);
STATE_DEFINE(dLytMsgWindowSword_c, In);
@@ -96,13 +97,7 @@ bool dLytMsgWindowSword_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resA
mSwordText.build(resAcc, mSwordType);
for (int i = 0; i < 1023; i++) {
- mCharacterData[i].posX = 0.0f;
- mCharacterData[i].posY = 0.0f;
- mCharacterData[i].field_0x08 = dTagProcessor_c::fn_800B8040(0, 0);
- mCharacterData[i].character = L'\0';
- mCharacterData[i].field_0x0C = 1023;
- mCharacterData[i].displayTimerMaybe = -1;
-
+ mCharacterData[i].reset();
mTextBuf[i] = L'\0';
}
@@ -268,8 +263,6 @@ bool dLytMsgWindowSword_c::execute() {
return true;
}
-extern "C" f32 lbl_805751A4;
-
void dLytMsgWindowSword_c::draw() {
mLyt.draw();
@@ -278,16 +271,14 @@ void dLytMsgWindowSword_c::draw() {
if (!mHasDrawnThisTick) {
mCharacterData[i].displayTimerMaybe += 1;
}
- wchar_t str[2];
- // FPR regswaps
- f32 x = field_0x05E4 + mCharacterData[i].posX;
- x /= lbl_805751A4;
- f32 y = field_0x05E8 + mCharacterData[i].posY;
+ nw4r::math::VEC3 v(
+ (field_0x05E4 + mCharacterData[i].posX) / get_805751A4(), field_0x05E8 + mCharacterData[i].posY, 0.0f
+ );
+ wchar_t str[2];
str[0] = mCharacterData[i].character;
str[1] = 0;
- nw4r::math::VEC3 v(x, y, 0.0f);
mSwordText.draw(str, mCharacterData[i].displayTimerMaybe, v, mCharacterData[i].field_0x08);
if (mCharacterData[i].displayTimerMaybe >= mSwordText.fn_80120DB0()) {
mCharacterData[i].displayTimerMaybe = -1;