From 41742af40cda4e2d8b7828adfbaa90f25816b0ca Mon Sep 17 00:00:00 2001 From: rlk Date: Thu, 31 Mar 2011 22:03:01 +0000 Subject: [PATCH] Sketched in possible alternatives for jump and goal particles. git-svn-id: https://s.snth.net/svn/neverball/branches/gles@3545 78b8d119-cf0a-0410-b17c-f493084dd1d7 --- ball/game_draw.c | 8 +- data/geom/goal/goal | 7 + data/geom/goal/goal.map | 4 + data/geom/goal/goal.mtl | 20 ++ data/geom/goal/goal.obj | 521 +++++++++++++++++++++++++++++++++++++++++++++ data/geom/goal/goal.png | Bin 0 -> 4282 bytes data/geom/goal/goal.wings | Bin 0 -> 6038 bytes data/geom/jump/jump | 7 + data/geom/jump/jump.map | 4 + data/geom/jump/jump.mtl | 20 ++ data/geom/jump/jump.obj | 521 +++++++++++++++++++++++++++++++++++++++++++++ data/geom/jump/jump.png | Bin 0 -> 4365 bytes data/geom/jump/jump.wings | Bin 0 -> 6237 bytes share/geom.c | 56 ++++- share/solid_draw.c | 20 +- 15 files changed, 1167 insertions(+), 21 deletions(-) create mode 100644 data/geom/goal/goal create mode 100644 data/geom/goal/goal.map create mode 100644 data/geom/goal/goal.mtl create mode 100644 data/geom/goal/goal.obj create mode 100644 data/geom/goal/goal.png create mode 100644 data/geom/goal/goal.wings create mode 100644 data/geom/jump/jump create mode 100644 data/geom/jump/jump.map create mode 100644 data/geom/jump/jump.mtl create mode 100644 data/geom/jump/jump.obj create mode 100644 data/geom/jump/jump.png create mode 100644 data/geom/jump/jump.wings diff --git a/ball/game_draw.c b/ball/game_draw.c index f166ae4..503b07b 100644 --- a/ball/game_draw.c +++ b/ball/game_draw.c @@ -132,7 +132,7 @@ static void game_draw_goals(const struct game_draw *gd, int zi; /* Draw the goal particles. */ - +/* for (zi = 0; zi < base->zc; zi++) { glPushMatrix(); @@ -145,7 +145,7 @@ static void game_draw_goals(const struct game_draw *gd, } glPopMatrix(); } - +*/ /* Draw the goal column. */ for (zi = 0; zi < base->zc; zi++) @@ -173,7 +173,7 @@ static void game_draw_jumps(const struct game_draw *gd, const struct s_base *base = gd->vary.base; int ji; - +/* for (ji = 0; ji < base->jc; ji++) { glPushMatrix(); @@ -186,7 +186,7 @@ static void game_draw_jumps(const struct game_draw *gd, } glPopMatrix(); } - +*/ for (ji = 0; ji < base->jc; ji++) { glPushMatrix(); diff --git a/data/geom/goal/goal b/data/geom/goal/goal new file mode 100644 index 0000000..0379dd6 --- /dev/null +++ b/data/geom/goal/goal @@ -0,0 +1,7 @@ +0.8 0.8 0.8 1.0 +0.2 0.2 0.2 1.0 +0.0 0.0 0.0 1.0 +0.0 0.0 0.0 1.0 +0.0 +additive transparent two-sided +45.0 diff --git a/data/geom/goal/goal.map b/data/geom/goal/goal.map new file mode 100644 index 0000000..c94e8a2 --- /dev/null +++ b/data/geom/goal/goal.map @@ -0,0 +1,4 @@ +{ +"classname" "worldspawn" +"model" "geom/goal/goal.obj" +} diff --git a/data/geom/goal/goal.mtl b/data/geom/goal/goal.mtl new file mode 100644 index 0000000..052b0b3 --- /dev/null +++ b/data/geom/goal/goal.mtl @@ -0,0 +1,20 @@ +# Exported from Wings 3D 1.4.1 +newmtl default +Ns 100.0 +d 1.0 +illum 2 +Kd 1.0 1.0 1.0 +Ka 1.0 1.0 1.0 +Ks 1.0 1.0 1.0 +Ke 0.0 0.0 0.0 + +newmtl geom/goal/goal +Ns 100.0 +d 1.0 +illum 2 +Kd 1.0 1.0 1.0 +Ka 1.0 1.0 1.0 +Ks 1.0 1.0 1.0 +Ke 0.0 0.0 0.0 +map_Kd goal.png + diff --git a/data/geom/goal/goal.obj b/data/geom/goal/goal.obj new file mode 100644 index 0000000..4312787 --- /dev/null +++ b/data/geom/goal/goal.obj @@ -0,0 +1,521 @@ +# Exported from Wings 3D 1.4.1 +mtllib goal.mtl +o cylinder1 +#128 vertices, 128 faces +v 1.00000000 1.00000000 3.6768006e-17 +v 0.99518473 1.00000000 9.8017140e-2 +v 0.98078528 1.00000000 0.19509032 +v 0.95694034 1.00000000 0.29028468 +v 0.92387953 1.00000000 0.38268343 +v 0.88192126 1.00000000 0.47139674 +v 0.83146961 1.00000000 0.55557023 +v 0.77301045 1.00000000 0.63439328 +v 0.70710678 1.00000000 0.70710678 +v 0.63439328 1.00000000 0.77301045 +v 0.55557023 1.00000000 0.83146961 +v 0.47139674 1.00000000 0.88192126 +v 0.38268343 1.00000000 0.92387953 +v 0.29028468 1.00000000 0.95694034 +v 0.19509032 1.00000000 0.98078528 +v 9.8017140e-2 1.00000000 0.99518473 +v 9.5926809e-17 1.00000000 1.00000000 +v -9.8017140e-2 1.00000000 0.99518473 +v -0.19509032 1.00000000 0.98078528 +v -0.29028468 1.00000000 0.95694034 +v -0.38268343 1.00000000 0.92387953 +v -0.47139674 1.00000000 0.88192126 +v -0.55557023 1.00000000 0.83146961 +v -0.63439328 1.00000000 0.77301045 +v -0.70710678 1.00000000 0.70710678 +v -0.77301045 1.00000000 0.63439328 +v -0.83146961 1.00000000 0.55557023 +v -0.88192126 1.00000000 0.47139674 +v -0.92387953 1.00000000 0.38268343 +v -0.95694034 1.00000000 0.29028468 +v -0.98078528 1.00000000 0.19509032 +v -0.99518473 1.00000000 9.8017140e-2 +v -1.00000000 1.00000000 1.5923269e-16 +v -0.99518473 1.00000000 -9.8017140e-2 +v -0.98078528 1.00000000 -0.19509032 +v -0.95694034 1.00000000 -0.29028468 +v -0.92387953 1.00000000 -0.38268343 +v -0.88192126 1.00000000 -0.47139674 +v -0.83146961 1.00000000 -0.55557023 +v -0.77301045 1.00000000 -0.63439328 +v -0.70710678 1.00000000 -0.70710678 +v -0.63439328 1.00000000 -0.77301045 +v -0.55557023 1.00000000 -0.83146961 +v -0.47139674 1.00000000 -0.88192126 +v -0.38268343 1.00000000 -0.92387953 +v -0.29028468 1.00000000 -0.95694034 +v -0.19509032 1.00000000 -0.98078528 +v -9.8017140e-2 1.00000000 -0.99518473 +v -1.4900255e-16 1.00000000 -1.00000000 +v 9.8017140e-2 1.00000000 -0.99518473 +v 0.19509032 1.00000000 -0.98078528 +v 0.29028468 1.00000000 -0.95694034 +v 0.38268343 1.00000000 -0.92387953 +v 0.47139674 1.00000000 -0.88192126 +v 0.55557023 1.00000000 -0.83146961 +v 0.63439328 1.00000000 -0.77301045 +v 0.70710678 1.00000000 -0.70710678 +v 0.77301045 1.00000000 -0.63439328 +v 0.83146961 1.00000000 -0.55557023 +v 0.88192126 1.00000000 -0.47139674 +v 0.92387953 1.00000000 -0.38268343 +v 0.95694034 1.00000000 -0.29028468 +v 0.98078528 1.00000000 -0.19509032 +v 0.99518473 1.00000000 -9.8017140e-2 +v 1.00000000 0.0000000e+0 4.7704896e-17 +v 0.99518473 0.0000000e+0 9.8017140e-2 +v 0.98078528 0.0000000e+0 0.19509032 +v 0.95694034 0.0000000e+0 0.29028468 +v 0.92387953 0.0000000e+0 0.38268343 +v 0.88192126 0.0000000e+0 0.47139674 +v 0.83146961 0.0000000e+0 0.55557023 +v 0.77301045 0.0000000e+0 0.63439328 +v 0.70710678 0.0000000e+0 0.70710678 +v 0.63439328 0.0000000e+0 0.77301045 +v 0.55557023 0.0000000e+0 0.83146961 +v 0.47139674 0.0000000e+0 0.88192126 +v 0.38268343 0.0000000e+0 0.92387953 +v 0.29028468 0.0000000e+0 0.95694034 +v 0.19509032 0.0000000e+0 0.98078528 +v 9.8017140e-2 0.0000000e+0 0.99518473 +v 7.8579575e-17 0.0000000e+0 1.00000000 +v -9.8017140e-2 0.0000000e+0 0.99518473 +v -0.19509032 0.0000000e+0 0.98078528 +v -0.29028468 0.0000000e+0 0.95694034 +v -0.38268343 0.0000000e+0 0.92387953 +v -0.47139674 0.0000000e+0 0.88192126 +v -0.55557023 0.0000000e+0 0.83146961 +v -0.63439328 0.0000000e+0 0.77301045 +v -0.70710678 0.0000000e+0 0.70710678 +v -0.77301045 0.0000000e+0 0.63439328 +v -0.83146961 0.0000000e+0 0.55557023 +v -0.88192126 0.0000000e+0 0.47139674 +v -0.92387953 0.0000000e+0 0.38268343 +v -0.95694034 0.0000000e+0 0.29028468 +v -0.98078528 0.0000000e+0 0.19509032 +v -0.99518473 0.0000000e+0 9.8017140e-2 +v -1.00000000 0.0000000e+0 1.7016958e-16 +v -0.99518473 0.0000000e+0 -9.8017140e-2 +v -0.98078528 0.0000000e+0 -0.19509032 +v -0.95694034 0.0000000e+0 -0.29028468 +v -0.92387953 0.0000000e+0 -0.38268343 +v -0.88192126 0.0000000e+0 -0.47139674 +v -0.83146961 0.0000000e+0 -0.55557023 +v -0.77301045 0.0000000e+0 -0.63439328 +v -0.70710678 0.0000000e+0 -0.70710678 +v -0.63439328 0.0000000e+0 -0.77301045 +v -0.55557023 0.0000000e+0 -0.83146961 +v -0.47139674 0.0000000e+0 -0.88192126 +v -0.38268343 0.0000000e+0 -0.92387953 +v -0.29028468 0.0000000e+0 -0.95694034 +v -0.19509032 0.0000000e+0 -0.98078528 +v -9.8017140e-2 0.0000000e+0 -0.99518473 +v -1.6634979e-16 0.0000000e+0 -1.00000000 +v 9.8017140e-2 0.0000000e+0 -0.99518473 +v 0.19509032 0.0000000e+0 -0.98078528 +v 0.29028468 0.0000000e+0 -0.95694034 +v 0.38268343 0.0000000e+0 -0.92387953 +v 0.47139674 0.0000000e+0 -0.88192126 +v 0.55557023 0.0000000e+0 -0.83146961 +v 0.63439328 0.0000000e+0 -0.77301045 +v 0.70710678 0.0000000e+0 -0.70710678 +v 0.77301045 0.0000000e+0 -0.63439328 +v 0.83146961 0.0000000e+0 -0.55557023 +v 0.88192126 0.0000000e+0 -0.47139674 +v 0.92387953 0.0000000e+0 -0.38268343 +v 0.95694034 0.0000000e+0 -0.29028468 +v 0.98078528 0.0000000e+0 -0.19509032 +v 0.99518473 0.0000000e+0 -9.8017140e-2 +vt -1.1045018e-15 0.42500000 +vt 2.4482118e-15 0.57500000 +vt 1.5625000e-2 0.57500000 +vt 1.5625000e-2 0.42500000 +vt 3.1250000e-2 0.42500000 +vt 3.1250000e-2 0.57500000 +vt 4.6875000e-2 0.57500000 +vt 4.6875000e-2 0.42500000 +vt 6.2500000e-2 0.42500000 +vt 6.2500000e-2 0.57500000 +vt 7.8125000e-2 0.57500000 +vt 7.8125000e-2 0.42500000 +vt 9.3750000e-2 0.42500000 +vt 9.3750000e-2 0.57500000 +vt 0.10937500 0.57500000 +vt 0.10937500 0.42500000 +vt 0.12500000 0.42500000 +vt 0.12500000 0.57500000 +vt 0.14062500 0.42500000 +vt 0.14062500 0.57500000 +vt 0.15625000 0.42500000 +vt 0.15625000 0.57500000 +vt 0.17187500 0.42500000 +vt 0.17187500 0.57500000 +vt 0.18750000 0.42500000 +vt 0.18750000 0.57500000 +vt 0.20312500 0.42500000 +vt 0.20312500 0.57500000 +vt 0.21875000 0.42500000 +vt 0.21875000 0.57500000 +vt 0.23437500 0.42500000 +vt 0.23437500 0.57500000 +vt 0.25000000 0.42500000 +vt 0.25000000 0.57500000 +vt 0.26562500 0.57500000 +vt 0.26562500 0.42500000 +vt 0.28125000 0.42500000 +vt 0.28125000 0.57500000 +vt 0.29687500 0.42500000 +vt 0.29687500 0.57500000 +vt 0.31250000 0.42500000 +vt 0.31250000 0.57500000 +vt 0.32812500 0.57500000 +vt 0.32812500 0.42500000 +vt 0.34375000 0.42500000 +vt 0.34375000 0.57500000 +vt 0.35937500 0.42500000 +vt 0.35937500 0.57500000 +vt 0.37500000 0.42500000 +vt 0.37500000 0.57500000 +vt 0.39062500 0.42500000 +vt 0.39062500 0.57500000 +vt 0.40625000 0.42500000 +vt 0.40625000 0.57500000 +vt 0.42187500 0.42500000 +vt 0.42187500 0.57500000 +vt 0.43750000 0.42500000 +vt 0.43750000 0.57500000 +vt 0.45312500 0.57500000 +vt 0.45312500 0.42500000 +vt 0.46875000 0.42500000 +vt 0.46875000 0.57500000 +vt 0.48437500 0.57500000 +vt 0.48437500 0.42500000 +vt 0.50000000 0.42500000 +vt 0.50000000 0.57500000 +vt 0.51562500 0.42500000 +vt 0.51562500 0.57500000 +vt 0.53125000 0.42500000 +vt 0.53125000 0.57500000 +vt 0.54687500 0.42500000 +vt 0.54687500 0.57500000 +vt 0.56250000 0.42500000 +vt 0.56250000 0.57500000 +vt 0.57812500 0.42500000 +vt 0.57812500 0.57500000 +vt 0.59375000 0.42500000 +vt 0.59375000 0.57500000 +vt 0.60937500 0.42500000 +vt 0.60937500 0.57500000 +vt 0.62500000 0.42500000 +vt 0.62500000 0.57500000 +vt 0.64062500 0.42500000 +vt 0.64062500 0.57500000 +vt 0.65625000 0.42500000 +vt 0.65625000 0.57500000 +vt 0.67187500 0.57500000 +vt 0.67187500 0.42500000 +vt 0.68750000 0.42500000 +vt 0.68750000 0.57500000 +vt 0.70312500 0.57500000 +vt 0.70312500 0.42500000 +vt 0.71875000 0.42500000 +vt 0.71875000 0.57500000 +vt 0.73437500 0.57500000 +vt 0.73437500 0.42500000 +vt 0.75000000 0.42500000 +vt 0.75000000 0.57500000 +vt 0.76562500 0.57500000 +vt 0.76562500 0.42500000 +vt 0.78125000 0.42500000 +vt 0.78125000 0.57500000 +vt 0.79687500 0.57500000 +vt 0.79687500 0.42500000 +vt 0.81250000 0.42500000 +vt 0.81250000 0.57500000 +vt 0.82812500 0.57500000 +vt 0.82812500 0.42500000 +vt 0.84375000 0.42500000 +vt 0.84375000 0.57500000 +vt 0.85937500 0.57500000 +vt 0.85937500 0.42500000 +vt 0.87500000 0.42500000 +vt 0.87500000 0.57500000 +vt 0.89062500 0.57500000 +vt 0.89062500 0.42500000 +vt 0.90625000 0.42500000 +vt 0.90625000 0.57500000 +vt 0.92187500 0.57500000 +vt 0.92187500 0.42500000 +vt 0.93750000 0.42500000 +vt 0.93750000 0.57500000 +vt 0.95312500 0.57500000 +vt 0.95312500 0.42500000 +vt 0.96875000 0.42500000 +vt 0.96875000 0.57500000 +vt 0.98437500 0.57500000 +vt 0.98437500 0.42500000 +vt 1.00000000 0.42500000 +vt 1.00000000 0.57500000 +vn 1.00000000 -7.4044900e-32 -1.3894524e-17 +vn 0.99518473 7.0792658e-17 9.8017140e-2 +vn 0.98078528 0.0000000e+0 0.19509032 +vn 0.95694034 0.0000000e+0 0.29028468 +vn 0.92387953 0.0000000e+0 0.38268343 +vn 0.88192126 0.0000000e+0 0.47139674 +vn 0.83146961 0.0000000e+0 0.55557023 +vn 0.77301045 0.0000000e+0 0.63439328 +vn 0.70710678 0.0000000e+0 0.70710678 +vn 0.63439328 0.0000000e+0 0.77301045 +vn 0.55557023 0.0000000e+0 0.83146961 +vn 0.47139674 0.0000000e+0 0.88192126 +vn 0.38268343 0.0000000e+0 0.92387953 +vn 0.29028468 -4.4245411e-18 0.95694034 +vn 0.19509032 -1.3273623e-17 0.98078528 +vn 9.8017140e-2 -2.6270713e-18 0.99518473 +vn 1.1358774e-15 -2.7653382e-19 1.00000000 +vn -9.8017140e-2 2.4888044e-18 0.99518473 +vn -0.19509032 4.4245411e-18 0.98078528 +vn -0.29028468 0.0000000e+0 0.95694034 +vn -0.38268343 0.0000000e+0 0.92387953 +vn -0.47139674 0.0000000e+0 0.88192126 +vn -0.55557023 0.0000000e+0 0.83146961 +vn -0.63439328 0.0000000e+0 0.77301045 +vn -0.70710678 0.0000000e+0 0.70710678 +vn -0.77301045 0.0000000e+0 0.63439328 +vn -0.83146961 0.0000000e+0 0.55557023 +vn -0.88192126 0.0000000e+0 0.47139674 +vn -0.92387953 0.0000000e+0 0.38268343 +vn -0.95694034 0.0000000e+0 0.29028468 +vn -0.98078528 0.0000000e+0 0.19509032 +vn -0.99518473 -1.4461895e-34 9.8017140e-2 +vn -1.00000000 0.0000000e+0 5.6967550e-16 +vn -0.99518473 0.0000000e+0 -9.8017140e-2 +vn -0.98078528 0.0000000e+0 -0.19509032 +vn -0.95694034 0.0000000e+0 -0.29028468 +vn -0.92387953 0.0000000e+0 -0.38268343 +vn -0.88192126 0.0000000e+0 -0.47139674 +vn -0.83146961 0.0000000e+0 -0.55557023 +vn -0.77301045 0.0000000e+0 -0.63439328 +vn -0.70710678 0.0000000e+0 -0.70710678 +vn -0.63439328 0.0000000e+0 -0.77301045 +vn -0.55557023 0.0000000e+0 -0.83146961 +vn -0.47139674 0.0000000e+0 -0.88192126 +vn -0.38268343 0.0000000e+0 -0.92387953 +vn -0.29028468 0.0000000e+0 -0.95694034 +vn -0.19509032 4.4245411e-18 -0.98078528 +vn -9.8017140e-2 2.6270713e-18 -0.99518473 +vn 0.0000000e+0 2.7653382e-19 -1.00000000 +vn 9.8017140e-2 -2.4888044e-18 -0.99518473 +vn 0.19509032 -4.4245411e-18 -0.98078528 +vn 0.29028468 0.0000000e+0 -0.95694034 +vn 0.38268343 0.0000000e+0 -0.92387953 +vn 0.47139674 0.0000000e+0 -0.88192126 +vn 0.55557023 0.0000000e+0 -0.83146961 +vn 0.63439328 0.0000000e+0 -0.77301045 +vn 0.70710678 0.0000000e+0 -0.70710678 +vn 0.77301045 0.0000000e+0 -0.63439328 +vn 0.83146961 0.0000000e+0 -0.55557023 +vn 0.88192126 0.0000000e+0 -0.47139674 +vn 0.92387953 0.0000000e+0 -0.38268343 +vn 0.95694034 0.0000000e+0 -0.29028468 +vn 0.98078528 0.0000000e+0 -0.19509032 +vn 0.99518473 -7.0792658e-17 -9.8017140e-2 +vn 1.00000000 -3.7022450e-32 -1.3894524e-17 +vn 0.99518473 3.8565052e-34 9.8017140e-2 +vn 0.98078528 -3.4088600e-19 0.19509032 +vn 0.95694034 0.0000000e+0 0.29028468 +vn 0.92387953 0.0000000e+0 0.38268343 +vn 0.88192126 0.0000000e+0 0.47139674 +vn 0.83146961 0.0000000e+0 0.55557023 +vn 0.77301045 0.0000000e+0 0.63439328 +vn 0.70710678 0.0000000e+0 0.70710678 +vn 0.63439328 0.0000000e+0 0.77301045 +vn 0.55557023 0.0000000e+0 0.83146961 +vn 0.47139674 0.0000000e+0 0.88192126 +vn 0.38268343 0.0000000e+0 0.92387953 +vn 0.29028468 0.0000000e+0 0.95694034 +vn 0.19509032 -6.6368117e-18 0.98078528 +vn 9.8017140e-2 -2.7653382e-19 0.99518473 +vn 5.7141231e-16 -1.3826691e-19 1.00000000 +vn -9.8017140e-2 2.7653382e-19 0.99518473 +vn -0.19509032 2.2122706e-18 0.98078528 +vn -0.29028468 0.0000000e+0 0.95694034 +vn -0.38268343 0.0000000e+0 0.92387953 +vn -0.47139674 0.0000000e+0 0.88192126 +vn -0.55557023 0.0000000e+0 0.83146961 +vn -0.63439328 0.0000000e+0 0.77301045 +vn -0.70710678 0.0000000e+0 0.70710678 +vn -0.77301045 0.0000000e+0 0.63439328 +vn -0.83146961 0.0000000e+0 0.55557023 +vn -0.88192126 0.0000000e+0 0.47139674 +vn -0.92387953 0.0000000e+0 0.38268343 +vn -0.95694034 0.0000000e+0 0.29028468 +vn -0.98078528 -3.4088600e-19 0.19509032 +vn -0.99518473 -2.8923789e-34 9.8017140e-2 +vn -1.00000000 7.7612168e-33 5.6446505e-16 +vn -0.99518473 0.0000000e+0 -9.8017140e-2 +vn -0.98078528 3.4088600e-19 -0.19509032 +vn -0.95694034 0.0000000e+0 -0.29028468 +vn -0.92387953 0.0000000e+0 -0.38268343 +vn -0.88192126 0.0000000e+0 -0.47139674 +vn -0.83146961 0.0000000e+0 -0.55557023 +vn -0.77301045 0.0000000e+0 -0.63439328 +vn -0.70710678 0.0000000e+0 -0.70710678 +vn -0.63439328 0.0000000e+0 -0.77301045 +vn -0.55557023 0.0000000e+0 -0.83146961 +vn -0.47139674 0.0000000e+0 -0.88192126 +vn -0.38268343 0.0000000e+0 -0.92387953 +vn -0.29028468 0.0000000e+0 -0.95694034 +vn -0.19509032 2.2122706e-18 -0.98078528 +vn -9.8017140e-2 2.7653382e-19 -0.99518473 +vn 0.0000000e+0 1.3826691e-19 -1.00000000 +vn 9.8017140e-2 -2.7653382e-19 -0.99518473 +vn 0.19509032 -2.2122706e-18 -0.98078528 +vn 0.29028468 0.0000000e+0 -0.95694034 +vn 0.38268343 0.0000000e+0 -0.92387953 +vn 0.47139674 0.0000000e+0 -0.88192126 +vn 0.55557023 0.0000000e+0 -0.83146961 +vn 0.63439328 0.0000000e+0 -0.77301045 +vn 0.70710678 0.0000000e+0 -0.70710678 +vn 0.77301045 0.0000000e+0 -0.63439328 +vn 0.83146961 0.0000000e+0 -0.55557023 +vn 0.88192126 0.0000000e+0 -0.47139674 +vn 0.92387953 0.0000000e+0 -0.38268343 +vn 0.95694034 0.0000000e+0 -0.29028468 +vn 0.98078528 3.4088600e-19 -0.19509032 +vn 0.99518473 -4.2421557e-33 -9.8017140e-2 +g cylinder1_geom/goal/goal +usemtl geom/goal/goal +s 1 +f 1/34/1 65/33/65 64/35/64 +f 2/32/2 65/33/65 1/34/1 +f 2/32/2 67/29/67 66/31/66 +f 3/30/3 67/29/67 2/32/2 +f 4/28/4 67/29/67 3/30/3 +f 4/28/4 69/25/69 68/27/68 +f 5/26/5 69/25/69 4/28/4 +f 6/24/6 69/25/69 5/26/5 +f 6/24/6 71/21/71 70/23/70 +f 7/22/7 71/21/71 6/24/6 +f 8/20/8 71/21/71 7/22/7 +f 8/20/8 73/17/73 72/19/72 +f 9/18/9 73/17/73 8/20/8 +f 10/15/10 73/17/73 9/18/9 +f 10/15/10 75/13/75 74/16/74 +f 11/14/11 75/13/75 10/15/10 +f 12/11/12 75/13/75 11/14/11 +f 12/11/12 77/9/77 76/12/76 +f 13/10/13 77/9/77 12/11/12 +f 14/7/14 77/9/77 13/10/13 +f 14/7/14 79/5/79 78/8/78 +f 15/6/15 79/5/79 14/7/14 +f 16/3/16 79/5/79 15/6/15 +f 16/3/16 81/1/81 80/4/80 +f 17/2/17 81/1/81 16/3/16 +f 18/127/18 81/129/81 17/130/17 +f 18/127/18 83/125/83 82/128/82 +f 19/126/19 83/125/83 18/127/18 +f 20/123/20 83/125/83 19/126/19 +f 20/123/20 85/121/85 84/124/84 +f 21/122/21 85/121/85 20/123/20 +f 22/119/22 85/121/85 21/122/21 +f 22/119/22 87/117/87 86/120/86 +f 23/118/23 87/117/87 22/119/22 +f 24/115/24 87/117/87 23/118/23 +f 24/115/24 89/113/89 88/116/88 +f 25/114/25 89/113/89 24/115/24 +f 26/111/26 89/113/89 25/114/25 +f 26/111/26 91/109/91 90/112/90 +f 27/110/27 91/109/91 26/111/26 +f 28/107/28 91/109/91 27/110/27 +f 28/107/28 93/105/93 92/108/92 +f 29/106/29 93/105/93 28/107/28 +f 30/103/30 93/105/93 29/106/29 +f 30/103/30 95/101/95 94/104/94 +f 31/102/31 95/101/95 30/103/30 +f 32/99/32 95/101/95 31/102/31 +f 32/99/32 97/97/97 96/100/96 +f 33/98/33 97/97/97 32/99/32 +f 34/95/34 97/97/97 33/98/33 +f 34/95/34 99/93/99 98/96/98 +f 35/94/35 99/93/99 34/95/34 +f 36/91/36 99/93/99 35/94/35 +f 36/91/36 101/89/101 100/92/100 +f 37/90/37 101/89/101 36/91/36 +f 38/87/38 101/89/101 37/90/37 +f 38/87/38 103/85/103 102/88/102 +f 39/86/39 103/85/103 38/87/38 +f 40/84/40 103/85/103 39/86/39 +f 40/84/40 105/81/105 104/83/104 +f 41/82/41 105/81/105 40/84/40 +f 42/80/42 105/81/105 41/82/41 +f 42/80/42 107/77/107 106/79/106 +f 43/78/43 107/77/107 42/80/42 +f 44/76/44 107/77/107 43/78/43 +f 44/76/44 109/73/109 108/75/108 +f 45/74/45 109/73/109 44/76/44 +f 46/72/46 109/73/109 45/74/45 +f 46/72/46 111/69/111 110/71/110 +f 47/70/47 111/69/111 46/72/46 +f 48/68/48 111/69/111 47/70/47 +f 48/68/48 113/65/113 112/67/112 +f 49/66/49 113/65/113 48/68/48 +f 50/63/50 113/65/113 49/66/49 +f 50/63/50 115/61/115 114/64/114 +f 51/62/51 115/61/115 50/63/50 +f 52/59/52 115/61/115 51/62/51 +f 52/59/52 117/57/117 116/60/116 +f 53/58/53 117/57/117 52/59/52 +f 54/56/54 117/57/117 53/58/53 +f 54/56/54 119/53/119 118/55/118 +f 55/54/55 119/53/119 54/56/54 +f 56/52/56 119/53/119 55/54/55 +f 56/52/56 121/49/121 120/51/120 +f 57/50/57 121/49/121 56/52/56 +f 58/48/58 121/49/121 57/50/57 +f 58/48/58 123/45/123 122/47/122 +f 59/46/59 123/45/123 58/48/58 +f 60/43/60 123/45/123 59/46/59 +f 60/43/60 125/41/125 124/44/124 +f 61/42/61 125/41/125 60/43/60 +f 62/40/62 125/41/125 61/42/61 +f 62/40/62 127/37/127 126/39/126 +f 63/38/63 127/37/127 62/40/62 +f 64/35/64 65/33/65 128/36/128 +f 64/35/64 127/37/127 63/38/63 +f 66/31/66 65/33/65 2/32/2 +f 68/27/68 67/29/67 4/28/4 +f 70/23/70 69/25/69 6/24/6 +f 72/19/72 71/21/71 8/20/8 +f 74/16/74 73/17/73 10/15/10 +f 76/12/76 75/13/75 12/11/12 +f 78/8/78 77/9/77 14/7/14 +f 80/4/80 79/5/79 16/3/16 +f 82/128/82 81/129/81 18/127/18 +f 84/124/84 83/125/83 20/123/20 +f 86/120/86 85/121/85 22/119/22 +f 88/116/88 87/117/87 24/115/24 +f 90/112/90 89/113/89 26/111/26 +f 92/108/92 91/109/91 28/107/28 +f 94/104/94 93/105/93 30/103/30 +f 96/100/96 95/101/95 32/99/32 +f 98/96/98 97/97/97 34/95/34 +f 100/92/100 99/93/99 36/91/36 +f 102/88/102 101/89/101 38/87/38 +f 104/83/104 103/85/103 40/84/40 +f 106/79/106 105/81/105 42/80/42 +f 108/75/108 107/77/107 44/76/44 +f 110/71/110 109/73/109 46/72/46 +f 112/67/112 111/69/111 48/68/48 +f 114/64/114 113/65/113 50/63/50 +f 116/60/116 115/61/115 52/59/52 +f 118/55/118 117/57/117 54/56/54 +f 120/51/120 119/53/119 56/52/56 +f 122/47/122 121/49/121 58/48/58 +f 124/44/124 123/45/123 60/43/60 +f 126/39/126 125/41/125 62/40/62 +f 128/36/128 127/37/127 64/35/64 diff --git a/data/geom/goal/goal.png b/data/geom/goal/goal.png new file mode 100644 index 0000000000000000000000000000000000000000..d55a6659e7819a0664ab23df82c2631adc47eda0 GIT binary patch literal 4282 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 AF8}}l literal 0 HcmV?d00001 diff --git a/data/geom/goal/goal.wings b/data/geom/goal/goal.wings new file mode 100644 index 0000000000000000000000000000000000000000..3d4135f2a80cf9c9f9161ecee5046608b76abbcc GIT binary patch literal 6038 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 fTxx#M!^n2hLvh4ug$2{=p{6a*LcJ==O9cPU1 literal 0 HcmV?d00001 diff --git a/share/geom.c b/share/geom.c index 1d03365..d5fcdf1 100644 --- a/share/geom.c +++ b/share/geom.c @@ -30,6 +30,8 @@ /*---------------------------------------------------------------------------*/ static struct s_full beam; +static struct s_full jump; +static struct s_full goal; static struct s_full flag; static struct s_full mark; static struct s_full back; @@ -41,6 +43,8 @@ static GLuint back_text; void geom_init(void) { sol_load_full(&beam, "geom/beam/beam.sol", 0); + sol_load_full(&jump, "geom/jump/jump.sol", 0); + sol_load_full(&goal, "geom/goal/goal.sol", 0); sol_load_full(&flag, "geom/flag/flag.sol", 0); sol_load_full(&mark, "geom/mark/mark.sol", 0); sol_load_full(&back, "geom/back/back.sol", 0); @@ -51,6 +55,8 @@ void geom_free(void) sol_free_full(&back); sol_free_full(&mark); sol_free_full(&flag); + sol_free_full(&goal); + sol_free_full(&jump); sol_free_full(&beam); } @@ -74,14 +80,49 @@ void back_free(void) /*---------------------------------------------------------------------------*/ +static void jump_part_draw(GLfloat s, GLfloat a) +{ + glMatrixMode(GL_TEXTURE); + glTranslatef(s, 0.0f, 0.0f); + glMatrixMode(GL_MODELVIEW); + + glRotatef(a, 0.0f, 1.0f, 0.0f); + sol_draw(&jump.draw, 1, 1); + glScalef(0.9f, 0.9f, 0.9f); +} + +static void goal_part_draw(GLfloat s, GLfloat a) +{ + glMatrixMode(GL_TEXTURE); + glTranslatef(0.0f, -s, 0.0f); + glMatrixMode(GL_MODELVIEW); + + glRotatef(a, 0.0f, 1.0f, 0.0f); + sol_draw(&goal.draw, 1, 1); + glScalef(0.75f, 1.1f, 0.9f); +} + +/*---------------------------------------------------------------------------*/ + void goal_draw(void) { + const GLfloat t = SDL_GetTicks() * 0.001f; + glPushMatrix(); { glScalef(1.0f, 3.0f, 1.0f); glColor4f(1.0f, 1.0f, 0.0f, 0.5f); sol_draw(&beam.draw, 1, 1); + + goal_part_draw(t * 0.1f, 20.0f); + goal_part_draw(t * 0.2f, 30.0f); + goal_part_draw(t * 0.3f, 70.0f); + + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + glMatrixMode(GL_MODELVIEW); + glColor4f(1.0f, 1.0f, 1.0f, 1.0f); } glPopMatrix(); @@ -89,6 +130,8 @@ void goal_draw(void) void jump_draw(int highlight) { + const GLfloat t = SDL_GetTicks() * 0.001f; + static GLfloat jump_colors[4][4] = { { 0.75f, 0.5f, 1.0f, 0.5f }, { 0.75f, 0.5f, 1.0f, 0.8f }, @@ -96,10 +139,19 @@ void jump_draw(int highlight) glPushMatrix(); { - glScalef(1.0f, 2.0f, 1.0f); - glColor4fv(jump_colors[highlight]); + + glScalef(1.0f, 2.0f, 1.0f); sol_draw(&beam.draw, 1, 1); + + jump_part_draw(t * 0.1f, t * 360.0f); + jump_part_draw(t * 0.2f, t * 360.0f); + jump_part_draw(t * 0.3f, t * 360.0f); + + glMatrixMode(GL_TEXTURE); + glLoadIdentity(); + glMatrixMode(GL_MODELVIEW); + glColor4f(1.0f, 1.0f, 1.0f, 1.0f); } glPopMatrix(); diff --git a/share/solid_draw.c b/share/solid_draw.c index 5e68c3d..36aa218 100644 --- a/share/solid_draw.c +++ b/share/solid_draw.c @@ -202,21 +202,19 @@ static const struct d_mtrl *sol_apply_mtrl(const struct d_mtrl *mp_draw, if (tobyte(mp_base->h[0]) != tobyte(mq_base->h[0])) glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mp_base->h); - /* Enable ball shadow. */ + /* Ball shadow. */ if ((mp_base->fl & M_SHADOWED) && !(mq_base->fl & M_SHADOWED)) { shad_draw_set(); } - /* Disable ball shadow. */ - if (!(mp_base->fl & M_SHADOWED) && (mq_base->fl & M_SHADOWED)) { shad_draw_clr(); } - /* Enable environment mapping. */ + /* Environment mapping. */ if ((mp_base->fl & M_ENVIRONMENT) && !(mq_base->fl & M_ENVIRONMENT)) { @@ -227,25 +225,21 @@ static const struct d_mtrl *sol_apply_mtrl(const struct d_mtrl *mp_draw, glTexGeni(GL_T, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); } - /* Disable environment mapping. */ - if ((mq_base->fl & M_ENVIRONMENT) && !(mp_base->fl & M_ENVIRONMENT)) { glDisable(GL_TEXTURE_GEN_S); glDisable(GL_TEXTURE_GEN_T); } - /* Enable additive blending. */ + /* Additive blending. */ if ((mp_base->fl & M_ADDITIVE) && !(mq_base->fl & M_ADDITIVE)) glBlendFunc(GL_ONE, GL_ONE); - /* Enable standard blending. */ - if ((mq_base->fl & M_ADDITIVE) && !(mp_base->fl & M_ADDITIVE)) glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - /* Enable visibility-from-behind. */ + /* Visibility-from-behind. */ if ((mp_base->fl & M_TWO_SIDED) && !(mq_base->fl & M_TWO_SIDED)) { @@ -253,15 +247,13 @@ static const struct d_mtrl *sol_apply_mtrl(const struct d_mtrl *mp_draw, glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1); } - /* Disable visibility-from-behind. */ - if ((mq_base->fl & M_TWO_SIDED) && !(mp_base->fl & M_TWO_SIDED)) { glEnable(GL_CULL_FACE); glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0); } - /* Enable decal offset. */ + /* Decal offset. */ if ((mp_base->fl & M_DECAL) && !(mq_base->fl & M_DECAL)) { @@ -269,8 +261,6 @@ static const struct d_mtrl *sol_apply_mtrl(const struct d_mtrl *mp_draw, glPolygonOffset(-1.0f, -2.0f); } - /* Disable decal offset. */ - if ((mq_base->fl & M_DECAL) && !(mp_base->fl & M_DECAL)) glDisable(GL_POLYGON_OFFSET_FILL); -- 1.7.9.5