small fixes
This commit is contained in:
		
							
								
								
									
										49
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								src/main.cpp
									
									
									
									
									
								
							| @@ -20,23 +20,17 @@ typedef struct _team { | ||||
| 	GLfloat color[4]; | ||||
| } team; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| GLUquadricObj *quadratic; | ||||
|  | ||||
| void setup_opengl() | ||||
| { | ||||
| void setup_opengl() { | ||||
| 	// Initialise GLFW | ||||
| 	if( !glfwInit() ) | ||||
| 	{ | ||||
| 	if (!glfwInit()) { | ||||
| 		fprintf(stderr, "Failed to initialize GLFW\n"); | ||||
| 		exit(EXIT_FAILURE); | ||||
| 	} | ||||
|  | ||||
| 	// Open OpenGL window | ||||
| 	if( !glfwOpenWindow( 640, 480, 0,0,0,0, 0,0, GLFW_FULLSCREEN ) ) | ||||
| 	{ | ||||
| 	if (!glfwOpenWindow(640, 480, 0, 0, 0, 0, 0, 0, GLFW_FULLSCREEN)) { | ||||
| 		fprintf(stderr, "Failed to open GLFW window\n"); | ||||
| 		glfwTerminate(); | ||||
| 		exit(EXIT_FAILURE); | ||||
| @@ -59,7 +53,7 @@ void setup_opengl() | ||||
|  | ||||
| 	GLfloat LightAmbient[] = { 0.1f, 0.1f, 0.1f, 1.0f }; | ||||
| 	GLfloat LightDiffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f }; | ||||
| 	GLfloat LightPosition[]= { 0.0f, 0.0f, 2.0f, 0.0f }; | ||||
| 	GLfloat LightPosition[] = { 0.0f, 0.0f, 2.0f, 1.0f }; | ||||
|  | ||||
| 	// setup directional light | ||||
| 	glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient); | ||||
| @@ -72,8 +66,7 @@ void setup_opengl() | ||||
| 	glfwSwapInterval(1); | ||||
| } | ||||
|  | ||||
| void setup_team(team *team, size_t id) | ||||
| { | ||||
| void setup_team(team *team, size_t id) { | ||||
| 	team->color[0] = 1.0f * (id + 1 & (1 << 0)); | ||||
| 	team->color[1] = 1.0f * (id + 1 & (1 << 1)); | ||||
| 	team->color[2] = 1.0f * (id + 1 & (1 << 2)); | ||||
| @@ -84,8 +77,7 @@ void setup_team(team *team, size_t id) | ||||
| 	team->z = 2000.0 * (id & (1 << 2)); | ||||
|  | ||||
| 	size_t i = 0; | ||||
| 	for (i = 0; i < MAX_PLAYERS_PER_TEAM; i++) | ||||
| 	{ | ||||
| 	for (i = 0; i < MAX_PLAYERS_PER_TEAM; i++) { | ||||
| 		team->players[i].session = 0; | ||||
| 		team->players[i].x = team->x + i * 50.; | ||||
| 		team->players[i].y = team->y; | ||||
| @@ -97,11 +89,9 @@ void setup_team(team *team, size_t id) | ||||
|  | ||||
| } | ||||
|  | ||||
| void update_team(team *team, double dt) | ||||
| { | ||||
| void update_team(team *team, double dt) { | ||||
| 	size_t i; | ||||
| 	for (i = 0; i < MAX_PLAYERS_PER_TEAM; i++) | ||||
| 	{ | ||||
| 	for (i = 0; i < MAX_PLAYERS_PER_TEAM; i++) { | ||||
| 		if (team->players[i].session == 0) | ||||
| 			continue; | ||||
| 		team->players[i].x += team->players[i].vx * dt; | ||||
| @@ -110,8 +100,7 @@ void update_team(team *team, double dt) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void draw_team(team *team) | ||||
| { | ||||
| void draw_team(team *team) { | ||||
| 	size_t i = 0; | ||||
| 	glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, team->color); | ||||
| 	glMatrixMode(GL_MODELVIEW); | ||||
| @@ -121,8 +110,7 @@ void draw_team(team *team) | ||||
| 	gluSphere(quadratic, 50.f, 32, 32); | ||||
| 	glPopMatrix(); | ||||
|  | ||||
| 	for (i = 0; i < MAX_PLAYERS_PER_TEAM; i++) | ||||
| 	{ | ||||
| 	for (i = 0; i < MAX_PLAYERS_PER_TEAM; i++) { | ||||
| 		if (team->players[i].session == 0) | ||||
| 			continue; | ||||
| 		glPushMatrix(); | ||||
| @@ -132,8 +120,7 @@ void draw_team(team *team) | ||||
| 	} | ||||
| } | ||||
|  | ||||
| int main( void ) | ||||
| { | ||||
| int main(void) { | ||||
| 	int width, height, x, y, last_x, last_y; | ||||
| 	double time, last_time, phi = 0.0, theta = 0.0; | ||||
| 	GLboolean running; | ||||
| @@ -153,13 +140,12 @@ int main( void ) | ||||
| 	running = GL_TRUE; | ||||
| 	last_time = glfwGetTime(); | ||||
| 	glfwGetMousePos(&last_x, &last_y); | ||||
| 	while( running ) | ||||
| 	{ | ||||
| 	while (running) { | ||||
| 		// Get time and mouse position | ||||
| 		time = glfwGetTime(); | ||||
| 		glfwGetMousePos(&x, &y); | ||||
| 		phi += (x - last_x) * -0.001; | ||||
| 		theta += (y - last_y) * 0.001; | ||||
| 		phi += (x - last_x) * 0.001; | ||||
| 		theta += (y - last_y) * -0.001; | ||||
| 		if (theta > 1.5) | ||||
| 			theta = 1.5; | ||||
| 		if (theta < -1.5) | ||||
| @@ -188,9 +174,11 @@ int main( void ) | ||||
| 		glMatrixMode(GL_MODELVIEW); | ||||
| 		glLoadIdentity(); | ||||
| 		gluLookAt(100.0f, 100.0f, 100.0f, // Eye-position | ||||
| 			100.0f + cos(phi) * cos(theta) * 10.0f, 100.0f +sin(theta)*10.0f, 100.0f+ sin(phi)*cos(theta)*10.0f,    // View-point | ||||
| 				100.0f + cos(phi) * cos(theta) * 10.0f, 100.0f + sin(theta) | ||||
| 						* 10.0f, 100.0f + sin(phi) * cos(theta) * 10.0f, // View-point | ||||
| 				0.0f, 1.0f, 0.0f); // Up-vector | ||||
|  | ||||
| 		glMaterialfv(GL_FRONT, GL_AMBIENT_AND_DIFFUSE, teams[0].color); | ||||
| 		// Draw a textured quad | ||||
| 		glBegin(GL_QUADS); | ||||
| 		glVertex3f(-5000.0f, 5000.0f, -5000.0f); | ||||
| @@ -209,8 +197,7 @@ int main( void ) | ||||
| 		glfwSwapBuffers(); | ||||
|  | ||||
| 		// Check if the ESC key was pressed or the window was closed | ||||
| 		running = !glfwGetKey( GLFW_KEY_ESC ) && | ||||
| 			glfwGetWindowParam( GLFW_OPENED ); | ||||
| 		running = !glfwGetKey(GLFW_KEY_ESC) && glfwGetWindowParam(GLFW_OPENED); | ||||
|  | ||||
| 		last_time = time; | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 gmueller
					gmueller