void CUIMMShniaga::InitShniaga(CUIXml& xml_doc, LPCSTR path) { string256 _path; CUIXmlInit::InitWindow(xml_doc, path, 0, this); strconcat (sizeof(_path),_path,path,":shniaga:magnifire"); CUIXmlInit::InitStatic(xml_doc, _path,0,m_magnifier); m_mag_pos = m_magnifier->GetWndPos().x; strconcat (sizeof(_path),_path,path,":shniaga"); CUIXmlInit::InitStatic(xml_doc, _path,0,m_shniaga); strconcat (sizeof(_path),_path,path,":buttons_region"); CUIXmlInit::InitScrollView(xml_doc, _path,0,m_view); strconcat (sizeof(_path),_path,path,":shniaga:magnifire:y_offset"); m_offset = xml_doc.ReadFlt(_path,0,0); if (!g_pGameLevel || !g_pGameLevel->bReady) { if (!*g_last_saved_game || !CSavedGameWrapper::valid_saved_game(g_last_saved_game)) CreateList (m_buttons, xml_doc, "menu_main"); else CreateList (m_buttons, xml_doc, "menu_main_last_save"); CreateList (m_buttons_new, xml_doc, "menu_new_game"); } else { if (GameID() == eGameIDSingle) { VERIFY (Actor()); if (Actor() && !Actor()->g_Alive()) CreateList (m_buttons, xml_doc, "menu_main_single_dead"); else CreateList (m_buttons, xml_doc, "menu_main_single"); } else CreateList (m_buttons, xml_doc, "menu_main_mm"); } ShowMain (); m_sound->Init(xml_doc, "menu_sound"); m_sound->music_Play(); }