* Mustata Bogdan (LoneRunner) <lonerunner@planetquake.com>
* and can be found at http://www.cfxweb.net/lonerunner/
*
- * Eric Lassauge (November-07-2000) <lassauge@mail.dotcom.fr>
+ * Eric Lassauge (November-07-2000) <lassauge@users.sourceforge.net>
* http://lassauge.free.fr/linux.html
*
* REVISION HISTORY:
#define HACK_DRAW draw_sballs
#define HACK_RESHAPE reshape_sballs
#define sballs_opts xlockmore_opts
-#define DEFAULTS "*delay: 10000 \n" \
+#define DEFAULTS "*delay: 30000 \n" \
"*size: 0 \n" \
- "*cycles: 10 \n" \
+ "*cycles: 4 \n" \
"*object: 0 \n" \
"*trackmouse: False \n" \
"*showFPS: False \n" \
/* Manage option vars */
#define DEF_TEXTURE "True"
#define DEF_TRACKMOUSE "False"
-#define DEF_OBJECT "2"
-#define DEF_OBJECT_INDX 2
+#define DEF_OBJECT "0"
static Bool do_texture;
static Bool do_trackmouse;
static int object;
static int spheres;
static XrmOptionDescRec opts[] = {
- {(char *) "-texture", (char *) ".sballs.texture", XrmoptionNoArg, (caddr_t) "on"},
- {(char *) "+texture", (char *) ".sballs.texture", XrmoptionNoArg, (caddr_t) "off"},
- {(char *) "-trackmouse", (char *) ".sballs.trackmouse", XrmoptionNoArg, (caddr_t) "on"},
- {(char *) "+trackmouse", (char *) ".sballs.trackmouse", XrmoptionNoArg, (caddr_t) "off"},
- {(char *) "-object", (char *) ".sballs.object", XrmoptionSepArg, (caddr_t) NULL},
+ {"-texture", ".sballs.texture", XrmoptionNoArg, "on"},
+ {"+texture", ".sballs.texture", XrmoptionNoArg, "off"},
+ {"-trackmouse", ".sballs.trackmouse", XrmoptionNoArg, "on"},
+ {"+trackmouse", ".sballs.trackmouse", XrmoptionNoArg, "off"},
+ {"-object", ".sballs.object", XrmoptionSepArg, 0},
};
};
static OptionStruct desc[] = {
- /*{(char *) "-count spheres", (char *) "set number of spheres"},*/
- /*{(char *) "-cycles speed", (char *) "set ball speed value"},*/
- {(char *) "-/+texture", (char *) "turn on/off texturing"},
- {(char *) "-/+trackmouse", (char *) "turn on/off the tracking of the mouse"},
- {(char *) "-object num", (char *) "number of the 3D object (0 means random)"},
+ /*{"-count spheres", "set number of spheres"},*/
+ /*{"-cycles speed", "set ball speed value"},*/
+ {"-/+texture", "turn on/off texturing"},
+ {"-/+trackmouse", "turn on/off the tracking of the mouse"},
+ {"-object num", "number of the 3D object (0 means random)"},
};
ModeSpecOpt sballs_opts =
float x = polygons[object].v[sphere_num][0];
float y = polygons[object].v[sphere_num][1];
float z = polygons[object].v[sphere_num][2];
- int numMajor = 10;
- int numMinor = 10;
+ int numMajor = 15;
+ int numMinor = 30;
float radius = sb->radius[sphere_num];
double majorStep = (M_PI / numMajor);
double minorStep = (2.0 * M_PI / numMinor);
glNormal3f((x * r1) / radius, (y * r1) / radius, z1 / radius);
glTexCoord2f(j / (GLfloat) numMinor, (i + 1) / (GLfloat) numMajor);
glVertex3f(x * r1, y * r1, z1);
+
+ mi->polygon_count++;
}
glEnd();
}
sballsstruct *sb = &sballs[MI_SCREEN(mi)];
int sphere;
+ mi->polygon_count = 0;
+
if (do_trackmouse && !MI_IS_ICONIC(mi))
trackmouse(mi);
glNormal3f(0, 0, 1); glTexCoord2f(1,0); glVertex3f(-8, 4.1, -4);
glNormal3f(0, 0, 1); glTexCoord2f(1,1); glVertex3f(-8, -4.1, -4);
glEnd();
+ mi->polygon_count++;
/* rotate the mouse */
glRotatef(sb->rot[0], 1.0f, 0.0f, 0.0f);
sb->speed = MI_CYCLES(mi);
/* initialise object number */
- if (object == 0)
- object = NRAND(MAX_OBJ);
if ((object == 0) || (object > MAX_OBJ))
- object = DEF_OBJECT_INDX;
+ object = NRAND(MAX_OBJ-1)+1;
object--;
/* initialise sphere number */
return;
/* initialise object number */
- if (object == 0)
- object = NRAND(MAX_OBJ);
if ((object == 0) || (object > MAX_OBJ))
- object = DEF_OBJECT_INDX;
+ object = NRAND(MAX_OBJ-1)+1;
object--;
/* correct sphere number */