CURRENTLY BROKEN DUE TO FLAG GEOM.
authorrlk <rlk@78b8d119-cf0a-0410-b17c-f493084dd1d7>
Mon, 28 Mar 2011 21:26:05 +0000 (21:26 +0000)
committerrlk <rlk@78b8d119-cf0a-0410-b17c-f493084dd1d7>
Mon, 28 Mar 2011 21:26:05 +0000 (21:26 +0000)
Added separate material flags for S and T clamp.
Merged goal, switch, and jump geometry.
Converted flag to SOL.

git-svn-id: https://s.snth.net/svn/neverball/branches/gles@3536 78b8d119-cf0a-0410-b17c-f493084dd1d7

27 files changed:
ball/game_draw.c
ball/st_conf.c
data/geom/beam/beam [new file with mode: 0644]
data/geom/beam/beam.map [new file with mode: 0644]
data/geom/beam/beam.mtl [new file with mode: 0644]
data/geom/beam/beam.obj [new file with mode: 0644]
data/geom/beam/beam.png [new file with mode: 0644]
data/geom/beam/beam.wings [new file with mode: 0644]
data/geom/flag/flag.map [new file with mode: 0644]
data/geom/flag/flag.mtl [new file with mode: 0644]
data/geom/flag/flag.obj [new file with mode: 0644]
data/geom/flag/flag.wings [new file with mode: 0644]
data/geom/goal/goal
data/geom/goal/goal.png
data/geom/goal/goal.sol
data/mtrl/orb-blue
data/mtrl/poof-blue
data/mtrl/poof-green
data/mtrl/poof-red
data/mtrl/poof-yellow
putt/st_conf.c
share/geom.c
share/geom.h
share/mapc.c
share/part.c
share/solid_base.h
share/solid_draw.c

index 88a48b6..ab140eb 100644 (file)
@@ -175,22 +175,18 @@ static void game_draw_jumps(const struct game_draw *gd,
 
     int ji;
 
-    glEnable(GL_TEXTURE_2D);
+    for (ji = 0; ji < base->jc; ji++)
     {
-        for (ji = 0; ji < base->jc; ji++)
+        glPushMatrix();
         {
-            glPushMatrix();
-            {
-                glTranslatef(base->jv[ji].p[0],
-                             base->jv[ji].p[1],
-                             base->jv[ji].p[2]);
+            glTranslatef(base->jv[ji].p[0],
+                         base->jv[ji].p[1],
+                         base->jv[ji].p[2]);
 
-                part_draw_jump(M, base->jv[ji].r, 1.0f, t);
-            }
-            glPopMatrix();
+            part_draw_jump(M, base->jv[ji].r, 1.0f, t);
         }
+        glPopMatrix();
     }
-    glDisable(GL_TEXTURE_2D);
 
     for (ji = 0; ji < base->jc; ji++)
     {
@@ -437,21 +433,12 @@ static void game_draw_fore(const struct game_draw *gd,
         glDisable(GL_LIGHTING);
         glDepthMask(GL_FALSE);
         {
-            glColor3f(1.0f, 1.0f, 1.0f);
-
             sol_bill(draw, M, t);
             part_draw_coin(M, t);
 
             game_draw_goals(gd, M, t);
-
-            glDisable(GL_TEXTURE_2D);
-            {
-                game_draw_jumps(gd, M, t);
-                game_draw_swchs(draw->vary);
-            }
-            glEnable(GL_TEXTURE_2D);
-
-            glColor3f(1.0f, 1.0f, 1.0f);
+            game_draw_jumps(gd, M, t);
+            game_draw_swchs(draw->vary);
         }
         glDepthMask(GL_TRUE);
         glEnable(GL_LIGHTING);
index 2f2d289..225e060 100644 (file)
@@ -422,9 +422,7 @@ static int null_enter(struct state *st, struct state *prev)
 {
     hud_free();
     gui_free();
-    swch_free();
-    jump_free();
-    goal_free();
+    geom_free();
     item_free();
     ball_free();
     shad_free();
@@ -439,9 +437,7 @@ static void null_leave(struct state *st, struct state *next, int id)
     shad_init();
     ball_init();
     item_init();
-    goal_init();
-    jump_init();
-    swch_init();
+    geom_init();
     gui_init();
     hud_init();
 }
diff --git a/data/geom/beam/beam b/data/geom/beam/beam
new file mode 100644 (file)
index 0000000..6649767
--- /dev/null
@@ -0,0 +1,7 @@
+1.000000 1.000000 1.000000 1.000000
+1.000000 1.000000 1.000000 1.000000
+0.000000 0.000000 0.000000 0.000000
+0.000000 0.000000 0.000000 0.000000
+10.000000
+33
+45.000000
diff --git a/data/geom/beam/beam.map b/data/geom/beam/beam.map
new file mode 100644 (file)
index 0000000..739657f
--- /dev/null
@@ -0,0 +1,4 @@
+{
+"classname" "worldspawn"
+"model" "geom/beam/beam.obj"
+}
diff --git a/data/geom/beam/beam.mtl b/data/geom/beam/beam.mtl
new file mode 100644 (file)
index 0000000..d0d08e6
--- /dev/null
@@ -0,0 +1,20 @@
+# Exported from Wings 3D 1.4.1\r
+newmtl default\r
+Ns 100.0\r
+d 1.0\r
+illum 2\r
+Kd 1.0 1.0 1.0\r
+Ka 1.0 1.0 1.0\r
+Ks 1.0 1.0 1.0\r
+Ke 0.0 0.0 0.0\r
+\r
+newmtl geom/beam/beam\r
+Ns 100.0\r
+d 1.0\r
+illum 2\r
+Kd 1.0 1.0 1.0\r
+Ka 1.0 1.0 1.0\r
+Ks 1.0 1.0 1.0\r
+Ke 0.0 0.0 0.0\r
+map_Kd beam.png\r
+\r
diff --git a/data/geom/beam/beam.obj b/data/geom/beam/beam.obj
new file mode 100644 (file)
index 0000000..a5bae1e
--- /dev/null
@@ -0,0 +1,521 @@
+# Exported from Wings 3D 1.4.1\r
+mtllib beam.mtl\r
+o cylinder1\r
+#128 vertices, 128 faces\r
+v 1.00000000 1.00000000 3.6768006e-17\r
+v 0.99518473 1.00000000 9.8017140e-2\r
+v 0.98078528 1.00000000 0.19509032\r
+v 0.95694034 1.00000000 0.29028468\r
+v 0.92387953 1.00000000 0.38268343\r
+v 0.88192126 1.00000000 0.47139674\r
+v 0.83146961 1.00000000 0.55557023\r
+v 0.77301045 1.00000000 0.63439328\r
+v 0.70710678 1.00000000 0.70710678\r
+v 0.63439328 1.00000000 0.77301045\r
+v 0.55557023 1.00000000 0.83146961\r
+v 0.47139674 1.00000000 0.88192126\r
+v 0.38268343 1.00000000 0.92387953\r
+v 0.29028468 1.00000000 0.95694034\r
+v 0.19509032 1.00000000 0.98078528\r
+v 9.8017140e-2 1.00000000 0.99518473\r
+v 9.5926809e-17 1.00000000 1.00000000\r
+v -9.8017140e-2 1.00000000 0.99518473\r
+v -0.19509032 1.00000000 0.98078528\r
+v -0.29028468 1.00000000 0.95694034\r
+v -0.38268343 1.00000000 0.92387953\r
+v -0.47139674 1.00000000 0.88192126\r
+v -0.55557023 1.00000000 0.83146961\r
+v -0.63439328 1.00000000 0.77301045\r
+v -0.70710678 1.00000000 0.70710678\r
+v -0.77301045 1.00000000 0.63439328\r
+v -0.83146961 1.00000000 0.55557023\r
+v -0.88192126 1.00000000 0.47139674\r
+v -0.92387953 1.00000000 0.38268343\r
+v -0.95694034 1.00000000 0.29028468\r
+v -0.98078528 1.00000000 0.19509032\r
+v -0.99518473 1.00000000 9.8017140e-2\r
+v -1.00000000 1.00000000 1.5923269e-16\r
+v -0.99518473 1.00000000 -9.8017140e-2\r
+v -0.98078528 1.00000000 -0.19509032\r
+v -0.95694034 1.00000000 -0.29028468\r
+v -0.92387953 1.00000000 -0.38268343\r
+v -0.88192126 1.00000000 -0.47139674\r
+v -0.83146961 1.00000000 -0.55557023\r
+v -0.77301045 1.00000000 -0.63439328\r
+v -0.70710678 1.00000000 -0.70710678\r
+v -0.63439328 1.00000000 -0.77301045\r
+v -0.55557023 1.00000000 -0.83146961\r
+v -0.47139674 1.00000000 -0.88192126\r
+v -0.38268343 1.00000000 -0.92387953\r
+v -0.29028468 1.00000000 -0.95694034\r
+v -0.19509032 1.00000000 -0.98078528\r
+v -9.8017140e-2 1.00000000 -0.99518473\r
+v -1.4900255e-16 1.00000000 -1.00000000\r
+v 9.8017140e-2 1.00000000 -0.99518473\r
+v 0.19509032 1.00000000 -0.98078528\r
+v 0.29028468 1.00000000 -0.95694034\r
+v 0.38268343 1.00000000 -0.92387953\r
+v 0.47139674 1.00000000 -0.88192126\r
+v 0.55557023 1.00000000 -0.83146961\r
+v 0.63439328 1.00000000 -0.77301045\r
+v 0.70710678 1.00000000 -0.70710678\r
+v 0.77301045 1.00000000 -0.63439328\r
+v 0.83146961 1.00000000 -0.55557023\r
+v 0.88192126 1.00000000 -0.47139674\r
+v 0.92387953 1.00000000 -0.38268343\r
+v 0.95694034 1.00000000 -0.29028468\r
+v 0.98078528 1.00000000 -0.19509032\r
+v 0.99518473 1.00000000 -9.8017140e-2\r
+v 1.00000000 0.0000000e+0 4.7704896e-17\r
+v 0.99518473 0.0000000e+0 9.8017140e-2\r
+v 0.98078528 0.0000000e+0 0.19509032\r
+v 0.95694034 0.0000000e+0 0.29028468\r
+v 0.92387953 0.0000000e+0 0.38268343\r
+v 0.88192126 0.0000000e+0 0.47139674\r
+v 0.83146961 0.0000000e+0 0.55557023\r
+v 0.77301045 0.0000000e+0 0.63439328\r
+v 0.70710678 0.0000000e+0 0.70710678\r
+v 0.63439328 0.0000000e+0 0.77301045\r
+v 0.55557023 0.0000000e+0 0.83146961\r
+v 0.47139674 0.0000000e+0 0.88192126\r
+v 0.38268343 0.0000000e+0 0.92387953\r
+v 0.29028468 0.0000000e+0 0.95694034\r
+v 0.19509032 0.0000000e+0 0.98078528\r
+v 9.8017140e-2 0.0000000e+0 0.99518473\r
+v 7.8579575e-17 0.0000000e+0 1.00000000\r
+v -9.8017140e-2 0.0000000e+0 0.99518473\r
+v -0.19509032 0.0000000e+0 0.98078528\r
+v -0.29028468 0.0000000e+0 0.95694034\r
+v -0.38268343 0.0000000e+0 0.92387953\r
+v -0.47139674 0.0000000e+0 0.88192126\r
+v -0.55557023 0.0000000e+0 0.83146961\r
+v -0.63439328 0.0000000e+0 0.77301045\r
+v -0.70710678 0.0000000e+0 0.70710678\r
+v -0.77301045 0.0000000e+0 0.63439328\r
+v -0.83146961 0.0000000e+0 0.55557023\r
+v -0.88192126 0.0000000e+0 0.47139674\r
+v -0.92387953 0.0000000e+0 0.38268343\r
+v -0.95694034 0.0000000e+0 0.29028468\r
+v -0.98078528 0.0000000e+0 0.19509032\r
+v -0.99518473 0.0000000e+0 9.8017140e-2\r
+v -1.00000000 0.0000000e+0 1.7016958e-16\r
+v -0.99518473 0.0000000e+0 -9.8017140e-2\r
+v -0.98078528 0.0000000e+0 -0.19509032\r
+v -0.95694034 0.0000000e+0 -0.29028468\r
+v -0.92387953 0.0000000e+0 -0.38268343\r
+v -0.88192126 0.0000000e+0 -0.47139674\r
+v -0.83146961 0.0000000e+0 -0.55557023\r
+v -0.77301045 0.0000000e+0 -0.63439328\r
+v -0.70710678 0.0000000e+0 -0.70710678\r
+v -0.63439328 0.0000000e+0 -0.77301045\r
+v -0.55557023 0.0000000e+0 -0.83146961\r
+v -0.47139674 0.0000000e+0 -0.88192126\r
+v -0.38268343 0.0000000e+0 -0.92387953\r
+v -0.29028468 0.0000000e+0 -0.95694034\r
+v -0.19509032 0.0000000e+0 -0.98078528\r
+v -9.8017140e-2 0.0000000e+0 -0.99518473\r
+v -1.6634979e-16 0.0000000e+0 -1.00000000\r
+v 9.8017140e-2 0.0000000e+0 -0.99518473\r
+v 0.19509032 0.0000000e+0 -0.98078528\r
+v 0.29028468 0.0000000e+0 -0.95694034\r
+v 0.38268343 0.0000000e+0 -0.92387953\r
+v 0.47139674 0.0000000e+0 -0.88192126\r
+v 0.55557023 0.0000000e+0 -0.83146961\r
+v 0.63439328 0.0000000e+0 -0.77301045\r
+v 0.70710678 0.0000000e+0 -0.70710678\r
+v 0.77301045 0.0000000e+0 -0.63439328\r
+v 0.83146961 0.0000000e+0 -0.55557023\r
+v 0.88192126 0.0000000e+0 -0.47139674\r
+v 0.92387953 0.0000000e+0 -0.38268343\r
+v 0.95694034 0.0000000e+0 -0.29028468\r
+v 0.98078528 0.0000000e+0 -0.19509032\r
+v 0.99518473 0.0000000e+0 -9.8017140e-2\r
+vt 0.0000000e+0 1.1272913e-14\r
+vt 3.4972025e-15 1.00000000\r
+vt 1.5625000e-2 1.00000000\r
+vt 1.5625000e-2 2.1616101e-14\r
+vt 3.1250000e-2 6.1013189e-15\r
+vt 3.1250000e-2 1.00000000\r
+vt 4.6875000e-2 1.00000000\r
+vt 4.6875000e-2 2.3533659e-14\r
+vt 6.2500000e-2 9.0648167e-15\r
+vt 6.2500000e-2 1.00000000\r
+vt 7.8125000e-2 1.00000000\r
+vt 7.8125000e-2 1.9872867e-14\r
+vt 9.3750000e-2 9.0648167e-15\r
+vt 9.3750000e-2 1.00000000\r
+vt 0.10937500 1.00000000\r
+vt 0.10937500 2.1499886e-14\r
+vt 0.12500000 5.3459175e-15\r
+vt 0.12500000 1.00000000\r
+vt 0.14062500 2.1209347e-14\r
+vt 0.14062500 1.00000000\r
+vt 0.15625000 7.4377983e-15\r
+vt 0.15625000 1.00000000\r
+vt 0.17187500 2.0453945e-14\r
+vt 0.17187500 1.00000000\r
+vt 0.18750000 9.1810323e-15\r
+vt 0.18750000 1.00000000\r
+vt 0.20312500 1.6618831e-14\r
+vt 0.20312500 1.00000000\r
+vt 0.21875000 8.3094153e-15\r
+vt 0.21875000 1.00000000\r
+vt 0.23437500 1.5398567e-14\r
+vt 0.23437500 1.00000000\r
+vt 0.25000000 1.2144530e-14\r
+vt 0.25000000 1.00000000\r
+vt 0.26562500 1.00000000\r
+vt 0.26562500 1.2609392e-14\r
+vt 0.28125000 9.6458947e-15\r
+vt 0.28125000 1.00000000\r
+vt 0.29687500 1.5979645e-14\r
+vt 0.29687500 1.00000000\r
+vt 0.31250000 8.0188763e-15\r
+vt 0.31250000 1.00000000\r
+vt 0.32812500 1.00000000\r
+vt 0.32812500 1.4817489e-14\r
+vt 0.34375000 1.1272913e-14\r
+vt 0.34375000 1.00000000\r
+vt 0.35937500 1.2725608e-14\r
+vt 0.35937500 1.00000000\r
+vt 0.37500000 7.8445529e-15\r
+vt 0.37500000 1.00000000\r
+vt 0.39062500 1.3481009e-14\r
+vt 0.39062500 1.00000000\r
+vt 0.40625000 7.5540139e-15\r
+vt 0.40625000 1.00000000\r
+vt 0.42187500 1.00000000\r
+vt 0.42187500 1.1563452e-14\r
+vt 0.43750000 1.1853991e-14\r
+vt 0.43750000 1.00000000\r
+vt 0.45312500 1.00000000\r
+vt 0.45312500 7.8445529e-15\r
+vt 0.46875000 9.9364337e-15\r
+vt 0.46875000 1.00000000\r
+vt 0.48437500 1.00000000\r
+vt 0.48437500 1.0401296e-14\r
+vt 0.50000000 8.5999543e-15\r
+vt 0.50000000 1.00000000\r
+vt 0.51562500 6.7986125e-15\r
+vt 0.51562500 1.00000000\r
+vt 0.53125000 1.0982374e-14\r
+vt 0.53125000 1.00000000\r
+vt 0.54687500 4.5905161e-15\r
+vt 0.54687500 1.00000000\r
+vt 0.56250000 7.7283373e-15\r
+vt 0.56250000 1.00000000\r
+vt 0.57812500 6.1013189e-15\r
+vt 0.57812500 1.00000000\r
+vt 0.59375000 6.5080735e-15\r
+vt 0.59375000 1.00000000\r
+vt 0.60937500 5.3459175e-15\r
+vt 0.60937500 1.00000000\r
+vt 0.62500000 1.00000000\r
+vt 0.62500000 8.4256309e-15\r
+vt 0.64062500 3.5445758e-15\r
+vt 0.64062500 1.00000000\r
+vt 0.65625000 1.0691835e-14\r
+vt 0.65625000 1.00000000\r
+vt 0.67187500 1.00000000\r
+vt 0.67187500 2.0918808e-15\r
+vt 0.68750000 1.0052649e-14\r
+vt 0.68750000 1.00000000\r
+vt 0.70312500 1.00000000\r
+vt 0.70312500 3.1378212e-15\r
+vt 0.71875000 1.0517512e-14\r
+vt 0.71875000 1.00000000\r
+vt 0.73437500 1.00000000\r
+vt 0.73437500 5.3459175e-15\r
+vt 0.75000000 1.2725608e-14\r
+vt 0.75000000 1.00000000\r
+vt 0.76562500 1.00000000\r
+vt 0.76562500 3.1378212e-15\r
+vt 0.78125000 1.0226973e-14\r
+vt 0.78125000 1.00000000\r
+vt 0.79687500 1.00000000\r
+vt 0.79687500 3.7188992e-15\r
+vt 0.81250000 9.7621103e-15\r
+vt 0.81250000 1.00000000\r
+vt 0.82812500 1.00000000\r
+vt 0.82812500 4.8810551e-15\r
+vt 0.84375000 1.1563452e-14\r
+vt 0.84375000 1.00000000\r
+vt 0.85937500 1.00000000\r
+vt 0.85937500 3.1378212e-15\r
+vt 0.87500000 8.8904933e-15\r
+vt 0.87500000 1.00000000\r
+vt 0.89062500 1.00000000\r
+vt 0.89062500 1.8013418e-15\r
+vt 0.90625000 1.2144530e-14\r
+vt 0.90625000 1.00000000\r
+vt 0.92187500 1.00000000\r
+vt 0.92187500 0.0000000e+0\r
+vt 0.93750000 1.0691835e-14\r
+vt 0.93750000 1.00000000\r
+vt 0.95312500 1.00000000\r
+vt 0.95312500 1.5108028e-15\r
+vt 0.96875000 1.1853991e-14\r
+vt 0.96875000 1.00000000\r
+vt 0.98437500 1.00000000\r
+vt 0.98437500 3.1378212e-15\r
+vt 1.00000000 1.1272913e-14\r
+vt 1.00000000 1.00000000\r
+vn 1.00000000 -7.4044900e-32 -1.3894524e-17\r
+vn 0.99518473 7.0792658e-17 9.8017140e-2\r
+vn 0.98078528 0.0000000e+0 0.19509032\r
+vn 0.95694034 0.0000000e+0 0.29028468\r
+vn 0.92387953 0.0000000e+0 0.38268343\r
+vn 0.88192126 0.0000000e+0 0.47139674\r
+vn 0.83146961 0.0000000e+0 0.55557023\r
+vn 0.77301045 0.0000000e+0 0.63439328\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.63439328 0.0000000e+0 0.77301045\r
+vn 0.55557023 0.0000000e+0 0.83146961\r
+vn 0.47139674 0.0000000e+0 0.88192126\r
+vn 0.38268343 0.0000000e+0 0.92387953\r
+vn 0.29028468 -4.4245411e-18 0.95694034\r
+vn 0.19509032 -1.3273623e-17 0.98078528\r
+vn 9.8017140e-2 -2.6270713e-18 0.99518473\r
+vn 1.1358774e-15 -2.7653382e-19 1.00000000\r
+vn -9.8017140e-2 2.4888044e-18 0.99518473\r
+vn -0.19509032 4.4245411e-18 0.98078528\r
+vn -0.29028468 0.0000000e+0 0.95694034\r
+vn -0.38268343 0.0000000e+0 0.92387953\r
+vn -0.47139674 0.0000000e+0 0.88192126\r
+vn -0.55557023 0.0000000e+0 0.83146961\r
+vn -0.63439328 0.0000000e+0 0.77301045\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.77301045 0.0000000e+0 0.63439328\r
+vn -0.83146961 0.0000000e+0 0.55557023\r
+vn -0.88192126 0.0000000e+0 0.47139674\r
+vn -0.92387953 0.0000000e+0 0.38268343\r
+vn -0.95694034 0.0000000e+0 0.29028468\r
+vn -0.98078528 0.0000000e+0 0.19509032\r
+vn -0.99518473 -1.4461895e-34 9.8017140e-2\r
+vn -1.00000000 0.0000000e+0 5.6967550e-16\r
+vn -0.99518473 0.0000000e+0 -9.8017140e-2\r
+vn -0.98078528 0.0000000e+0 -0.19509032\r
+vn -0.95694034 0.0000000e+0 -0.29028468\r
+vn -0.92387953 0.0000000e+0 -0.38268343\r
+vn -0.88192126 0.0000000e+0 -0.47139674\r
+vn -0.83146961 0.0000000e+0 -0.55557023\r
+vn -0.77301045 0.0000000e+0 -0.63439328\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.63439328 0.0000000e+0 -0.77301045\r
+vn -0.55557023 0.0000000e+0 -0.83146961\r
+vn -0.47139674 0.0000000e+0 -0.88192126\r
+vn -0.38268343 0.0000000e+0 -0.92387953\r
+vn -0.29028468 0.0000000e+0 -0.95694034\r
+vn -0.19509032 4.4245411e-18 -0.98078528\r
+vn -9.8017140e-2 2.6270713e-18 -0.99518473\r
+vn 0.0000000e+0 2.7653382e-19 -1.00000000\r
+vn 9.8017140e-2 -2.4888044e-18 -0.99518473\r
+vn 0.19509032 -4.4245411e-18 -0.98078528\r
+vn 0.29028468 0.0000000e+0 -0.95694034\r
+vn 0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.47139674 0.0000000e+0 -0.88192126\r
+vn 0.55557023 0.0000000e+0 -0.83146961\r
+vn 0.63439328 0.0000000e+0 -0.77301045\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.77301045 0.0000000e+0 -0.63439328\r
+vn 0.83146961 0.0000000e+0 -0.55557023\r
+vn 0.88192126 0.0000000e+0 -0.47139674\r
+vn 0.92387953 0.0000000e+0 -0.38268343\r
+vn 0.95694034 0.0000000e+0 -0.29028468\r
+vn 0.98078528 0.0000000e+0 -0.19509032\r
+vn 0.99518473 -7.0792658e-17 -9.8017140e-2\r
+vn 1.00000000 -3.7022450e-32 -1.3894524e-17\r
+vn 0.99518473 3.8565052e-34 9.8017140e-2\r
+vn 0.98078528 -3.4088600e-19 0.19509032\r
+vn 0.95694034 0.0000000e+0 0.29028468\r
+vn 0.92387953 0.0000000e+0 0.38268343\r
+vn 0.88192126 0.0000000e+0 0.47139674\r
+vn 0.83146961 0.0000000e+0 0.55557023\r
+vn 0.77301045 0.0000000e+0 0.63439328\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.63439328 0.0000000e+0 0.77301045\r
+vn 0.55557023 0.0000000e+0 0.83146961\r
+vn 0.47139674 0.0000000e+0 0.88192126\r
+vn 0.38268343 0.0000000e+0 0.92387953\r
+vn 0.29028468 0.0000000e+0 0.95694034\r
+vn 0.19509032 -6.6368117e-18 0.98078528\r
+vn 9.8017140e-2 -2.7653382e-19 0.99518473\r
+vn 5.7141231e-16 -1.3826691e-19 1.00000000\r
+vn -9.8017140e-2 2.7653382e-19 0.99518473\r
+vn -0.19509032 2.2122706e-18 0.98078528\r
+vn -0.29028468 0.0000000e+0 0.95694034\r
+vn -0.38268343 0.0000000e+0 0.92387953\r
+vn -0.47139674 0.0000000e+0 0.88192126\r
+vn -0.55557023 0.0000000e+0 0.83146961\r
+vn -0.63439328 0.0000000e+0 0.77301045\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.77301045 0.0000000e+0 0.63439328\r
+vn -0.83146961 0.0000000e+0 0.55557023\r
+vn -0.88192126 0.0000000e+0 0.47139674\r
+vn -0.92387953 0.0000000e+0 0.38268343\r
+vn -0.95694034 0.0000000e+0 0.29028468\r
+vn -0.98078528 -3.4088600e-19 0.19509032\r
+vn -0.99518473 -2.8923789e-34 9.8017140e-2\r
+vn -1.00000000 7.7612168e-33 5.6446505e-16\r
+vn -0.99518473 0.0000000e+0 -9.8017140e-2\r
+vn -0.98078528 3.4088600e-19 -0.19509032\r
+vn -0.95694034 0.0000000e+0 -0.29028468\r
+vn -0.92387953 0.0000000e+0 -0.38268343\r
+vn -0.88192126 0.0000000e+0 -0.47139674\r
+vn -0.83146961 0.0000000e+0 -0.55557023\r
+vn -0.77301045 0.0000000e+0 -0.63439328\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.63439328 0.0000000e+0 -0.77301045\r
+vn -0.55557023 0.0000000e+0 -0.83146961\r
+vn -0.47139674 0.0000000e+0 -0.88192126\r
+vn -0.38268343 0.0000000e+0 -0.92387953\r
+vn -0.29028468 0.0000000e+0 -0.95694034\r
+vn -0.19509032 2.2122706e-18 -0.98078528\r
+vn -9.8017140e-2 2.7653382e-19 -0.99518473\r
+vn 0.0000000e+0 1.3826691e-19 -1.00000000\r
+vn 9.8017140e-2 -2.7653382e-19 -0.99518473\r
+vn 0.19509032 -2.2122706e-18 -0.98078528\r
+vn 0.29028468 0.0000000e+0 -0.95694034\r
+vn 0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.47139674 0.0000000e+0 -0.88192126\r
+vn 0.55557023 0.0000000e+0 -0.83146961\r
+vn 0.63439328 0.0000000e+0 -0.77301045\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.77301045 0.0000000e+0 -0.63439328\r
+vn 0.83146961 0.0000000e+0 -0.55557023\r
+vn 0.88192126 0.0000000e+0 -0.47139674\r
+vn 0.92387953 0.0000000e+0 -0.38268343\r
+vn 0.95694034 0.0000000e+0 -0.29028468\r
+vn 0.98078528 3.4088600e-19 -0.19509032\r
+vn 0.99518473 -4.2421557e-33 -9.8017140e-2\r
+g cylinder1_geom/beam/beam\r
+usemtl geom/beam/beam\r
+s 1\r
+f 1/34/1 65/33/65 64/35/64\r
+f 2/32/2 65/33/65 1/34/1\r
+f 2/32/2 67/29/67 66/31/66\r
+f 3/30/3 67/29/67 2/32/2\r
+f 4/28/4 67/29/67 3/30/3\r
+f 4/28/4 69/25/69 68/27/68\r
+f 5/26/5 69/25/69 4/28/4\r
+f 6/24/6 69/25/69 5/26/5\r
+f 6/24/6 71/21/71 70/23/70\r
+f 7/22/7 71/21/71 6/24/6\r
+f 8/20/8 71/21/71 7/22/7\r
+f 8/20/8 73/17/73 72/19/72\r
+f 9/18/9 73/17/73 8/20/8\r
+f 10/15/10 73/17/73 9/18/9\r
+f 10/15/10 75/13/75 74/16/74\r
+f 11/14/11 75/13/75 10/15/10\r
+f 12/11/12 75/13/75 11/14/11\r
+f 12/11/12 77/9/77 76/12/76\r
+f 13/10/13 77/9/77 12/11/12\r
+f 14/7/14 77/9/77 13/10/13\r
+f 14/7/14 79/5/79 78/8/78\r
+f 15/6/15 79/5/79 14/7/14\r
+f 16/3/16 79/5/79 15/6/15\r
+f 16/3/16 81/1/81 80/4/80\r
+f 17/2/17 81/1/81 16/3/16\r
+f 18/127/18 81/129/81 17/130/17\r
+f 18/127/18 83/125/83 82/128/82\r
+f 19/126/19 83/125/83 18/127/18\r
+f 20/123/20 83/125/83 19/126/19\r
+f 20/123/20 85/121/85 84/124/84\r
+f 21/122/21 85/121/85 20/123/20\r
+f 22/119/22 85/121/85 21/122/21\r
+f 22/119/22 87/117/87 86/120/86\r
+f 23/118/23 87/117/87 22/119/22\r
+f 24/115/24 87/117/87 23/118/23\r
+f 24/115/24 89/113/89 88/116/88\r
+f 25/114/25 89/113/89 24/115/24\r
+f 26/111/26 89/113/89 25/114/25\r
+f 26/111/26 91/109/91 90/112/90\r
+f 27/110/27 91/109/91 26/111/26\r
+f 28/107/28 91/109/91 27/110/27\r
+f 28/107/28 93/105/93 92/108/92\r
+f 29/106/29 93/105/93 28/107/28\r
+f 30/103/30 93/105/93 29/106/29\r
+f 30/103/30 95/101/95 94/104/94\r
+f 31/102/31 95/101/95 30/103/30\r
+f 32/99/32 95/101/95 31/102/31\r
+f 32/99/32 97/97/97 96/100/96\r
+f 33/98/33 97/97/97 32/99/32\r
+f 34/95/34 97/97/97 33/98/33\r
+f 34/95/34 99/93/99 98/96/98\r
+f 35/94/35 99/93/99 34/95/34\r
+f 36/91/36 99/93/99 35/94/35\r
+f 36/91/36 101/89/101 100/92/100\r
+f 37/90/37 101/89/101 36/91/36\r
+f 38/87/38 101/89/101 37/90/37\r
+f 38/87/38 103/85/103 102/88/102\r
+f 39/86/39 103/85/103 38/87/38\r
+f 40/84/40 103/85/103 39/86/39\r
+f 40/84/40 105/82/105 104/83/104\r
+f 41/81/41 105/82/105 40/84/40\r
+f 42/80/42 105/82/105 41/81/41\r
+f 42/80/42 107/77/107 106/79/106\r
+f 43/78/43 107/77/107 42/80/42\r
+f 44/76/44 107/77/107 43/78/43\r
+f 44/76/44 109/73/109 108/75/108\r
+f 45/74/45 109/73/109 44/76/44\r
+f 46/72/46 109/73/109 45/74/45\r
+f 46/72/46 111/69/111 110/71/110\r
+f 47/70/47 111/69/111 46/72/46\r
+f 48/68/48 111/69/111 47/70/47\r
+f 48/68/48 113/65/113 112/67/112\r
+f 49/66/49 113/65/113 48/68/48\r
+f 50/63/50 113/65/113 49/66/49\r
+f 50/63/50 115/61/115 114/64/114\r
+f 51/62/51 115/61/115 50/63/50\r
+f 52/59/52 115/61/115 51/62/51\r
+f 52/59/52 117/57/117 116/60/116\r
+f 53/58/53 117/57/117 52/59/52\r
+f 54/55/54 117/57/117 53/58/53\r
+f 54/55/54 119/53/119 118/56/118\r
+f 55/54/55 119/53/119 54/55/54\r
+f 56/52/56 119/53/119 55/54/55\r
+f 56/52/56 121/49/121 120/51/120\r
+f 57/50/57 121/49/121 56/52/56\r
+f 58/48/58 121/49/121 57/50/57\r
+f 58/48/58 123/45/123 122/47/122\r
+f 59/46/59 123/45/123 58/48/58\r
+f 60/43/60 123/45/123 59/46/59\r
+f 60/43/60 125/41/125 124/44/124\r
+f 61/42/61 125/41/125 60/43/60\r
+f 62/40/62 125/41/125 61/42/61\r
+f 62/40/62 127/37/127 126/39/126\r
+f 63/38/63 127/37/127 62/40/62\r
+f 64/35/64 65/33/65 128/36/128\r
+f 64/35/64 127/37/127 63/38/63\r
+f 66/31/66 65/33/65 2/32/2\r
+f 68/27/68 67/29/67 4/28/4\r
+f 70/23/70 69/25/69 6/24/6\r
+f 72/19/72 71/21/71 8/20/8\r
+f 74/16/74 73/17/73 10/15/10\r
+f 76/12/76 75/13/75 12/11/12\r
+f 78/8/78 77/9/77 14/7/14\r
+f 80/4/80 79/5/79 16/3/16\r
+f 82/128/82 81/129/81 18/127/18\r
+f 84/124/84 83/125/83 20/123/20\r
+f 86/120/86 85/121/85 22/119/22\r
+f 88/116/88 87/117/87 24/115/24\r
+f 90/112/90 89/113/89 26/111/26\r
+f 92/108/92 91/109/91 28/107/28\r
+f 94/104/94 93/105/93 30/103/30\r
+f 96/100/96 95/101/95 32/99/32\r
+f 98/96/98 97/97/97 34/95/34\r
+f 100/92/100 99/93/99 36/91/36\r
+f 102/88/102 101/89/101 38/87/38\r
+f 104/83/104 103/85/103 40/84/40\r
+f 106/79/106 105/82/105 42/80/42\r
+f 108/75/108 107/77/107 44/76/44\r
+f 110/71/110 109/73/109 46/72/46\r
+f 112/67/112 111/69/111 48/68/48\r
+f 114/64/114 113/65/113 50/63/50\r
+f 116/60/116 115/61/115 52/59/52\r
+f 118/56/118 117/57/117 54/55/54\r
+f 120/51/120 119/53/119 56/52/56\r
+f 122/47/122 121/49/121 58/48/58\r
+f 124/44/124 123/45/123 60/43/60\r
+f 126/39/126 125/41/125 62/40/62\r
+f 128/36/128 127/37/127 64/35/64\r
diff --git a/data/geom/beam/beam.png b/data/geom/beam/beam.png
new file mode 100644 (file)
index 0000000..04bbb2b
Binary files /dev/null and b/data/geom/beam/beam.png differ
diff --git a/data/geom/beam/beam.wings b/data/geom/beam/beam.wings
new file mode 100644 (file)
index 0000000..341b635
Binary files /dev/null and b/data/geom/beam/beam.wings differ
diff --git a/data/geom/flag/flag.map b/data/geom/flag/flag.map
new file mode 100644 (file)
index 0000000..74dc238
--- /dev/null
@@ -0,0 +1,4 @@
+{
+"classname" "worldspawn"
+"model" "geom/flag/flag.obj"
+}
diff --git a/data/geom/flag/flag.mtl b/data/geom/flag/flag.mtl
new file mode 100644 (file)
index 0000000..58b079a
--- /dev/null
@@ -0,0 +1,19 @@
+# Exported from Wings 3D 1.4.1\r
+newmtl mtrl/red\r
+Ns 100.0\r
+d 1.0\r
+illum 2\r
+Kd 1.0 0.0 0.0\r
+Ka 1.0 1.0 1.0\r
+Ks 1.0 1.0 1.0\r
+Ke 0.0 0.0 0.0\r
+\r
+newmtl mtrl/white\r
+Ns 100.0\r
+d 1.0\r
+illum 2\r
+Kd 1.0 1.0 1.0\r
+Ka 1.0 1.0 1.0\r
+Ks 1.0 1.0 1.0\r
+Ke 0.0 0.0 0.0\r
+\r
diff --git a/data/geom/flag/flag.obj b/data/geom/flag/flag.obj
new file mode 100644 (file)
index 0000000..bd738a2
--- /dev/null
@@ -0,0 +1,374 @@
+# Exported from Wings 3D 1.4.1\r
+mtllib flag.mtl\r
+o cylinder1\r
+#49 vertices, 94 faces\r
+v 1.2500000e-2 3.00000000 4.7772658e-19\r
+v 1.1548494e-2 3.00000000 4.7835429e-3\r
+v 8.8388348e-3 3.00000000 8.8388348e-3\r
+v 4.7835429e-3 3.00000000 1.1548494e-2\r
+v 6.4627287e-21 3.00000000 1.2500000e-2\r
+v -4.7835429e-3 3.00000000 1.1548494e-2\r
+v -8.8388348e-3 3.00000000 8.8388348e-3\r
+v -1.1548494e-2 3.00000000 4.7835429e-3\r
+v -1.2500000e-2 3.00000000 2.0085351e-18\r
+v -1.1548494e-2 3.00000000 -4.7835429e-3\r
+v -8.8388348e-3 3.00000000 -8.8388348e-3\r
+v -4.7835429e-3 3.00000000 -1.1548494e-2\r
+v -3.0551543e-18 3.00000000 -1.2500000e-2\r
+v 4.7835429e-3 3.00000000 -1.1548494e-2\r
+v 8.8388348e-3 3.00000000 -8.8388348e-3\r
+v 1.1548494e-2 3.00000000 -4.7835429e-3\r
+v 1.2500000e-2 0.0000000e+0 4.7772658e-19\r
+v 1.1548494e-2 0.0000000e+0 4.7835429e-3\r
+v 8.8388348e-3 0.0000000e+0 8.8388348e-3\r
+v 4.7835429e-3 0.0000000e+0 1.1548494e-2\r
+v 6.4627287e-21 0.0000000e+0 1.2500000e-2\r
+v -4.7835429e-3 0.0000000e+0 1.1548494e-2\r
+v -8.8388348e-3 0.0000000e+0 8.8388348e-3\r
+v -1.1548494e-2 0.0000000e+0 4.7835429e-3\r
+v -1.2500000e-2 0.0000000e+0 2.0085351e-18\r
+v -1.1548494e-2 0.0000000e+0 -4.7835429e-3\r
+v -8.8388348e-3 0.0000000e+0 -8.8388348e-3\r
+v -4.7835429e-3 0.0000000e+0 -1.1548494e-2\r
+v -3.0551543e-18 0.0000000e+0 -1.2500000e-2\r
+v 4.7835429e-3 0.0000000e+0 -1.1548494e-2\r
+v 8.8388348e-3 0.0000000e+0 -8.8388348e-3\r
+v 1.1548494e-2 0.0000000e+0 -4.7835429e-3\r
+v 1.2500000e-2 2.50335000 4.7772658e-19\r
+v 1.1548494e-2 2.50335000 4.7835429e-3\r
+v 8.8388348e-3 2.50335000 8.8388348e-3\r
+v 4.7835429e-3 2.50335000 1.1548494e-2\r
+v 6.4627287e-21 2.50335000 1.2500000e-2\r
+v -4.7835429e-3 2.50335000 1.1548494e-2\r
+v -8.8388348e-3 2.50335000 8.8388348e-3\r
+v -1.1548494e-2 2.50335000 4.7835429e-3\r
+v -1.2500000e-2 2.50335000 2.0085351e-18\r
+v -1.1548494e-2 2.50335000 -4.7835429e-3\r
+v -8.8388348e-3 2.50335000 -8.8388348e-3\r
+v -4.7835429e-3 2.50335000 -1.1548494e-2\r
+v -3.0551543e-18 2.50335000 -1.2500000e-2\r
+v 4.7835429e-3 2.50335000 -1.1548494e-2\r
+v 8.8388348e-3 2.50335000 -8.8388348e-3\r
+v 1.1548494e-2 2.50335000 -4.7835429e-3\r
+v 0.81374768 2.75167500 -2.1684043e-19\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.38268343 0.0000000e+0 0.92387953\r
+vn 9.1972853e-17 0.0000000e+0 1.00000000\r
+vn -0.38268343 0.0000000e+0 0.92387953\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.92387953 0.0000000e+0 0.38268343\r
+vn -1.00000000 0.0000000e+0 1.4149670e-17\r
+vn -0.92387953 0.0000000e+0 -0.38268343\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.38268343 0.0000000e+0 -0.92387953\r
+vn 7.0748349e-18 0.0000000e+0 -1.00000000\r
+vn 0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.29603158 0.95517815 -2.5370834e-15\r
+vn 0.29603158 0.95517815 -2.5370834e-15\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.83146961 0.0000000e+0 0.55557023\r
+vn 5.9629303e-3 0.0000000e+0 0.99998222\r
+vn 0.29551968 0.95352647 5.8782520e-2\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.38268343 0.0000000e+0 0.92387953\r
+vn 0.38268343 0.0000000e+0 0.92387953\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 7.7823184e-17 0.0000000e+0 1.00000000\r
+vn 8.4898018e-17 0.0000000e+0 1.00000000\r
+vn 0.0000000e+0 1.00000000 -6.3108872e-30\r
+vn 0.0000000e+0 1.00000000 -6.3108872e-30\r
+vn 0.0000000e+0 1.00000000 -6.3108872e-30\r
+vn 7.7823184e-17 0.0000000e+0 1.00000000\r
+vn 7.7823184e-17 0.0000000e+0 1.00000000\r
+vn -0.38268343 0.0000000e+0 0.92387953\r
+vn -0.38268343 0.0000000e+0 0.92387953\r
+vn 0.0000000e+0 1.00000000 2.6764936e-15\r
+vn 0.0000000e+0 1.00000000 2.6764936e-15\r
+vn 0.0000000e+0 1.00000000 2.6764936e-15\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn 0.0000000e+0 1.00000000 -3.7851336e-15\r
+vn 0.0000000e+0 1.00000000 -3.7851336e-15\r
+vn 0.0000000e+0 1.00000000 -3.7851336e-15\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.92387953 0.0000000e+0 0.38268343\r
+vn -0.92387953 0.0000000e+0 0.38268343\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn -1.00000000 0.0000000e+0 -7.0748349e-18\r
+vn -1.00000000 0.0000000e+0 7.0748349e-18\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn -1.00000000 0.0000000e+0 -7.0748349e-18\r
+vn -1.00000000 0.0000000e+0 0.0000000e+0\r
+vn -0.92387953 0.0000000e+0 -0.38268343\r
+vn -0.92387953 0.0000000e+0 -0.38268343\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.0000000e+0 1.00000000 -1.6132136e-14\r
+vn 0.0000000e+0 1.00000000 -1.6132136e-14\r
+vn 0.0000000e+0 1.00000000 -1.6132136e-14\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.38268343 0.0000000e+0 -0.92387953\r
+vn -0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.0000000e+0 1.00000000 -3.7851336e-15\r
+vn 0.0000000e+0 1.00000000 -3.7851336e-15\r
+vn 0.0000000e+0 1.00000000 -3.7851336e-15\r
+vn -9.9047688e-17 0.0000000e+0 -1.00000000\r
+vn -9.9047688e-17 0.0000000e+0 -1.00000000\r
+vn 0.0000000e+0 1.00000000 -6.3108872e-30\r
+vn 0.0000000e+0 1.00000000 -6.3108872e-30\r
+vn 0.0000000e+0 1.00000000 -6.3108872e-30\r
+vn -9.9047688e-17 0.0000000e+0 -1.00000000\r
+vn -9.9047688e-17 0.0000000e+0 -1.00000000\r
+vn 0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.0000000e+0 1.00000000 9.6705086e-15\r
+vn 0.0000000e+0 1.00000000 9.6705086e-15\r
+vn 0.0000000e+0 1.00000000 9.6705086e-15\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.83146961 0.0000000e+0 -0.55557023\r
+vn 0.29551968 0.95352647 -5.8782520e-2\r
+vn 5.9629303e-3 0.0000000e+0 -0.99998222\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 1.00000000 0.0000000e+0\r
+vn 1.00000000 0.0000000e+0 -2.0517021e-16\r
+vn 1.00000000 0.0000000e+0 -2.0517021e-16\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 1.00000000 0.0000000e+0 -2.0517021e-16\r
+vn 1.00000000 0.0000000e+0 -2.0517021e-16\r
+vn 0.92387953 0.0000000e+0 0.38268343\r
+vn 0.92387953 0.0000000e+0 0.38268343\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.70710678 0.0000000e+0 0.70710678\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.38268343 0.0000000e+0 0.92387953\r
+vn 0.38268343 0.0000000e+0 0.92387953\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 2.1224505e-17 0.0000000e+0 1.00000000\r
+vn 3.5374174e-17 0.0000000e+0 1.00000000\r
+vn 2.8299339e-17 0.0000000e+0 1.00000000\r
+vn 2.1224505e-17 0.0000000e+0 1.00000000\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -0.38268343 0.0000000e+0 0.92387953\r
+vn -0.38268343 0.0000000e+0 0.92387953\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.70710678 0.0000000e+0 0.70710678\r
+vn -0.92387953 0.0000000e+0 0.38268343\r
+vn -0.92387953 0.0000000e+0 0.38268343\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -1.00000000 0.0000000e+0 0.0000000e+0\r
+vn -1.00000000 0.0000000e+0 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -1.00000000 0.0000000e+0 0.0000000e+0\r
+vn -1.00000000 0.0000000e+0 0.0000000e+0\r
+vn -0.92387953 0.0000000e+0 -0.38268343\r
+vn -0.92387953 0.0000000e+0 -0.38268343\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.70710678 0.0000000e+0 -0.70710678\r
+vn -0.38268343 0.0000000e+0 -0.92387953\r
+vn -0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -1.1319736e-16 0.0000000e+0 -1.00000000\r
+vn -1.2027219e-16 0.0000000e+0 -1.00000000\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn -1.2027219e-16 0.0000000e+0 -1.00000000\r
+vn -1.1319736e-16 0.0000000e+0 -1.00000000\r
+vn 0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.38268343 0.0000000e+0 -0.92387953\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.70710678 0.0000000e+0 -0.70710678\r
+vn 0.92387953 0.0000000e+0 -0.38268343\r
+vn 0.92387953 0.0000000e+0 -0.38268343\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.0000000e+0 -1.00000000 0.0000000e+0\r
+vn 0.29603158 -0.95517815 2.2069150e-15\r
+vn 0.29603158 -0.95517815 2.2069150e-15\r
+vn 1.00000000 0.0000000e+0 -2.2639472e-16\r
+vn 1.00000000 0.0000000e+0 -2.2639472e-16\r
+vn 0.89653751 0.0000000e+0 0.44296783\r
+vn 5.9629303e-3 0.0000000e+0 0.99998222\r
+vn 0.89653751 0.0000000e+0 0.44296783\r
+vn 0.89653751 0.0000000e+0 0.44296783\r
+vn 0.29551968 -0.95352647 5.8782520e-2\r
+vn 0.89653751 0.0000000e+0 0.44296783\r
+vn 0.89653751 0.0000000e+0 0.44296783\r
+vn 0.89653751 0.0000000e+0 0.44296783\r
+vn 0.29551968 -0.95352647 -5.8782520e-2\r
+vn 0.89653751 0.0000000e+0 -0.44296783\r
+vn 0.89653751 0.0000000e+0 -0.44296783\r
+vn 0.89653751 0.0000000e+0 -0.44296783\r
+vn 5.9629303e-3 0.0000000e+0 -0.99998222\r
+vn 0.89653751 0.0000000e+0 -0.44296783\r
+vn 0.89653751 0.0000000e+0 -0.44296783\r
+vn 0.89653751 0.0000000e+0 -0.44296783\r
+vn 0.29603158 -0.95517815 2.2069150e-15\r
+vn 5.9629303e-3 0.0000000e+0 0.99998222\r
+vn 0.29603158 0.95517815 -2.5370834e-15\r
+vn 0.29603158 0.95517815 -2.5370834e-15\r
+vn 5.9629303e-3 0.0000000e+0 -0.99998222\r
+vn 0.29603158 -0.95517815 2.2069150e-15\r
+g cylinder1_mtrl/red\r
+usemtl mtrl/red\r
+s 1\r
+f 16//101 49//218 48//210\r
+f 34//199 49//215 2//19\r
+s 2\r
+f 1//16 49//217 16//100\r
+f 2//20 49//216 1//15\r
+f 33//195 49//219 34//202\r
+f 48//206 49//214 33//194\r
+g cylinder1_mtrl/white\r
+usemtl mtrl/white\r
+s 1\r
+f 1//14 16//98 2//17\r
+f 2//21 16//103 3//25\r
+f 3//26 15//95 4//32\r
+f 4//33 14//90 5//37\r
+f 5//38 13//83 6//44\r
+f 6//45 12//78 7//49\r
+f 7//50 11//71 8//56\r
+f 8//57 10//66 9//60\r
+f 10//65 8//55 11//70\r
+f 11//69 7//48 12//77\r
+f 12//76 6//43 13//82\r
+f 13//81 5//36 14//89\r
+f 14//88 4//31 15//94\r
+f 15//93 3//24 16//102\r
+f 17//108 25//153 32//192\r
+f 18//115 24//147 17//106\r
+f 19//120 23//140 18//113\r
+f 20//126 22//135 19//118\r
+f 21//127 22//132 20//123\r
+f 23//139 19//119 22//136\r
+f 24//146 18//114 23//141\r
+f 25//152 17//107 24//148\r
+f 26//158 32//191 25//151\r
+f 27//163 31//184 26//159\r
+f 28//171 30//180 27//164\r
+f 29//174 30//179 28//170\r
+f 31//186 27//165 30//181\r
+f 32//193 26//160 31//185\r
+s 3\r
+f 3//23 34//198 2//18\r
+f 3//27 36//2 35//1\r
+f 4//30 36//2 3//22\r
+f 5//35 36//2 4//29\r
+f 5//39 38//4 37//3\r
+f 6//42 38//4 5//34\r
+f 7//47 38//4 6//41\r
+f 7//51 40//6 39//5\r
+f 8//54 40//6 7//46\r
+f 9//59 40//6 8//53\r
+f 9//61 42//8 41//7\r
+f 10//64 42//8 9//58\r
+f 11//68 42//8 10//63\r
+f 11//72 44//10 43//9\r
+f 12//75 44//10 11//67\r
+f 13//80 44//10 12//74\r
+f 13//84 46//12 45//11\r
+f 14//87 46//12 13//79\r
+f 15//92 46//12 14//86\r
+f 15//96 48//211 47//13\r
+f 16//99 48//207 15//91\r
+f 17//105 34//201 18//112\r
+f 17//110 48//212 33//197\r
+f 18//111 34//200 19//117\r
+f 19//121 34//204 35//1\r
+f 19//116 36//2 20//125\r
+f 20//124 36//2 21//129\r
+f 21//130 36//2 37//3\r
+f 21//128 38//4 22//134\r
+f 22//133 38//4 23//138\r
+f 23//142 38//4 39//5\r
+f 23//137 40//6 24//145\r
+f 24//144 40//6 25//150\r
+f 25//154 40//6 41//7\r
+f 25//149 42//8 26//157\r
+f 26//156 42//8 27//162\r
+f 27//166 42//8 43//9\r
+f 27//161 44//10 28//169\r
+f 28//168 44//10 29//173\r
+f 29//175 44//10 45//11\r
+f 29//172 46//12 30//178\r
+f 30//177 46//12 31//183\r
+f 31//187 46//12 47//13\r
+f 31//182 48//209 32//190\r
+f 32//189 48//208 17//104\r
+f 33//196 34//205 17//109\r
+f 35//1 34//203 3//28\r
+f 35//1 36//2 19//122\r
+f 37//3 36//2 5//40\r
+f 37//3 38//4 21//131\r
+f 39//5 38//4 7//52\r
+f 39//5 40//6 23//143\r
+f 41//7 40//6 9//62\r
+f 41//7 42//8 25//155\r
+f 43//9 42//8 11//73\r
+f 43//9 44//10 27//167\r
+f 45//11 44//10 13//85\r
+f 45//11 46//12 29//176\r
+f 47//13 46//12 15//97\r
+f 47//13 48//213 31//188\r
diff --git a/data/geom/flag/flag.wings b/data/geom/flag/flag.wings
new file mode 100644 (file)
index 0000000..d330bd8
Binary files /dev/null and b/data/geom/flag/flag.wings differ
index 57113ae..6649767 100644 (file)
@@ -3,5 +3,5 @@
 0.000000 0.000000 0.000000 0.000000
 0.000000 0.000000 0.000000 0.000000
 10.000000
-1
+33
 45.000000
index 52d2209..04bbb2b 100644 (file)
Binary files a/data/geom/goal/goal.png and b/data/geom/goal/goal.png differ
index 1077e09..efc2eb8 100644 (file)
Binary files a/data/geom/goal/goal.sol and b/data/geom/goal/goal.sol differ
index 094e85d..634a369 100644 (file)
@@ -3,5 +3,5 @@
 0.000000 0.000000 0.000000 1.000000
 0.000000 0.000000 0.000000 1.000000
 0.000000
-98
+114
 45.000000
index 094e85d..634a369 100644 (file)
@@ -3,5 +3,5 @@
 0.000000 0.000000 0.000000 1.000000
 0.000000 0.000000 0.000000 1.000000
 0.000000
-98
+114
 45.000000
index 094e85d..634a369 100644 (file)
@@ -3,5 +3,5 @@
 0.000000 0.000000 0.000000 1.000000
 0.000000 0.000000 0.000000 1.000000
 0.000000
-98
+114
 45.000000
index 094e85d..634a369 100644 (file)
@@ -3,5 +3,5 @@
 0.000000 0.000000 0.000000 1.000000
 0.000000 0.000000 0.000000 1.000000
 0.000000
-98
+114
 45.000000
index 094e85d..634a369 100644 (file)
@@ -3,5 +3,5 @@
 0.000000 0.000000 0.000000 1.000000
 0.000000 0.000000 0.000000 1.000000
 0.000000
-98
+114
 45.000000
index b3d11c3..b992f9a 100644 (file)
@@ -307,9 +307,7 @@ static int conf_buttn(int b, int d)
 static int null_enter(struct state *st, struct state *prev)
 {
     gui_free();
-    swch_free();
-    jump_free();
-    flag_free();
+    geom_free();
     mark_free();
     ball_free();
     shad_free();
@@ -322,9 +320,7 @@ static void null_leave(struct state *st, struct state *next, int id)
     shad_init();
     ball_init();
     mark_init();
-    flag_init();
-    jump_init();
-    swch_init();
+    geom_init();
     gui_init();
 }
 
index 3ec04bf..3f07dc0 100644 (file)
 
 /*---------------------------------------------------------------------------*/
 
+static struct s_full beam;
+static struct s_full flag;
+
+void geom_init(void)
+{
+    sol_load_full(&beam, "geom/beam/beam.sol", 0);
+    sol_load_full(&flag, "geom/flag/flag.sol", 0);
+}
+
+void geom_free(void)
+{
+    sol_free_full(&flag);
+    sol_free_full(&beam);
+}
+
+/*---------------------------------------------------------------------------*/
+
+void goal_draw(void)
+{
+    glPushMatrix();
+    {
+        glScalef(1.0f, 3.0f, 1.0f);
+
+        glColor4f(1.0f, 1.0f, 0.0f, 0.5f);
+        sol_draw(&beam.draw, 1, 1);
+        glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
+    }
+    glPopMatrix();
+}
+
+void jump_draw(int highlight)
+{
+    static GLfloat jump_colors[4][4] = {
+        { 0.75f, 0.5f, 1.0f, 0.5f },
+        { 0.75f, 0.5f, 1.0f, 0.8f },
+    };
+
+    glPushMatrix();
+    {
+        glScalef(1.0f, 2.0f, 1.0f);
+
+        glColor4fv(jump_colors[highlight]);
+        sol_draw(&beam.draw, 1, 1);
+        glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
+    }
+    glPopMatrix();
+}
+
+void swch_draw(int b, int e)
+{
+    static GLfloat swch_colors[4][4] = {
+        { 1.0f, 0.0f, 0.0f, 0.5f }, /* red out */
+        { 1.0f, 0.0f, 0.0f, 0.8f }, /* red in */
+        { 0.0f, 1.0f, 0.0f, 0.5f }, /* green out */
+        { 0.0f, 1.0f, 0.0f, 0.8f }, /* green in */
+    };
+
+    glPushMatrix();
+    {
+        glScalef(1.0f, 2.0f, 1.0f);
+
+        glColor4fv(swch_colors[b * 2 + e]);
+        sol_draw(&beam.draw, 1, 1);
+        glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
+    }
+    glPopMatrix();
+}
+
+void flag_draw(void)
+{
+    sol_draw(&flag.draw, 1, 1);
+}
+
+/*---------------------------------------------------------------------------*/
+
 static GLuint mark_list;
 
 void mark_init(void)
@@ -80,130 +155,7 @@ void mark_free(void)
 }
 
 /*---------------------------------------------------------------------------*/
-
-static struct s_full geom_goal;
-
-void goal_init(void)
-{
-    sol_load_full(&geom_goal, "geom/goal/goal.sol", 0);
-}
-
-void goal_free(void)
-{
-    sol_free_full(&geom_goal);
-}
-
-void goal_draw(void)
-{
-    sol_draw(&geom_goal.draw, 1, 1);
-}
-
-/*---------------------------------------------------------------------------*/
-
-static GLuint jump_list;
-
-void jump_init(void)
-{
-    int k, i, n = 32;
-
-    jump_list = glGenLists(2);
-
-    for (k = 0; k < 2; k++)
-    {
-        glNewList(jump_list + k, GL_COMPILE);
-        {
-            glBegin(GL_QUAD_STRIP);
-            {
-                for (i = 0; i <= n; i++)
-                {
-                    float x = fcosf(2.f * PI * i / n);
-                    float y = fsinf(2.f * PI * i / n);
-
-                    glColor4f(0.75f, 0.5f, 1.0f, (k == 0 ? 0.5f : 0.8f));
-                    glVertex3f(x, 0.0f, y);
-
-                    glColor4f(1.0f, 1.0f, 1.0f, 0.0f);
-                    glVertex3f(x, JUMP_HEIGHT, y);
-                }
-            }
-            glEnd();
-        }
-        glEndList();
-    }
-}
-
-void jump_free(void)
-{
-    glDeleteLists(jump_list, 2);
-    jump_list = 0;
-}
-
-void jump_draw(int highlight)
-{
-    glCallList(jump_list + highlight);
-}
-
-/*---------------------------------------------------------------------------*/
-
-static GLuint swch_list;
-
-static GLfloat swch_colors[8][4] = {
-    { 1.0f, 0.0f, 0.0f, 0.5f }, /* red out */
-    { 1.0f, 0.0f, 0.0f, 0.0f },
-    { 1.0f, 0.0f, 0.0f, 0.8f }, /* red in */
-    { 1.0f, 0.0f, 0.0f, 0.0f },
-    { 0.0f, 1.0f, 0.0f, 0.5f }, /* green out */
-    { 0.0f, 1.0f, 0.0f, 0.0f },
-    { 0.0f, 1.0f, 0.0f, 0.8f }, /* green in */
-    { 0.0f, 1.0f, 0.0f, 0.0f }};
-
-void swch_init(void)
-{
-    int k, i, n = 32;
-
-    swch_list = glGenLists(4);
-
-    /* Create the display lists. */
-
-    for (k = 0; k < 4; k++)
-    {
-        glNewList(swch_list + k, GL_COMPILE);
-        {
-            glBegin(GL_QUAD_STRIP);
-            {
-                for (i = 0; i <= n; i++)
-                {
-                    float x = fcosf(2.f * PI * i / n);
-                    float y = fsinf(2.f * PI * i / n);
-
-                    glColor4fv(swch_colors[2 * k + 0]);
-                    glVertex3f(x, 0.0f, y);
-
-                    glColor4fv(swch_colors[2 * k + 1]);
-                    glVertex3f(x, SWCH_HEIGHT, y);
-                }
-            }
-            glEnd();
-        }
-        glEndList();
-    }
-}
-
-void swch_free(void)
-{
-    if (glIsList(swch_list))
-        glDeleteLists(swch_list, 4);
-
-    swch_list = 0;
-}
-
-void swch_draw(int b, int e)
-{
-    glCallList(swch_list + b * 2 + e);
-}
-
-/*---------------------------------------------------------------------------*/
-
+/*
 static GLuint flag_list;
 
 void flag_init(void)
@@ -265,7 +217,7 @@ void flag_draw(void)
 {
     glCallList(flag_list);
 }
-
+*/
 /*---------------------------------------------------------------------------*/
 
 static GLuint clip_text;
index 4d34073..345ce65 100644 (file)
 
 /*---------------------------------------------------------------------------*/
 
-void mark_init(void);
-void mark_free(void);
-void mark_draw(void);
-
-/*---------------------------------------------------------------------------*/
+void geom_init(void);
+void geom_free(void);
 
-void goal_init(void);
-void goal_free(void);
 void goal_draw(void);
-
-/*---------------------------------------------------------------------------*/
-
-void jump_init(void);
-void jump_free(void);
 void jump_draw(int);
-
-/*---------------------------------------------------------------------------*/
-
-void swch_init(void);
-void swch_free(void);
 void swch_draw(int, int);
+void flag_draw(void);
 
 /*---------------------------------------------------------------------------*/
 
-void flag_init(void);
-void flag_free(void);
-void flag_draw(void);
+void mark_init(void);
+void mark_free(void);
+void mark_draw(void);
 
 /*---------------------------------------------------------------------------*/
 
index f7b3977..5044a1e 100644 (file)
@@ -1072,7 +1072,7 @@ static void make_bill(struct s_base *fp,
         if (strcmp(k[i], "image") == 0)
         {
             rp->mi = read_mtrl(fp, v[i]);
-            fp->mv[rp->mi].fl |= M_CLAMPED;
+            fp->mv[rp->mi].fl |= M_CLAMP_S | M_CLAMP_T;
         }
 
         if (strcmp(k[i], "origin") == 0)
index 1583f67..914638c 100644 (file)
@@ -389,6 +389,8 @@ void part_draw_goal(const float *M, float radius, float a, float t)
         if (part_goal[i].t > 0.0f)
             part_draw(M, part_goal[i].p, radius - 0.05f,
                       t * part_goal[i].w, 1.0f);
+
+    glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
 }
 
 void part_draw_jump(const float *M, float radius, float a, float t)
index 25b091a..4e3241a 100644 (file)
 #define M_TRANSPARENT  2
 #define M_REFLECTIVE   4
 #define M_ENVIRONMENT  8
-#define M_ADDITIVE    16
-#define M_CLAMPED     32
+#define M_CLAMP_S     16
+#define M_CLAMP_T     32
 #define M_DECAL       64
 #define M_TWO_SIDED  128
 #define M_SHADOWED   256
+#define M_ADDITIVE   512
 
 /* Billboard types. */
 
index 14fb8f6..ef14c34 100644 (file)
@@ -291,16 +291,15 @@ static void sol_load_mtrl(struct d_mtrl *mp,
     {
         /* Set the texture to clamp or repeat based on material type. */
 
-        if (mq->fl & M_CLAMPED)
-        {
-            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
-        }
+        if (mq->fl & M_CLAMP_S)
+            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
         else
-        {
             glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
+
+        if (mq->fl & M_CLAMP_T)
+            glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+        else
             glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
-        }
 
         /* If at least one material is reflective, mark it in the SOL. */