Decompile fn_10223 (UIRuneSet_Info::SendMsg)
Batch #11925 by Yommy: 0 byte-identical, 1 confirmed by peer review. - fn_10223 UIRuneSet_Info::SendMsg: logic confirmed by peer review Peer-reviewed-by: KWDev, dori, cremane, codeplay Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
parent
a0a6bc1dbd
commit
33c3fdc014
1 changed files with 48 additions and 47 deletions
|
|
@ -1577,45 +1577,60 @@ UIRune_Info::UIRune_Info() : UIWindow(0), m_rune(nullptr) {
|
|||
// FUNCTION: fn_10223
|
||||
int UIRuneSet_Info::SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) {
|
||||
switch (message) {
|
||||
case 0x16:
|
||||
if (!this->m_runeSet) {
|
||||
break;
|
||||
}
|
||||
if (!this->m_runeSet->IsActive()) {
|
||||
UIRuneSystemTab* tab = this->m_tab;
|
||||
tab->geometry.unknown_0030 = 0;
|
||||
tab->Invalidate();
|
||||
g_windowMgr.Confirm(LookupMessage(4047), 0, true, false, 0, "Message", 280, 120, 0);
|
||||
}
|
||||
this->Refresh();
|
||||
break;
|
||||
case 0x3C:
|
||||
this->Refresh();
|
||||
break;
|
||||
case 6:
|
||||
if (argument1 > 0x158) {
|
||||
switch (argument1) {
|
||||
case 0x1FD:
|
||||
if (!this->m_runeSet) {
|
||||
g_windowMgr.Confirm(LookupMessage(4048), 0, true, false, 0, "Message", 280, 120, 0);
|
||||
} else if (!this->parent || this->parent->SendMsg(this, 0x6A, 100, 0, 0, 0) != 0) {
|
||||
g_runeSystemMgr->SendRequest(0xBD2, this->m_runeSet, -1);
|
||||
}
|
||||
break;
|
||||
case 0x23C:
|
||||
if (!this->m_runeSet) {
|
||||
g_windowMgr.Confirm(LookupMessage(4048), 0, true, false, 0, "Message", 280, 120, 0);
|
||||
} else if (!this->parent || this->parent->SendMsg(this, 0x6A, 100, 0, 0, 0) != 0) {
|
||||
g_runeSystemMgr->SendRequest(0xBD0, this->m_runeSet, -1);
|
||||
}
|
||||
break;
|
||||
case 0x24E:
|
||||
case 0x24F:
|
||||
case 0x250:
|
||||
case 0x251:
|
||||
case 0x252:
|
||||
case 0x253:
|
||||
case 0x254:
|
||||
if (!this->m_runeSet->IsRewardStep(argument1 - 0x24E)) {
|
||||
g_windowMgr.SendNotice(1, reinterpret_cast<std::intptr_t>(LookupMessage(4199)), 0xFF, 0, 0, 0);
|
||||
} else {
|
||||
g_runeSystemMgr->SendRequest(0xC16, this->m_runeSet, argument1 - 0x24D);
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (argument1 == 0x158) {
|
||||
if (!this->parent || this->parent->SendMsg(this, 0x6A, 1500, 0, 0, 0) != 0) {
|
||||
this->parent->SendMsg(this, 0xAB, 0x158, 0, 0, 0);
|
||||
}
|
||||
} else if (argument1 == 0xC3) {
|
||||
switch (argument1) {
|
||||
case 0xC3:
|
||||
if (this->m_runeSet && (!this->parent || this->parent->SendMsg(this, 0x6A, 1500, 0, 0, 0) != 0)) {
|
||||
this->parent->SendMsg(this, 0xAB, 0xC3, reinterpret_cast<std::intptr_t>(this->m_runeSet), 0, 0);
|
||||
}
|
||||
break;
|
||||
case 0x158:
|
||||
if (!this->parent || this->parent->SendMsg(this, 0x6A, 1500, 0, 0, 0) != 0) {
|
||||
this->parent->SendMsg(this, 0xAB, 0x158, 0, 0, 0);
|
||||
}
|
||||
break;
|
||||
case 0x24E:
|
||||
case 0x24F:
|
||||
case 0x250:
|
||||
case 0x251:
|
||||
case 0x252:
|
||||
case 0x253:
|
||||
case 0x254:
|
||||
if (!this->m_runeSet->IsRewardStep(argument1 - 0x24E)) {
|
||||
g_windowMgr.SendNotice(1, reinterpret_cast<std::intptr_t>(LookupMessage(4199)), 0xFF, 0, 0, 0);
|
||||
} else {
|
||||
g_runeSystemMgr->SendRequest(0xC16, this->m_runeSet, argument1 - 0x24D);
|
||||
}
|
||||
break;
|
||||
case 0x23C:
|
||||
if (!this->m_runeSet) {
|
||||
g_windowMgr.Confirm(LookupMessage(4048), 0, true, false, 0, "Message", 280, 120, 0);
|
||||
} else if (!this->parent || this->parent->SendMsg(this, 0x6A, 100, 0, 0, 0) != 0) {
|
||||
g_runeSystemMgr->SendRequest(0xBD0, this->m_runeSet, -1);
|
||||
}
|
||||
break;
|
||||
case 0x1FD:
|
||||
if (!this->m_runeSet) {
|
||||
g_windowMgr.Confirm(LookupMessage(4048), 0, true, false, 0, "Message", 280, 120, 0);
|
||||
} else if (!this->parent || this->parent->SendMsg(this, 0x6A, 100, 0, 0, 0) != 0) {
|
||||
g_runeSystemMgr->SendRequest(0xBD2, this->m_runeSet, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
|
|
@ -1624,20 +1639,6 @@ int UIRuneSet_Info::SendMsg(UIWindow* sender, int message, std::intptr_t argumen
|
|||
this->m_infoList->ScrollBy(argument1);
|
||||
this->Invalidate();
|
||||
break;
|
||||
case 0x16:
|
||||
if (!this->m_runeSet) {
|
||||
break;
|
||||
}
|
||||
if (!this->m_runeSet->IsActive()) {
|
||||
this->m_tab->geometry.unknown_0030 = 0;
|
||||
this->m_tab->Invalidate();
|
||||
g_windowMgr.Confirm(LookupMessage(4047), 0, true, false, 0, "Message", 280, 120, 0);
|
||||
}
|
||||
this->Refresh();
|
||||
break;
|
||||
case 0x3C:
|
||||
this->Refresh();
|
||||
break;
|
||||
}
|
||||
|
||||
return UIWindow::SendMsg(sender, message, argument1, argument2, argument3, argument4);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue