ENTRYPOINT void
release_bouboule(ModeInfo * mi)
{
	if (starfield != NULL) {
		int         screen;

		for (screen = 0; screen < MI_NUM_SCREENS(mi); screen++) {
			StarField  *sp = &starfield[screen];

			if (sp->star)
				(void) free((void *) sp->star);
			if (sp->xarc)
				(void) free((void *) sp->xarc);
			if (sp->xarcleft)
				(void) free((void *) sp->xarcleft);
#if ((USEOLDXARCS == 1) || (ADAPT_ERASE == 1))
			if (sp->oldxarc)
				(void) free((void *) sp->oldxarc);
			if (sp->oldxarcleft)
				(void) free((void *) sp->oldxarcleft);
#endif
			sinfree(&(sp->x));
			sinfree(&(sp->y));
			sinfree(&(sp->z));
			sinfree(&(sp->sizex));
			sinfree(&(sp->sizey));
			sinfree(&(sp->thetax));
			sinfree(&(sp->thetay));
			sinfree(&(sp->thetaz));
		}
		(void) free((void *) starfield);
		starfield = NULL;
	}
}
Exemple #2
0
static void
free_bouboule(StarField *sp)
{
	free_stars(sp);
	sinfree(&(sp->x));
	sinfree(&(sp->y));
	sinfree(&(sp->z));
	sinfree(&(sp->sizex));
	sinfree(&(sp->sizey));
	sinfree(&(sp->thetax));
	sinfree(&(sp->thetay));
	sinfree(&(sp->thetaz));
}