about summary refs log tree commit diff
path: root/src/engine/client/gfx.cpp
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-07-29 15:55:04 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-07-29 15:55:04 +0000
commit7699e4b400fef04e9353302b8fd253bf7b2c8cc2 (patch)
tree25d00d4faf78c6c099505ad9f990b3c57d37064a /src/engine/client/gfx.cpp
parentb1f65c46ed9b055cf1ecf94b5a8ff80eebe94ac9 (diff)
downloadzcatch-7699e4b400fef04e9353302b8fd253bf7b2c8cc2.tar.gz
zcatch-7699e4b400fef04e9353302b8fd253bf7b2c8cc2.zip
removed the batch functions as it did next to nothing. changed some of the default values. cleaned up some of the config variables. added options in the menu to control gfx quality of the game.
Diffstat (limited to 'src/engine/client/gfx.cpp')
-rw-r--r--src/engine/client/gfx.cpp83
1 files changed, 11 insertions, 72 deletions
diff --git a/src/engine/client/gfx.cpp b/src/engine/client/gfx.cpp
index 1ccd686d..819061ba 100644
--- a/src/engine/client/gfx.cpp
+++ b/src/engine/client/gfx.cpp
@@ -24,10 +24,7 @@ struct custom_vertex
 };
 
 const int vertex_buffer_size = 32*1024;
-//static custom_vertex vertices[4];
 static custom_vertex *vertices = 0;
-//static index_buffer ib;
-static unsigned short indecies[vertex_buffer_size*6];
 static int num_vertices = 0;
 static vec4 color[4];
 static vec2 texture[4];
@@ -85,8 +82,8 @@ static void draw_quad(bool _bflush = false)
 					sizeof(custom_vertex),
 					sizeof(vec3)+sizeof(vec2));		
 					
-			glDrawElements(GL_TRIANGLES, num_vertices, GL_UNSIGNED_SHORT, indecies);
-			//opengl::draw_arrays(GL_QUADS, 0, num_vertices);
+			//glDrawElements(GL_TRIANGLES, num_vertices, GL_UNSIGNED_SHORT, indecies);
+			opengl::draw_arrays(GL_QUADS, 0, num_vertices);
 		}
 		else
 		{
@@ -109,70 +106,11 @@ static void draw_quad(bool _bflush = false)
 		num_vertices = 0;
 	}
 }
-struct batch
-{
-	opengl::vertex_buffer vb;
-	int num;
-};
-
-void gfx_destoy_batch(void *in_b)
-{
-	batch *b = (batch*)in_b;
-	delete b;
-	
-}
-
-void gfx_quads_draw_batch(void *in_b)
-{
-	batch *b = (batch*)in_b;
-	
-	if(GLEW_ARB_vertex_buffer_object)
-	{
-		// set the data
-		opengl::stream_vertex(&b->vb, 3, GL_FLOAT, sizeof(custom_vertex), 0);
-		opengl::stream_texcoord(&b->vb, 0, 2, GL_FLOAT,
-				sizeof(custom_vertex),
-				sizeof(vec3));
-		opengl::stream_color(&b->vb, 4, GL_FLOAT,
-				sizeof(custom_vertex),
-				sizeof(vec3)+sizeof(vec2));		
-		opengl::draw_arrays(GL_QUADS, 0, b->num);
-	}
-	/*
-	else
-	{
-		glVertexPointer(3, GL_FLOAT,
-				sizeof(custom_vertex),
-				(char*)vertices);
-		glTexCoordPointer(2, GL_FLOAT,
-				sizeof(custom_vertex),
-				(char*)vertices + sizeof(vec3));
-		glColorPointer(4, GL_FLOAT,
-				sizeof(custom_vertex),
-				(char*)vertices + sizeof(vec3) + sizeof(vec2));
-		glEnableClientState(GL_VERTEX_ARRAY);
-		glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-		glEnableClientState(GL_COLOR_ARRAY);
-		glDrawArrays(GL_QUADS, 0, b->num);
-	}*/	
-}
-
 
-void *gfx_quads_create_batch()
-{
-	batch *b = new batch;
-	b->num = num_vertices;
-	b->vb.data(vertices, num_vertices*sizeof(custom_vertex), GL_STATIC_DRAW);
-	dbg_msg("gfx", "created batch. num=%d size=%d", num_vertices, num_vertices*sizeof(custom_vertex));
-	num_vertices = 0;
-	gfx_quads_end();
-	return b;
-}
-
-	
 bool gfx_init()
 {
-	if(!context.create(config.screen_width, config.screen_height, 24, 8, 16, 0, config.fullscreen?opengl::context::FLAG_FULLSCREEN:0))
+	if(!context.create(config.gfx_screen_width, config.gfx_screen_height, 24, 8, 16, 0,
+		config.gfx_fullscreen?opengl::context::FLAG_FULLSCREEN:0))
 	{
 		dbg_msg("game", "failed to create gl context");
 		return false;
@@ -192,7 +130,7 @@ bool gfx_init()
 											  context.version_minor(),
 											  context.version_rev());*/
 
-	gfx_mapscreen(0,0,config.screen_width, config.screen_height);
+	gfx_mapscreen(0,0,config.gfx_screen_width, config.gfx_screen_height);
 	
 	// TODO: make wrappers for this
 	glEnable(GL_BLEND);
@@ -225,6 +163,7 @@ bool gfx_init()
 	textures[MAX_TEXTURES-1].next = -1;
 	
 	// init indecies
+	/*
 	for(int i = 0; i < vertex_buffer_size; i++)
 	{
 		indecies[i*6 + 0] = i+0;
@@ -234,7 +173,7 @@ bool gfx_init()
 		indecies[i*6 + 3] = i+1;
 		indecies[i*6 + 4] = i+3;
 		indecies[i*6 + 5] = i+2;
-	}
+	}*/
 	
 	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
 	
@@ -242,7 +181,7 @@ bool gfx_init()
 	gfx_load_texture_raw(4,4,IMG_RGBA,null_texture_data);
 
 	// set vsync as needed
-	gfx_set_vsync(config.vsync);
+	gfx_set_vsync(config.gfx_vsync);
 
 	return true;
 }
@@ -273,7 +212,7 @@ video_mode fakemodes[] = {
 
 int gfx_get_video_modes(video_mode *list, int maxcount)
 {
-	if(config.display_all_modes)
+	if(config.gfx_display_all_modes)
 	{
 		mem_copy(list, fakemodes, sizeof(fakemodes));
 		return min((int)(sizeof(fakemodes)/sizeof(video_mode)), maxcount);
@@ -458,12 +397,12 @@ void gfx_swap()
 
 int gfx_screenwidth()
 {
-	return config.screen_width;
+	return config.gfx_screen_width;
 }
 
 int gfx_screenheight()
 {
-	return config.screen_height;
+	return config.gfx_screen_height;
 }
 
 void gfx_texture_set(int slot)