X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fglx%2Fprovidence.c;h=695ef7571ab170c77fb0453809da78466beb62c9;hb=refs%2Fheads%2Fmaster2;hp=3bd49b0a9fc0ff97788264409c55f64d9603be41;hpb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;p=xscreensaver diff --git a/hacks/glx/providence.c b/hacks/glx/providence.c index 3bd49b0a..695ef757 100644 --- a/hacks/glx/providence.c +++ b/hacks/glx/providence.c @@ -274,7 +274,7 @@ static void update_particles(providencestruct *mp) int x = mp->eyeparticles[i][1] + random()%(cos(mp->theta) < 0.0 ? 8 : 16); /* reset if dead */ - if(x > EYELENGTH || random()%(cos(mp->theta) < 0.0 ? 40 : 10) == 0) { + if(x >= EYELENGTH || random()%(cos(mp->theta) < 0.0 ? 40 : 10) == 0) { /* if(x > EYELENGTH || (x > EYELENGTH/(2/3.0) && random()%7 == 0)) { */ mp->eyeparticles[i][0] = random()%LOOKUPSIZE; @@ -767,6 +767,15 @@ ENTRYPOINT void draw_providence(ModeInfo * mi) gltrackball_rotate(mp->trackball); glRotatef(mp->theta * 180.0 / Pi, 0.0, -1.0, 0.0); +# ifdef HAVE_MOBILE /* Keep it the same relative size when rotated. */ + { + GLfloat h = MI_HEIGHT(mi) / (GLfloat) MI_WIDTH(mi); + int o = (int) current_device_rotation(); + if (o != 0 && o != 180 && o != -180) + glScalef (1/h, 1/h, 1/h); + } +# endif + /* draw providence */ draw_providence_strip(mi); glPopMatrix();