Пример #1
0
void CMenuCharacterFiles::InitFileList(char *lpszPath)
{
	// Sanity checks...
	if(!lpszPath) return;
	if(lpszPath[0] == '\0') return;

	// Change to the given direcotry...
	if(chdir(lpszPath) != 0)
		return;

	// Enumerate the available .b2c files and add them to the list box...
	long	hFile;
    struct	_finddata_t fd;

	hFile = _findfirst("*.b2c", &fd);
	if (hFile == -1)
		{ chdir(".."); return; }

	AddTextItemOption(fd.name, MENU_CMD_B2C_FILE, m_pMainMenus->GetSmallFont());

	BOOL bContinue = TRUE;

	while (bContinue)
	{
		if (_findnext(hFile, &fd) != 0)
			bContinue = FALSE;
		else
			AddTextItemOption(fd.name, MENU_CMD_B2C_FILE, m_pMainMenus->GetSmallFont());
	}

	// Restore the directory...
	chdir ("..");
}
Пример #2
0
// Build the axis menus
void CMenuJoystick::BuildAxisMenus()
{
	// Add the menu options
	AddOnOffOption(IDS_MENU_JOYSTICK_USE, m_pMainMenus->GetSmallFont(), 100, &m_bUseJoystick);

	CLTGUITextItemCtrl *pTitleCtrl=DNULL;

	// Turn menu options
	pTitleCtrl=AddTextItemOption(IDS_MENU_JOYSTICK_TURNLEFTRIGHTAXIS, 0, m_pMainMenus->GetSmallFont());
	pTitleCtrl->SetColor(SETRGB(220,190,170), SETRGB(125,30,0), SETRGB(0,255,255));
	if (pTitleCtrl) pTitleCtrl->Enable(DFALSE);

	m_pAxisTurn->Build(m_pClientDE, this);	

	// Look menu options
	pTitleCtrl=AddTextItemOption(IDS_MENU_JOYSTICK_LOOKUPDOWNAXIS, 0, m_pMainMenus->GetSmallFont());
	pTitleCtrl->SetColor(SETRGB(220,190,170), SETRGB(125,30,0), SETRGB(0,255,255));
	if (pTitleCtrl) pTitleCtrl->Enable(DFALSE);

	m_pAxisLook->Build(m_pClientDE, this);

	// Move menu options
	pTitleCtrl=AddTextItemOption(IDS_MENU_JOYSTICK_MOVEFORWARDBACKWARDAXIS, 0, m_pMainMenus->GetSmallFont());
	pTitleCtrl->SetColor(SETRGB(220,190,170), SETRGB(125,30,0), SETRGB(0,255,255));
	if (pTitleCtrl) pTitleCtrl->Enable(DFALSE);

	m_pAxisMove->Build(m_pClientDE, this);

	// Strafe menu options
	pTitleCtrl=AddTextItemOption(IDS_MENU_JOYSTICK_STRAFELEFTRIGHTAXIS, 0, m_pMainMenus->GetSmallFont());
	pTitleCtrl->SetColor(SETRGB(220,190,170), SETRGB(125,30,0), SETRGB(0,255,255));
	if (pTitleCtrl) pTitleCtrl->Enable(DFALSE);

	m_pAxisStrafe->Build(m_pClientDE, this);

	m_pUsePovHat = AddOnOffOption(IDS_MENU_JOYSTICK_HATONOFF, m_pMainMenus->GetSmallFont(), 100, &m_bUsePovHat);
}
Пример #3
0
// Just a wrapper for adding fading text options with large fonts
CLTGUITextItemCtrl *CMenuBase::AddLargeTextItemOption(HSTRING hText, DWORD dwCommandID)
{
	CLTGUITextItemCtrl *pCtrl=DNULL;
	if (m_pMainMenus->IsLowResolution())
	{
		pCtrl=AddTextItemOption(hText, dwCommandID, m_pMainMenus->GetSmallFont());
	}
	else
	{
		// If we are using engine fonts (instead of bitmap fonts) then use
		// the large font instead of the font array.		
		if (!m_pMainMenus->IsEnglish())
		{
			pCtrl=AddTextItemOption(hText, dwCommandID, m_pMainMenus->GetLargeFont());
		}
		else
		{
			pCtrl=AddTextItemOption(hText, dwCommandID, m_pMainMenus->GetLargeFadeFonts(), m_pMainMenus->GetNumLargeFadeFonts(), DFALSE);
		}
	}
	m_largeFontItemArray.Add(pCtrl);

	return pCtrl;
}
Пример #4
0
// Wrapper for adding a control with a string ID instead of an HSTRING
CLTGUITextItemCtrl *CMenuBase::AddTextItemOption(int messageCode, DWORD dwCommandID, CLTGUIFont *pFontArray, int nNumFonts, DBOOL bDrawSolid, int *pnValue)
{
	// Load the string
	HSTRING hString=DNULL;
	if (messageCode)
	{
		hString=m_pClientDE->FormatString(messageCode);
	}

	// Create the control
	CLTGUITextItemCtrl *pCtrl=AddTextItemOption(hString, dwCommandID, pFontArray, nNumFonts, bDrawSolid, pnValue);
	
	// Free the string
	if (hString)
	{
		m_pClientDE->FreeString(hString);
	}

	return pCtrl;
}
Пример #5
0
// Build the menu
void CMenuDisplay::Build()
{
	// Make sure to call the base class
	CMenuBase::Build();

	CreateTitle("interface\\mainmenus\\options.pcx", IDS_MENU_TITLE_OPTIONS, m_pMainMenus->GetTitlePos());		
	SetOptionPos(m_pMainMenus->GetOptionsPos());
	SetItemSpacing(0);
	SetScrollWrap(DFALSE);	

	// Show the please wait message
	m_pMainMenus->ShowSyncMessage(IDS_MENU_MESSAGE_PLEASEWAIT);

	// Build the array of renderers
	BuildRendererArray();

	// Add the "renderer" option
	m_pRendererCtrl=AddTextItemOption(DNULL, 0, m_pMainMenus->GetSmallFont());
	if (!m_pRendererCtrl)
	{
		return;
	}

	unsigned int i;
	for (i=0; i < m_rendererArray.GetSize(); i++)
	{
		// Load the renderer formating text.  This is "Renderer: [%s - %s]" in English
		HSTRING hRendererFormat=m_pClientDE->FormatString(IDS_MENU_DISPLAY_RENDERER, m_rendererArray[i].m_renderDll, m_rendererArray[i].m_description);		
		m_pRendererCtrl->AddString(hRendererFormat);		
		m_pClientDE->FreeString(hRendererFormat);
	}	

	// Add the "resolution" control
	m_pResolutionCtrl=AddTextItemOption(DNULL, 0, m_pMainMenus->GetSmallFont());
	if (!m_pResolutionCtrl)
	{
		return;
	}

	// Setup the resolution control based on the currently selected renderer
	SetupResolutionCtrl();

	// Add the detail option
	CLTGUITextItemCtrl *pCtrl=AddTextItemOption(DNULL, 0, m_pMainMenus->GetSmallFont(), 1, DTRUE, &m_nDetailLevel);
	pCtrl->AddString(IDS_MENU_DISPLAY_DETAIL_LOW);
	pCtrl->AddString(IDS_MENU_DISPLAY_DETAIL_MEDIUM);
	pCtrl->AddString(IDS_MENU_DISPLAY_DETAIL_HIGH);

	// Load the detail setting
	HCONSOLEVAR hVar=m_pClientDE->GetConsoleVar("GlobalDetail");
	if (hVar)
	{
		switch ((int)m_pClientDE->GetVarValueFloat(hVar))
		{
		case DETAIL_LOW:
			{
				m_nDetailLevel=0;
				break;
			}
		case DETAIL_MEDIUM:
			{
				m_nDetailLevel=1;
				break;
			}
		case DETAIL_HIGH:
			{
				m_nDetailLevel=2;
				break;
			}
		}
	}
	else
	{
		m_nDetailLevel=2;
	}

	UpdateData(DFALSE);
}