mirror of
https://github.com/zeldaret/ss
synced 2026-09-01 09:32:58 -04:00
Merge pull request #250 from robojumper/select-btn
d_lyt_msg_window_select_btn mostly OK
This commit is contained in:
@@ -142,7 +142,7 @@ bool dLytMsgWindow_c::build() {
|
||||
field_0x81C = 0;
|
||||
field_0x81D = 0;
|
||||
|
||||
field_0x824 = 0;
|
||||
mNumOptions = 0;
|
||||
field_0x820 = 0;
|
||||
|
||||
field_0x81E = 0;
|
||||
@@ -161,7 +161,7 @@ bool dLytMsgWindow_c::remove() {
|
||||
mpTagProcessor = nullptr;
|
||||
mSelectBtn.remove();
|
||||
removeSubMsgManagers();
|
||||
field_0x824 = 0;
|
||||
mNumOptions = 0;
|
||||
mResAcc1.detach();
|
||||
mResAcc2.detach();
|
||||
return true;
|
||||
@@ -494,36 +494,36 @@ static wchar_t *sBufs[4];
|
||||
|
||||
void dLytMsgWindow_c::initializeState_WaitKeySelectQuestion() {
|
||||
// TODO regswaps
|
||||
field_0x824 = mpTagProcessor->getField_0x90E();
|
||||
mNumOptions = mpTagProcessor->getField_0x90E();
|
||||
|
||||
mSelectBtn.setField_0x9B8(mpTagProcessor->getField_0x82C());
|
||||
s32 tmp = mpTagProcessor->getField_0x828();
|
||||
mSelectBtn.setField_0x9BC(tmp);
|
||||
s32 tmp = mpTagProcessor->getCancelBtnIdx();
|
||||
mSelectBtn.setCancelBtnIdx(tmp);
|
||||
mSelectBtn.setField_0x990(tmp);
|
||||
mSelectBtn.setTagProcessor(mpTagProcessor);
|
||||
|
||||
for (s32 i = 0; i < 4; i++) {
|
||||
sBufs[i] = mpTagProcessor->getBuf(i);
|
||||
sBufs[i] = mpTagProcessor->getOptionString(i);
|
||||
}
|
||||
|
||||
mSelectBtn.fn_8011E5D0(field_0x824, true);
|
||||
mSelectBtn.requestIn(mNumOptions, true);
|
||||
|
||||
for (s32 i = 0, option = 0; i < field_0x824; option++, i++) {
|
||||
for (s32 i = 0, option = 0; i < mNumOptions; option++, i++) {
|
||||
for (s32 j = 0; j < 2; j++) {
|
||||
mSelectBtn.getSelectTextBox(option, j)->setTextWithGlobalTextProcessor(sBufs[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytMsgWindow_c::executeState_WaitKeySelectQuestion() {
|
||||
s32 selection = mSelectBtn.getField_0x9B4();
|
||||
s32 selection = mSelectBtn.getDecidedBtnIdx();
|
||||
if (selection >= 0) {
|
||||
if (mSelectBtn.isStateWait()) {
|
||||
bool doFiThing = false;
|
||||
mpTagProcessor->setField_0x90E(0);
|
||||
mpTagProcessor->setField_0x82C(-1);
|
||||
mpTagProcessor->setField_0x828(-1);
|
||||
mpTagProcessor->setCancelBtnIdx(-1);
|
||||
mSelectBtn.setTagProcessor(nullptr);
|
||||
field_0x824 = 0;
|
||||
mNumOptions = 0;
|
||||
mTextOptionSelection = selection;
|
||||
field_0x1220 = 0;
|
||||
if (FiContext::GetInstance() != nullptr) {
|
||||
|
||||
@@ -54,7 +54,7 @@ bool dLytMsgWindowDemo_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i] = mLyt.getTextBox(sTextBoxes[i]);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
mpTagProcessor = tagProcessor;
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ bool dLytMsgWindowGet_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAcc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -68,7 +68,7 @@ bool dLytMsgWindowLink_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -65,8 +65,8 @@ bool dLytMsgWindowStone_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resA
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[2]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
mpTextboxes[2]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -79,7 +79,7 @@ bool dLytMsgWindowSword_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resA
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -68,7 +68,7 @@ bool dLytMsgWindowTalk_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
@@ -64,7 +64,7 @@ bool dLytMsgWindowWood_c::build(d2d::ResAccIf_c *resAcc1, d2d::ResAccIf_c *resAc
|
||||
mpTextboxes[i]->SetTextPositionV(0);
|
||||
}
|
||||
|
||||
mpTextboxes[1]->set0x1F6(1);
|
||||
mpTextboxes[1]->setIsShadow(1);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mNodes[i].mpLytPane = &mBtn;
|
||||
|
||||
Reference in New Issue
Block a user