예제 #1
0
Brainview::Brainview()
{
	critterselection = Critterselection::Instance();

	brain_maxfiringthreshold = settings->getCVarPtr("brain_maxfiringthreshold");

	active = false;
	isMovable = true;

	rowlength = 37;
	v_radius = 2;
	v_diam = 2*v_radius;
	spacing = 3;

	int brainview_width = 20 + ((v_diam+spacing) * settings->getCVar("critter_retinasize") * 4);
	if ( brainview_width < 400 )
		brainview_width = 400;

	int brainview_height = 20 + ((v_diam+spacing) * 40);
	if ( brainview_height < 400 )
		brainview_height = 400;

	v_width = 20 + brainview_width;
	v_height = 80 + brainview_height;

	int buttons_starty = v_height - brainview_height - 10;
	int brainview_starty = buttons_starty;

	position.x = 10;
	position.y = 50;

	currentCritter = 0;

	// view widgets
// 	viewbutton = addWidgetButton( "bv_view", Vector2i(0+v_width-60, 35), Vector2i(50, 50), "", Vector2i(0, 0), cmd.gen(""), 0, 0, 0 );
	brainview = addWidgetButton( "bv_bview", Vector2i(10, brainview_starty), Vector2i(brainview_width, brainview_height), "", Vector2i(0, 0), cmd.gen(""), 0, 0, 0 );
	children["bv_bview"]->isTransparant = false;

	addWidgetButton( "bv_close", Vector2i(v_width-25, 10), Vector2i(15, 15), "x", cmd.gen("gui_togglepanel", "brainview"), 0, 0, 0 );


	settings->registerLocalCVar("attract neurons", 100, 0, 1000000, false, "attract neurons");
	addSettingmutator("attract neurons", 10, 10);

	settings->registerLocalCVar("repel neurons", 100, 0, 1000000, false, "repel neurons");
	addSettingmutator("repel neurons", 10, 22);

	settings->registerLocalCVar("attract neuron inputs", 100, 0, 1000000, false, "attract neuron<>inputs");
	addSettingmutator("attract neuron inputs", 10, 36);

	settings->registerLocalCVar("repel neuron inputs", 100, 0, 1000000, false, "repel neuron<>inputs");
	addSettingmutator("repel neuron inputs", 10, 48);

	attractor1 = settings->getCVarPtr("attract neurons");
	attractor2 = settings->getCVarPtr("attract neuron inputs");
	attractor3 = settings->getCVarPtr("repel neurons");
	attractor4 = settings->getCVarPtr("repel neuron inputs");
}
예제 #2
0
void Settingspanel::addSettingmutator( const std::string& name, unsigned int posx, unsigned int posy )
{
	std::string str(name); std::string strval = str; std::string strdec = str; std::string strinc = str;
	strval.append("val"); strdec.append("dec"); strinc.append("inc");

	addWidget(str, Vector2i(posx+col1+m_margin, posy+row+9), BeWidgetTextPtr(new BeWidgetText(name)));
// 	addWidgetText( str, posx+col1, posy+row+9, name );
	addWidget(strval, Vector2i(posx+col2+m_margin, posy+row+9), BeWidgetTextCVARuintPtr(new BeWidgetTextCVARuint(settings->getCVarPtr(name))));
// 	addWidgetText( strval, posx+col2, posy+row+9, settings->getCVarPtr(name) );
	addWidgetButton( strdec, Vector2i(posx+col3+m_margin, posy+row), Vector2i(11, 10), "-", Vector2i(3, 8), BeCommand("settings_decrease", name), EVENT_REPEAT, m_time_interval );
	addWidgetButton( strinc, Vector2i(posx+col3+m_button_margin+m_margin, posy+row), Vector2i(11, 10), "+", Vector2i(1, 8), BeCommand("settings_increase", name), EVENT_REPEAT, m_time_interval );
	row += rowspacer;
}
Enginesettingspanel::Enginesettingspanel()
{
	isMovable = true;

	rowspacer = 15;
	col2 = 150;
	col3 = 200;
	
	m_localposition.set(2, 24);

	// FIXME camera sensitivity is missing

#if defined(HAVE_OPENMP)
	addSettingmutator("threads", 0, 0);
#endif
	addSettingmutator("fsX", 0, 0);
	addSettingmutator("fsY", 0, 0);
	addSettingmutator("fpslimit_frames", 0, 0);
	addSettingcheckbox("fpslimit", 0, 0);
	addSettingcheckbox("drawscene", 0, 0);
	addSettingcheckbox("glsl", 0, 0);
	addSettingcheckbox("hdr", 0, 0);
// 	addSettingcheckbox("drawshadows", 0, 0);
	addSettingcheckbox("window_fullscreen", 0, 0);
	addSettingmutator("camerasensitivity_move", 0, 0);
	addSettingmutator("camerasensitivity_look", 0, 0);
	addSettingmutator("camera_smoothfactor", 0, 0);
	
	
// 	addSettingcheckbox("sound", 0, 0);

	m_dimensions.set(col3 + 50,row-rowspacer+10+10);
	BeWidgetPtr w = addWidgetButton( "enginesettingspanel_close", Vector2i(2, 2), Vector2i(11, 11), "x", BeCommand("gui_togglepanel", "enginesettingspanel"), EVENT_NOREPEAT, 0 );
		w->isAlignedRight = true;
}
Settingslightpanel::Settingslightpanel()
{
	isMovable = true;

	m_localposition.set(2, 24);

	col2 = 200;
	col3 = 250;

	addSettingmutator("light_ambient_modelR", 0, 0);
	addSettingmutator("light_ambient_modelG", 0, 0);
	addSettingmutator("light_ambient_modelB", 0, 0);
	
	row+=8;

	addSettingmutator("light_ambientR", 0, 0);
	addSettingmutator("light_ambientG", 0, 0);
	addSettingmutator("light_ambientB", 0, 0);

	row+=8;

	addSettingmutator("light_diffuseR", 0, 0);
	addSettingmutator("light_diffuseG", 0, 0);
	addSettingmutator("light_diffuseB", 0, 0);

	row+=8;

	addSettingmutator("light_specularR", 0, 0);
	addSettingmutator("light_specularG", 0, 0);
	addSettingmutator("light_specularB", 0, 0);
	
	row+=8;

	addSettingmutator("light_attenuation_constant", 0, 0);
	addSettingmutator("light_attenuation_linear", 0, 0);
	addSettingmutator("light_attenuation_quadratic", 0, 0);

	m_dimensions.set(col3 + 50, row-rowspacer+10+10);  // 10 = height of 1 line, 10 = horizontal margin
	BeWidgetPtr w = addWidgetButton( "settingslightpanel_close", Vector2i(2, 2), Vector2i(12, 12), "x", BeCommand("gui_togglepanel", "settingslightpanel"), EVENT_NOREPEAT, 0 );
		w->isAlignedRight = true;
}