Esempio n. 1
0
	Game::Game()
		: m_current_state(Game::State::state_game_opening),
			m_player(g_max_health),
			m_aliens(1),
			m_score(0),
			m_highest_score(0),
			m_counter(0),
			m_level(1),
			m_sound_frame(0)
	{

		memset( m_keys, 0 , 1000 );

		// Lazy-load SDL initializers --------------------------------------------

		init_SDL_Video();
		init_SDL_ttf();
		init_SDL_Mixer();

		// Initialize

		m_dimensions.x = ARENA_X;
		m_dimensions.y = ARENA_Y;
		m_dimensions.w = ARENA_RIGHT;
		m_dimensions.h = ARENA_BOTTOM;

		// Video Elements --------------------------------------------------------

		// Create the window
		m_screen = SDL_CreateWindow(
			WINDOW_TITLE,
			SDL_WINDOWPOS_CENTERED,
			SDL_WINDOWPOS_CENTERED,
			WINDOW_SIZE_W,
			WINDOW_SIZE_H,
			0
		);
		// Create the renderer
		m_renderer = SDL_CreateRenderer(
			m_screen,
			-1,
			0
		);

		// Font Elements ---------------------------------------------------------

		m_font= TTF_OpenFont( FONT_FILE, FONT_SIZE );

		// Sound Elements --------------------------------------------------------

		m_sound_invader1 = Mix_LoadWAV("assets/audio/invader1.wav");
		m_sound_invader2 = Mix_LoadWAV("assets/audio/invader2.wav");
		m_sound_invader3 = Mix_LoadWAV("assets/audio/invader3.wav");
		m_sound_invader4 = Mix_LoadWAV("assets/audio/invader4.wav");
		m_sound_shoot          = Mix_LoadWAV("assets/audio/shoot.wav");
		m_sound_death          = Mix_LoadWAV("assets/audio/death.wav");
		m_sound_invader_killed = Mix_LoadWAV("assets/audio/invaderkilled.wav");
	}
Esempio n. 2
0
File: main.c Progetto: te-bachi/cgr
bool init_SDL() {
	
	if (SDL_Init(SDL_INIT_VIDEO) < 0 ) {			// First, initialize SDL's video subsystem (video only)
		fprintf(stderr, "Video initialization failed: %s\n", SDL_GetError());
		quit_program(1);						  // Failed, exit
	}
	
	init_SDL_Video(default_width, default_height);
	
	return true;
}
Esempio n. 3
0
File: main.c Progetto: te-bachi/cgr
void process_events() {
	SDL_Event event;
	
	while (SDL_PollEvent(&event)) {
		
		switch (event.type) {
			case SDL_QUIT:
				quit_program( 0 );
				break;
				
			case SDL_KEYDOWN:
				switch (event.key.keysym.sym) {
					
					case SDLK_ESCAPE:
						quit_program(0);
						break;
						
					case SDLK_F1:
						quit_program(0);
						break;
						
					case SDLK_a:
						if (enableDethTest) {
							enableDethTest = false;
							printf("enable depth test\n");
							glEnable(GL_DEPTH_TEST);
						} else {
							enableDethTest = true;
							printf("disable depth test\n");
							glDisable(GL_DEPTH_TEST); 
						}
						fflush(stdout);
						break;
						
					default:
						break;
				}
				break;
			
			case SDL_VIDEORESIZE:
				init_SDL_Video(event.resize.w, event.resize.h);
				//init_OpenGL(event.resize.w, event.resize.h);
				break;
				
			case SDL_SYSWMEVENT:
				break;
				
			default:
				break;
		}
	}
}