#undef countof
#define countof(x) (sizeof((x))/sizeof((*x)))
+#define DEF_ROTATE "True"
+#define DEF_REFLECTIONS "True"
+#define DEF_SHADOWS "True"
+#define DEF_SMOOTH "True"
+#define DEF_CLASSIC "False"
+
+
static XrmOptionDescRec opts[] = {
{"+rotate", ".chess.rotate", XrmoptionNoArg, "false" },
{"-rotate", ".chess.rotate", XrmoptionNoArg, "true" },
static int rotate, reflections, smooth, shadows, classic;
static argtype vars[] = {
- {&rotate, "rotate", "Rotate", "True", t_Bool},
- {&reflections, "reflections", "Reflections", "True", t_Bool},
- {&shadows, "shadows", "Shadows", "True", t_Bool},
- {&smooth, "smooth", "Smooth", "True", t_Bool},
- {&classic, "classic", "Classic", "False", t_Bool},
+ {&rotate, "rotate", "Rotate", DEF_ROTATE, t_Bool},
+ {&reflections, "reflections", "Reflections", DEF_REFLECTIONS, t_Bool},
+ {&shadows, "shadows", "Shadows", DEF_SHADOWS, t_Bool},
+ {&smooth, "smooth", "Smooth", DEF_SMOOTH, t_Bool},
+ {&classic, "classic", "Classic", DEF_CLASSIC, t_Bool},
};
ENTRYPOINT ModeSpecOpt chess_opts = {countof(opts), opts, countof(vars), vars, NULL};
{
int piece = cs->mpiece % PIECES;
+ if (piece == NONE) return;
+
glPushMatrix();
if(shadow) glColor4fv(MaterialShadow);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
+ glRotatef(current_device_rotation(), 0, 0, 1);
/** setup perspectiv */
glTranslatef(0.0, 0.0, -1.5*BOARDSIZE);
glRotatef(30.0, 1.0, 0.0, 0.0);
+ glRotatef(-current_device_rotation(), 0, 0, 1);
gltrackball_rotate (cs->trackball);
+ glRotatef(current_device_rotation(), 0, 0, 1);
+
glRotatef(cs->theta*100, 0.0, 1.0, 0.0);
glTranslatef(-0.5*BOARDSIZE, 0.0, -0.5*BOARDSIZE);
else
MI_CLEARWINDOW(mi);
- glClearColor(0.0, 0.0, 0.0, 0.0);
-
if (!cs->wire) {
glDepthFunc(GL_LEQUAL);
glClearStencil(0);