Skip to content

Commit 00e0d08

Browse files
committed
CChangeLevelWnd: repaired level changer window
Both for CoP and CS
1 parent 1343d5f commit 00e0d08

File tree

3 files changed

+26
-9
lines changed

3 files changed

+26
-9
lines changed

src/xrGame/UIGameSP.cpp

+21-5
Original file line numberDiff line numberDiff line change
@@ -299,10 +299,9 @@ bool CChangeLevelWnd::OnKeyboardAction(int dik, EUIMessages keyboard_action)
299299
return inherited::OnKeyboardAction(dik, keyboard_action);
300300
}
301301

302-
// Не инициализировалась форма, поскольку виртуальная функция отличалась набором аргуметов
303-
//morrey
304302
bool g_block_pause = false;
305303

304+
// Morrey: Не инициализировалась форма, поскольку виртуальная функция отличалась набором аргуметов
306305
void CChangeLevelWnd::Show(bool status)
307306
{
308307
inherited::Show(status);
@@ -327,10 +326,27 @@ void CChangeLevelWnd::Show(bool status)
327326
}
328327
}
329328

330-
//old
331-
void CChangeLevelWnd::Hide()
329+
void CChangeLevelWnd::ShowDialog(bool bDoHideIndicators)
330+
{
331+
m_messageBox->InitMessageBox(m_b_allow_change_level
332+
? "message_box_change_level"
333+
: "message_box_change_level_disabled");
334+
335+
SetWndPos(m_messageBox->GetWndPos());
336+
m_messageBox->SetWndPos(Fvector2().set(0.0f, 0.0f));
337+
SetWndSize(m_messageBox->GetWndSize());
338+
339+
m_messageBox->SetText(m_message_str.c_str());
340+
341+
g_block_pause = true;
342+
Device.Pause(TRUE, TRUE, TRUE, "CChangeLevelWnd_show");
343+
bShowPauseString = FALSE;
344+
inherited::ShowDialog(bDoHideIndicators);
345+
}
346+
347+
void CChangeLevelWnd::HideDialog()
332348
{
333349
g_block_pause = false;
334350
Device.Pause(FALSE, TRUE, TRUE, "CChangeLevelWnd_hide");
351+
inherited::HideDialog();
335352
}
336-
//morrey

src/xrGame/UIGameSP.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ class CChangeLevelWnd : public CUIDialogWnd
7070
virtual ~CChangeLevelWnd(){};
7171
virtual void SendMessage(CUIWindow* pWnd, s16 msg, void* pData);
7272
virtual bool WorkInPause() const { return true; }
73-
virtual void Show(bool status);
74-
virtual void Hide();
73+
void Show(bool status) override;
74+
void ShowDialog(bool bDoHideIndicators) override;
75+
void HideDialog() override;
7576
virtual bool OnKeyboardAction(int dik, EUIMessages keyboard_action);
7677
};

src/xrGame/ui/UIDialogWnd.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ class CUIDialogWnd : public CUIWindow
2828
virtual bool NeedCenterCursor() const { return true; }
2929
virtual bool WorkInPause() const { return m_bWorkInPause; }
3030
virtual bool Dispatch(int cmd, int param) { return true; }
31-
void ShowDialog(bool bDoHideIndicators);
32-
void HideDialog();
31+
virtual void ShowDialog(bool bDoHideIndicators);
32+
virtual void HideDialog();
3333

3434
virtual bool IR_process();
3535
};

0 commit comments

Comments
 (0)