All pastes #1056031 Raw Edit

betterSelectionCircle-r288.patch

public text v1 · immutable
#1056031 ·published 2008-06-25 21:32 UTC
rendered paste body

Index: models/globe/select.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/render/r_globe.c
===================================================================
--- src/render/r_globe.c	(revision 288)
+++ src/render/r_globe.c	(working copy)
@@ -41,7 +41,7 @@
 /* Current selection color */
 c_color_t r_select_color;
 
-static r_vertex3_t select_verts[9];
+static r_vertex3_t select_verts[12];
 static r_texture_t *select_tex;
 static r_vbo_t globe_vbo;
 static c_color_t globe_colors[4];
@@ -327,6 +327,9 @@
 
         /* Render selection triangle */
         if (selected_tile >= 0) {
+		//int i;
+		//for (i = 0; i < r_tiles; i++) {
+		//		R_select_tile(i);
                 R_gl_disable(GL_LIGHTING);
                 R_texture_select(select_tex);
 
@@ -660,13 +663,12 @@
 \******************************************************************************/
 void R_select_tile(int tile)
 {
-	int neighbors[3];
-
         selected_tile = tile;
         if (tile < 0)
                 return;
 		
-	R_get_tile_neighbors(tile, neighbors);
+		int neighbors[3];
+		R_get_tile_neighbors(tile, neighbors);
 
         /* Copy coordinates */
         select_verts[0].co = vertices[3 * tile].co;
@@ -679,11 +681,11 @@
         select_verts[2].no = vertices[3 * tile + 2].no;
 
         /* Set UV */
-        select_verts[0].uv = C_vec2(0.50f, 0.0f);
-        select_verts[1].uv = C_vec2(0.25f, 1.0f);
-        select_verts[2].uv = C_vec2(0.75f, 1.0f);
+        select_verts[0].uv = C_vec2(0.50f, 0.25f);
+        select_verts[1].uv = C_vec2(0.25f, 0.75f);
+        select_verts[2].uv = C_vec2(0.75f, 0.75f);
 
-
+	
 		/* Copy coordinates */
 		select_verts[3].co = vertices[3 * neighbors[0] + 0].co;
 		select_verts[4].co = vertices[3 * neighbors[0] + 1].co;
@@ -695,24 +697,40 @@
 		select_verts[5].no = vertices[3 * neighbors[0] + 2].no;
 
 		/* Set UV */
-		select_verts[3].uv = C_vec2(0.75f, 1.0f);
-		select_verts[4].uv = C_vec2(0.50f, 0.0f);
-		select_verts[5].uv = C_vec2(1.00f, 0.0f);
+		select_verts[3].uv = C_vec2(0.75f, 0.75f);
+		select_verts[4].uv = C_vec2(0.50f, 0.25f);
+		select_verts[5].uv = C_vec2(1.00f, 0.25f);
 
 
 		/* Copy coordinates */
-		select_verts[6].co = vertices[3 * neighbors[2] + 0].co;
-		select_verts[7].co = vertices[3 * neighbors[2] + 1].co;
-		select_verts[8].co = vertices[3 * neighbors[2] + 2].co;
+		select_verts[6].co = vertices[3 * neighbors[1] + 0].co;
+		select_verts[7].co = vertices[3 * neighbors[1] + 1].co;
+		select_verts[8].co = vertices[3 * neighbors[1] + 2].co;
 
 		/* Copy normals */
-		select_verts[6].no = vertices[3 * neighbors[2] + 0].no;
-		select_verts[7].no = vertices[3 * neighbors[2] + 1].no;
-		select_verts[8].no = vertices[3 * neighbors[2] + 2].no;
+		select_verts[6].no = vertices[3 * neighbors[1] + 0].no;
+		select_verts[7].no = vertices[3 * neighbors[1] + 1].no;
+		select_verts[8].no = vertices[3 * neighbors[1] + 2].no;
+
+		/* Set UV */
+		select_verts[6].uv = C_vec2(0.50f, 1.25f);
+		select_verts[7].uv = C_vec2(0.25f, 0.75f);
+		select_verts[8].uv = C_vec2(0.75f, 0.75f);
+
+
+		/* Copy coordinates */
+		select_verts[9].co = vertices[3 * neighbors[2] + 0].co;
+		select_verts[10].co = vertices[3 * neighbors[2] + 1].co;
+		select_verts[11].co = vertices[3 * neighbors[2] + 2].co;
+
+		/* Copy normals */
+		select_verts[9].no = vertices[3 * neighbors[2] + 0].no;
+		select_verts[10].no = vertices[3 * neighbors[2] + 1].no;
+		select_verts[11].no = vertices[3 * neighbors[2] + 2].no;
 		
 		/* Set UV */
-		select_verts[6].uv = C_vec2(0.75f, 1.0f);
-		select_verts[7].uv = C_vec2(1.00f, 0.0f);
-		select_verts[8].uv = C_vec2(0.50f, 0.0f);
+		select_verts[9].uv = C_vec2(0.75f, 0.75f);
+		select_verts[10].uv = C_vec2(1.00f, 0.25f);
+		select_verts[11].uv = C_vec2(0.50f, 0.25f);
 }