コード例 #1
0
void GameEngine::init()
{
	Preferences* p_pref = pref_get_instance();
	switch(p_pref->render_target)
	{
#ifdef WITH_DX_9
	case Preferences::DX_9:
		target_DX9.set_current();
		break;
#endif

	case Preferences::OPENGL_1:
		target_GL1.set_current();
		break;

	case Preferences::SOFTWARE:
		target_GDI.set_current();
		break;

	case Preferences::OPENGL_2:
		target_GL2.set_current();
		break;	
	}

	_running = true;

	CommonResources* p_resources = common_resources_get_instance();	

	p_resources -> init(this);
	_window.manage(*this);
	CL_GraphicContext gc = _window.get_gc();
	_skins_manager.init();
	_common_state.init();
	_ingame_state.init();
	_gameover_state.init();
	_pausemenu_state.init();
	_skinsmenu_state.init();
	_optionsmenu_state.init();
	_title_state.init();
	_quitmenu_state.init();

	set_skin(p_pref -> skin);

	_framerate_counter.set_fps_limit(p_pref -> maxfps);
}
コード例 #2
0
void GameEngine::set_skin(std::string skin)
{
	CommonResources* p_resources = common_resources_get_instance();

	_p_loading_screen = my_new LoadingScreen(_window);
	_p_loading_screen -> init();
	_p_loading_screen -> set_progression(0.0f);

	Preferences* p_pref = pref_get_instance();

	std::string old_skin = p_pref -> skin;

	CL_GraphicContext& gc = _window.get_gc();
	try
	{
		p_pref -> skin = skin;

		if (!_running) 
			return;
		{
			p_resources -> load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(1.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_title_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(2.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_common_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(3.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_ingame_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(4.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_gameover_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(5.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_pausemenu_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(6.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_skinsmenu_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(7.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_optionsmenu_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(8.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_title_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(9.0f / 10.0f);
		}

		if (!_running) 
			return;
		{
			_quitmenu_state.load_gfx(gc, p_pref -> skin);
			_p_loading_screen -> set_progression(10.0f / 10.0f);
		}

		p_pref -> write();

	}
	catch (CL_Exception& err)
	{
		CL_ConsoleWindow console("OpenAlchemist Console", 80, 300);
			
		CL_Console::write_line("Skin error : " + err.message);
		CL_Console::write_line("Error in : " + skin);
		if (old_skin.compare(skin))
		{
			CL_Console::write_line("");
			CL_Console::write_line("Now loading default skin.");
			skin = get_skins_path() + get_path_separator() + "aqua.zip";
			CL_Console::write_line(skin);
			console.display_close_message();
			set_skin(skin);
		}
		else
		{
			throw err;
		}
	}

	my_delete(_p_loading_screen);
	_p_loading_screen = NULL;
}
コード例 #3
0
ファイル: gveejay.c プロジェクト: c0ntrol/veejay
int main(int argc, char *argv[])
{
	char option[2];
	int n;
	int err=0;

	if(!argc) usage(argv[0]);

	clone_args( argv, argc );

#if !GLIB_CHECK_VERSION(2,36,0)
	g_type_init();
#endif

	gtk_init( &argc, &argv );

	// default host to connect to
	snprintf(hostname,sizeof(hostname), "127.0.0.1");

	while( ( n = getopt( argc, argv, "s:h:p:tabnvLHfX:P:Vl:T:m:g:")) != EOF )
	{
		sprintf(option, "%c", n );
		err += set_option( option, optarg);
		if(err) usage(argv[0]);
	}
	if( optind > argc )
		err ++;

	if( err ) usage(argv[0]);

	glade_init();

	vj_mem_init();

	vevo_strict_init();

	find_user_themes(gveejay_theme);

	vj_gui_set_debug_level( verbosity , n_tracks,0,0);
	set_skin( selected_skin, gveejay_theme );

	default_bank_values( &col, &row );
	gui_load_theme();

	register_signals();

	vj_gui_init( skins[selected_skin].file, launcher, hostname, port_num, use_threads, load_midi, midi_file,beta,auto_connect);
	vj_gui_style_setup();

	if( preview )
	{
		veejay_msg(VEEJAY_MSG_INFO, "Starting with preview enabled");
		gveejay_preview(preview);
	}

	if( launcher )
	{
		reloaded_launcher( hostname, port_num );
	}

	memset( &time_last_, 0, sizeof(struct timeval));

	while(gveejay_running())
	{
		if(gveejay_idle(NULL)==FALSE)
			break;
		while( gtk_events_pending()  )
			gtk_main_iteration();
	}

	veejay_msg(VEEJAY_MSG_INFO, "See you!");

	return 0;
}