|
|
|
|
@ -897,11 +897,11 @@ void StoreNoRoom()
|
|
|
|
|
AddSText(0, 14, _("You do not have enough room in inventory"), UiFlags::ColorWhite | UiFlags::AlignCenter, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void StoreConfirm(Item &item) |
|
|
|
|
{ |
|
|
|
|
StartStore(OldActiveStore); |
|
|
|
|
HasScrollbar = false; |
|
|
|
|
ClearSText(5, 23); |
|
|
|
|
void StoreConfirm(Item &item) |
|
|
|
|
{ |
|
|
|
|
StartStore(OldActiveStore); |
|
|
|
|
HasScrollbar = false; |
|
|
|
|
ClearSText(5, 23); |
|
|
|
|
|
|
|
|
|
if (OldActiveStore == TalkID::StorytellerIdentifyAll) { |
|
|
|
|
AddSText(0, 10, _("Identify all items?"), UiFlags::ColorWhite | UiFlags::AlignCenter, false); |
|
|
|
|
@ -949,14 +949,28 @@ void StoreConfirm(Item &item)
|
|
|
|
|
app_fatal(StrCat("Unknown store dialog ", static_cast<int>(OldActiveStore))); |
|
|
|
|
} |
|
|
|
|
AddSText(0, 15, prompt, UiFlags::ColorWhite | UiFlags::AlignCenter, false); |
|
|
|
|
AddSText(0, 18, _("Yes"), UiFlags::ColorWhite | UiFlags::AlignCenter, true); |
|
|
|
|
AddSText(0, 20, _("No"), UiFlags::ColorWhite | UiFlags::AlignCenter, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void StartBoy() |
|
|
|
|
{ |
|
|
|
|
IsTextFullSize = false; |
|
|
|
|
HasScrollbar = false; |
|
|
|
|
AddSText(0, 18, _("Yes"), UiFlags::ColorWhite | UiFlags::AlignCenter, true); |
|
|
|
|
AddSText(0, 20, _("No"), UiFlags::ColorWhite | UiFlags::AlignCenter, true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RestoreStoreFromOldState() |
|
|
|
|
{ |
|
|
|
|
if (OldActiveStore == TalkID::StorytellerIdentifyAll) { |
|
|
|
|
StartStore(TalkID::Storyteller); |
|
|
|
|
CurrentTextLine = 16; |
|
|
|
|
ScrollPos = 0; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
StartStore(OldActiveStore); |
|
|
|
|
CurrentTextLine = OldTextLine; |
|
|
|
|
ScrollPos = OldScrollPos; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void StartBoy() |
|
|
|
|
{ |
|
|
|
|
IsTextFullSize = false; |
|
|
|
|
HasScrollbar = false; |
|
|
|
|
AddSText(0, 2, _("Wirt the Peg-legged boy"), UiFlags::ColorWhitegold | UiFlags::AlignCenter, false); |
|
|
|
|
AddSLine(5); |
|
|
|
|
if (!BoyItem.isEmpty()) { |
|
|
|
|
@ -1806,13 +1820,19 @@ void ConfirmEnter(Item &item)
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
StartStore(OldActiveStore); |
|
|
|
|
|
|
|
|
|
if (CurrentTextLine == BackButtonLine()) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
CurrentTextLine = OldTextLine; |
|
|
|
|
ScrollPos = std::min(OldScrollPos, NumTextLines); |
|
|
|
|
StartStore(OldActiveStore); |
|
|
|
|
|
|
|
|
|
if (CurrentTextLine == BackButtonLine()) |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
if (OldActiveStore == TalkID::StorytellerIdentifyAll) { |
|
|
|
|
CurrentTextLine = 16; |
|
|
|
|
ScrollPos = 0; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
CurrentTextLine = OldTextLine; |
|
|
|
|
ScrollPos = std::min(OldScrollPos, NumTextLines); |
|
|
|
|
|
|
|
|
|
while (CurrentTextLine != -1 && !TextLine[CurrentTextLine].isSelectable()) { |
|
|
|
|
CurrentTextLine--; |
|
|
|
|
@ -2482,17 +2502,15 @@ void StoreESC()
|
|
|
|
|
case TalkID::StorytellerIdentifyShow: |
|
|
|
|
StartStore(TalkID::StorytellerIdentify); |
|
|
|
|
break; |
|
|
|
|
case TalkID::NoMoney: |
|
|
|
|
case TalkID::NoRoom: |
|
|
|
|
case TalkID::Confirm: |
|
|
|
|
StartStore(OldActiveStore); |
|
|
|
|
CurrentTextLine = OldTextLine; |
|
|
|
|
ScrollPos = OldScrollPos; |
|
|
|
|
break; |
|
|
|
|
case TalkID::None: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
case TalkID::NoMoney: |
|
|
|
|
case TalkID::NoRoom: |
|
|
|
|
case TalkID::Confirm: |
|
|
|
|
RestoreStoreFromOldState(); |
|
|
|
|
break; |
|
|
|
|
case TalkID::None: |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void StoreUp() |
|
|
|
|
{ |
|
|
|
|
@ -2649,15 +2667,13 @@ void StoreEnter()
|
|
|
|
|
case TalkID::WitchRecharge: |
|
|
|
|
WitchRechargeEnter(); |
|
|
|
|
break; |
|
|
|
|
case TalkID::NoMoney: |
|
|
|
|
case TalkID::NoRoom: |
|
|
|
|
StartStore(OldActiveStore); |
|
|
|
|
CurrentTextLine = OldTextLine; |
|
|
|
|
ScrollPos = OldScrollPos; |
|
|
|
|
break; |
|
|
|
|
case TalkID::Confirm: |
|
|
|
|
ConfirmEnter(TempItem); |
|
|
|
|
break; |
|
|
|
|
case TalkID::NoMoney: |
|
|
|
|
case TalkID::NoRoom: |
|
|
|
|
RestoreStoreFromOldState(); |
|
|
|
|
break; |
|
|
|
|
case TalkID::Confirm: |
|
|
|
|
ConfirmEnter(TempItem); |
|
|
|
|
break; |
|
|
|
|
case TalkID::Boy: |
|
|
|
|
BoyEnter(); |
|
|
|
|
break; |
|
|
|
|
|