Lines Matching defs:pp

158     pyrostruct *pp = &pyros[screen];
169 pp->p_ignite = orig_p_ignite;
171 if (!pp->rockq) {
172 pp->rockq = (rocket *) malloc(batchcount * sizeof(rocket));
174 pp->nflying = pp->fusilcount = 0;
177 for (rockn = 0, rp = pp->rockq; rockn < batchcount; rockn++, rp++) {
187 pp->width = xwa.width;
188 pp->lmargin = xwa.width / 16;
189 pp->rmargin = xwa.width - pp->lmargin;
190 pp->height = xwa.height;
191 pp->scr = ScreenOfDisplay(dsp, screen);
192 pp->cmap = xwa.colormap;
194 pp->fgpixel = sswhite[screen].pixel;
195 pp->bgpixel = ssblack[screen].pixel;
197 pp->rockpixel = Scr[screen].pixels[3]; /* Just the right shade of
200 pp->rockpixel = pp->fgpixel;
202 if (!pp->bgGC) {
203 xgcv.foreground = pp->bgpixel;
204 pp->bgGC = XCreateGC(dsp, win, GCForeground, &xgcv);
207 pp->maxvelx = (float) (xwa.width) * XVELFACTOR;
208 pp->minvelx = -pp->maxvelx;
209 pp->minvely = -(float) (xwa.height) * MINYVELFACTOR;
210 pp->maxvely = -(float) (xwa.height) * MAXYVELFACTOR;
211 pp->maxsvel = pp->minvely * SVELFACTOR;
212 pp->rockdecel = (float) (pp->height) * GRAVFACTOR;
213 pp->stardecel = pp->rockdecel * BOUYANCY;
215 XFillRectangle(dsp, win, pp->bgGC, 0, 0, xwa.width, xwa.height);
223 pyrostruct *pp = &pyros[screen];
227 if (pp->p_ignite == 0)
228 pp->p_ignite = 1;
229 if (just_started || (random() % pp->p_ignite == 0)) {
232 pp->p_ignite = orig_p_ignite / FUSILFACTOR;
233 pp->fusilcount = INTRAND(FUSILLEN * 9 / 10, FUSILLEN * 11 / 10);
235 ignite(pp);
236 if (pp->fusilcount > 0) {
237 if (--pp->fusilcount == 0)
238 pp->p_ignite = orig_p_ignite;
241 for (rockn = pp->nflying, rp = pp->rockq; rockn > 0; rp++) {
243 animate(win, pp, rp);
250 ignite(pp)
251 pyrostruct *pp;
257 x = random() % pp->width;
258 xvel = FLOATRAND(-pp->maxvelx, pp->maxvelx);
260 if (x < pp->lmargin && xvel < 0.0 || x > pp->rmargin && xvel > 0.0)
262 yvel = FLOATRAND(pp->minvely, pp->maxvely);
281 rp = pp->rockq;
283 if (pp->nflying >= batchcount)
287 pp->nflying++;
296 rp->y = pp->height - 1;
302 animate(win, pp, rp)
304 pyrostruct *pp;
311 shootup(win, pp, rp);
325 r = FLOATRAND(0.0, pp->maxsvel);
334 burst(win, pp, rp);
339 shootup(win, pp, rp)
341 pyrostruct *pp;
344 XFillRectangle(dsp, win, pp->bgGC, (int) (rp->x), (int) (rp->y),
353 rp->yvel += pp->rockdecel;
354 XSetForeground(dsp, Scr[screen].gc, pp->rockpixel);
360 burst(win, pp, rp)
362 pyrostruct *pp;
374 XFillRectangles(dsp, win, pp->bgGC, rp->Xpoints, nstars);
376 XFillRectangles(dsp, win, pp->bgGC, rp->Xpoints2, nstars);
378 XDrawPoints(dsp, win, pp->bgGC, rp->Xpoints, nstars, CoordModeOrigin);
380 XDrawPoints(dsp, win, pp->bgGC, rp->Xpoints2, nstars, CoordModeOrigin);
385 pp->nflying--;
395 sd = pp->stardecel;