Esempio n. 1
0
// Build the menu
void CMenuMouse::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(5);
	SetScrollWrap(DFALSE);	

	// Load the mouse settings
	LoadMouseSettings();

	// Add the controls
	CLTGUISliderCtrl *pCtrl=AddSliderOption(IDS_MENU_MOUSE_SENSITIVITY, m_pMainMenus->GetSmallFont(), 100, m_pMainMenus->GetSurfaceSliderBar(), m_pMainMenus->GetSurfaceSliderTab(), &m_nMouseSensitivity);
	pCtrl->SetSliderRange(100, 1500);
	pCtrl->SetSliderIncrement(20);

	m_pInputRateCtrl=AddSliderOption(IDS_MENU_MOUSE_INPUTRATE, m_pMainMenus->GetSmallFont(), 100, m_pMainMenus->GetSurfaceSliderBar(), m_pMainMenus->GetSurfaceSliderTab(), &m_nInputRate);
	m_pInputRateCtrl->SetSliderIncrement(2);
	m_pInputRateCtrl->SetSliderRange(0, 40);

	AddOnOffOption(IDS_MENU_MOUSE_INVERT_YAXIS, m_pMainMenus->GetSmallFont(), 100, &m_bInvertYAxis);
	AddOnOffOption(IDS_MENU_MOUSE_MOUSELOOK, m_pMainMenus->GetSmallFont(), 100, &m_bMouseLook);
	AddOnOffOption(IDS_MENU_MOUSE_LOOKSPRING, m_pMainMenus->GetSmallFont(), 100, &m_bLookSpring);
	AddOnOffOption(IDS_MENU_MOUSE_USEWHEEL, m_pMainMenus->GetSmallFont(), 100, &m_bUseWheel);

	UpdateData(DFALSE);

	SetInputRateText();
}
Esempio n. 2
0
// Build the menu
void CMenuKeyboard::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(5);
	SetScrollWrap(DFALSE);	

	m_nKeyboardTurnRate=(int)(g_pBloodClientShell->GetKeyboardTurnRate()*100.0f);

	// Add the controls
	CLTGUISliderCtrl *pCtrl=AddSliderOption(IDS_MENU_KEYBOARD_TURNSPEED, m_pMainMenus->GetSmallFont(), 100, m_pMainMenus->GetSurfaceSliderBar(), m_pMainMenus->GetSurfaceSliderTab(), &m_nKeyboardTurnRate);
	pCtrl->SetSliderRange(15, 400);
	pCtrl->SetSliderIncrement(15);

	UpdateData(DFALSE);
}
Esempio n. 3
0
// Wrapper for adding a control with a string ID instead of an HSTRING
CLTGUISliderCtrl *CMenuBase::AddSliderOption(int messageCode, CLTGUIFont *pFont, int nSliderOffset, HSURFACE hBarSurf, HSURFACE hTabSurf, int *pnValue)
{
	// Load the string
	HSTRING hString=DNULL;
	if (messageCode)
	{
		hString=m_pClientDE->FormatString(messageCode);
	}

	// Create the control
	CLTGUISliderCtrl *pCtrl=AddSliderOption(hString, pFont, nSliderOffset, hBarSurf, hTabSurf, pnValue);
	
	// Free the string
	if (hString)
	{
		m_pClientDE->FreeString(hString);
	}

	return pCtrl;
}
Esempio n. 4
0
PauseWindow::PauseWindow()
{
	w = 0, h = 0;

	//Set up Self
	position = Rect(0, 20, 800, 580);
	color = vec4(0.33f, 0.33f, 0.33f, 0.75f);
	SetVisible(true);

	//Set up Main Menu
	menuRect.position = Rect(0, 0, 320, 420);
	menuRect.vPin = menuRect.hPin = Control::CENTER;
	menuRect.SetTitle("Menu");
	menuRect.color = vec4(1.0f, 1.0f, 1.0f, 1.0f);

	//Set up Main Menu Children
	menuSave.vPin = menuLoad.vPin = menuOptions.vPin = menuSaveAndQuit.vPin = menuExit.vPin = Control::MIN;
	menuSave.hPin = menuLoad.hPin = menuOptions.hPin = menuSaveAndQuit.hPin = menuExit.hPin = Control::CENTER;
	menuSave.position =			Rect(0, 50 + 50 * 0, 300, 40);
	menuLoad.position =			Rect(0, 50 + 50 * 1, 300, 40);
	menuOptions.position =		Rect(0, 50 + 50 * 2, 300, 40);
	menuSaveAndQuit.position =	Rect(0, 50 + 50 * 3, 300, 40);
	menuExit.position =			Rect(0, 370, 300, 40);
	menuSave.SetText("Save");
	menuLoad.SetText("Load");
	menuOptions.SetText("Options");
	menuSaveAndQuit.SetText("Save & Quit");
	menuExit.SetText("Back to Game");

	//Add Controls
	AddChild(&menuRect);
	menuRect.AddControl(&menuSave);
	menuRect.AddControl(&menuLoad);
	menuRect.AddControl(&menuOptions);
	menuRect.AddControl(&menuSaveAndQuit);
	menuRect.AddControl(&menuExit);
	menuRect.SetVisible(true);

	//Subscribe Main Menu Buttons to Actions
	Subscribe<void(Button*)>(&menuSave.EventClicked, [this](Button * b) {
		VoxEngine::SetAsyncTask(new AsyncTask([](){Game()->Save();}));
		Frames::SetSystem(Frames::FRAME_GAME);
	});
	Subscribe<void(Button*)>(&menuLoad.EventClicked, [this](Button * b) {
		VoxEngine::SetAsyncTask(new AsyncTask([](){Game()->Load("Default_Save");}));
		Frames::SetSystem(Frames::FRAME_GAME);
	});
	Subscribe<void(Button*)>(&menuOptions.EventClicked, [this](Button * b) {
		this->showOptsMenu();
	});
	Subscribe<void(Button*)>(&menuSaveAndQuit.EventClicked, [this](Button * b) {
		cout << "\'Save & Quit\' Button Clicked" << endl;
		VoxEngine::SetAsyncTask(new AsyncTask([](){Game()->Save();}));
		
		Frames::SetSystem(Frames::FRAME_MAINMENU);
	});
	Subscribe<void(Button*)>(&menuExit.EventClicked, [this](Button * b) {
		Frames::SetSystem(Frames::FRAME_GAME);
	});

	//Set up Options Menu
	optsRect.position = Rect(0, 0, 320, 420);
	optsRect.vPin = optsRect.hPin = Control::CENTER;
	optsRect.SetTitle("Options");
	optsRect.color = vec4(1.0f, 1.0f, 1.0f, 1.0f);
	optsRect.SetVisible(false);
	AddChild(&optsRect);

	//Options Back Button
	optsClose.vPin = Control::MIN;
	optsClose.hPin = Control::CENTER;
	optsClose.position = Rect(0, 370, 300, 40);
	optsClose.SetText("Back");
	optsRect.AddControl(&optsClose);
	Subscribe<void(Button*)>(&optsClose.EventClicked, [this](Button * b) {
		this->hideOptsMenu();
	});

	//Option HUD Transparency
	floatOption HUDTransOpts[] = {
		floatOption("0%", .0f),
		floatOption("10%", .1f),
		floatOption("20%", .2f),
		floatOption("30%", .3f),
		floatOption("40%", .4f),
		floatOption("50%", .5f),
		floatOption("60%", .6f),
		floatOption("70%", .7f),
		floatOption("80%", .8f),
		floatOption("90%", .9f),
		floatOption("100%", 1.0f)
	};
	vector<floatOption> HUDTrans(HUDTransOpts, HUDTransOpts + sizeof(HUDTransOpts) / sizeof(HUDTransOpts[0]));
	AddSliderOption(0,"HUD Transparency",HUDTrans,&VoxEngine::SavedDeviceData.GameOptions.HUDTransparency);
    
    // View distance options
    floatOption viewDistanceOptions[] =
    {
        floatOption("TI-84", 0.00f),
        floatOption("Mobile", 0.25f),
        floatOption("Laptop", 0.5f),
        floatOption("Desktop", 0.75f),
        floatOption("$oopah Us3r", 1.0f),
    };
    vector<floatOption> viewDistance(viewDistanceOptions, viewDistanceOptions + (sizeof(viewDistanceOptions) / sizeof(viewDistanceOptions[0])));
	AddSliderOption(1,"View Distance",viewDistance,&VoxEngine::SavedDeviceData.GameOptions.ViewDistance);

    // Physics
    floatOption basicOptions[] =
    {
        floatOption("Very Low", 0.00f),
        floatOption("Low", 0.25f),
        floatOption("Medium", 0.5f),
        floatOption("High", 0.75f),
        floatOption("VeryHigh", 1.0f),
    };
	vector<floatOption> basicOptionsVector(basicOptions, basicOptions + (sizeof(basicOptions) / sizeof(basicOptions[0])));
	AddSliderOption(2,"Physics",basicOptionsVector,&VoxEngine::SavedDeviceData.GameOptions.PhysicsAccuracy);
	//Particles
	AddSliderOption(3,"Particles",basicOptionsVector,&VoxEngine::SavedDeviceData.GameOptions.ParticleQuality);

#ifndef __MOBILE__
    // jumping
    floatOption jumpOptions[] =
    {
        floatOption("Off", 0.00),
        floatOption("On", 2.00),
    };
	vector<floatOption> jumpOptionsVector(jumpOptions, jumpOptions + (sizeof(jumpOptions) / sizeof(jumpOptions[0])));
	AddSliderOption(4,"Jumping",jumpOptionsVector,&VoxEngine::SavedDeviceData.GameOptions.Autojump);
#endif

}