예제 #1
0
int main() {
	int unidad = 0,modo;
	char p[8] = { 0xAB,0xAA,0xAC,0xAA,0x12,0x34,0x45,0x56 };

	initgraph (&unidad,&modo,"c:\\bc\\bgi");
	if (graphresult() != 0) {
		cout << "Error al tratar de pasar al modo grafico\n";
		getch();
		return 1;
	}
	setpalette (3,RED);
	setcolor(3);
	rectangle (100,100,getmaxx(),getmaxy() );
	getch();
	setpalette (4,GREEN);
	setcolor(4);
	rectangle (50,50,200,300);
	getch();
	setpalette (15,BLUE);
	setfillpattern (p,15);
	floodfill (101,101,4);
	getch();
	closegraph();
   return 0;
}
예제 #2
0
void initg()
{
	int gdriver = DETECT, gmode, errorcode;
	initgraph(&gdriver, &gmode, "");
	settextstyle(2,0,4);
	setcolor(3);
	setpalette(3,43);//text
	setpalette(13,198);//cursor
	setpalette(4,294);//error
}
예제 #3
0
int main() {
	int unidad = 0,modo,n;
	void *getmemoria(int),*p;

	initgraph (&unidad,&modo,"c:\\bc\\bgi");
	if (graphresult() != 0) {
		cout << "Error al tratar de pasar al modo grafico\n";
		getch();
		return 1;
	}
	n = imagesize (0,0,8,8);

	if (n == 0) {
		outtextxy (0,10,"n es cero");
		return 1;
	}
	if (graphresult() == -11) {
		outtextxy (0,20,"Error en imagesize() ");
		return 2;
	}
   outtextxy(0,0,"C");
	p = getmemoria (n);
	getimage (0,0,8,8,p);
	getch();
	setpalette (3,RED);
	setcolor (3);
	outtextxy(10,10,"C");
	getch();
	putimage (0,250,p,COPY_PUT);
	getch();
	closegraph();
	return 0;
}
예제 #4
0
파일: colors.c 프로젝트: Vladimir84/rcc
SEXP do_palette(SEXP call, SEXP op, SEXP args, SEXP rho)
{
    SEXP val, ans;
    unsigned int color[COLOR_TABLE_SIZE];
    int i, n;
    checkArity(op,args);
    /* Record the current palette */
    PROTECT(ans = allocVector(STRSXP, R_ColorTableSize));
    for (i = 0; i < R_ColorTableSize; i++)
	SET_STRING_ELT(ans, i, mkChar(col2name(R_ColorTable[i])));
    val = CAR(args);
    if (!isString(val)) errorcall(call, _("invalid argument type"));
    if ((n=length(val)) == 1) {
	if (StrMatch("default", CHAR(STRING_ELT(val, 0))))
	    setpalette(DefaultPalette);
	else errorcall(call, _("unknown palette (need >= 2 colors)"));
    }
    else if (n > 1) {
	if (n > COLOR_TABLE_SIZE)
	     errorcall(call, _("maximum number of colors exceeded"));
	for (i = 0; i < n; i++)
	    color[i] = char2col(CHAR(STRING_ELT(val, i)));
	for (i = 0; i < n; i++)
	    R_ColorTable[i] = color[i];
	R_ColorTableSize = n;
    }
    UNPROTECT(1);
    return ans;
}
예제 #5
0
파일: screen.c 프로젝트: dancrossnyc/harvey
/*
 * On some video cards (e.g. Mach64), the palette is used as the
 * DAC registers for >8-bit modes.  We don't want to set them when the user
 * is trying to set a colormap and the card is in one of these modes.
 */
int
setcolor(uint32_t p, uint32_t r, uint32_t g, uint32_t b)
{
	VGAscr *scr;
	int x;

	scr = &vgascreen[0];
	if(scr->gscreen == nil)
		return 0;

	switch(scr->gscreen->depth){
	case 1:
	case 2:
	case 4:
		x = 0x0F;
		break;
	case 8:
		x = 0xFF;
		break;
	default:
		return 0;
	}
	p &= x;

	return setpalette(p, r, g, b);
}
예제 #6
0
int main() {
	int x,y,i,j,n,unidad,modo;
	char sx[10],sy[10],sn[10];


	initgraph (&unidad,&modo,"c:\\bc\\bgi");
	if (graphresult() != 0) {
		cout << "Error al tratar de pasar al modo grafico\n";
		getch();
		return 1;
	}
	setpalette (3,YELLOW);
	setcolor (3);
	settextstyle (GOTHIC_FONT,HORIZ_DIR,3);
	i = textheight ("E");
	j = textwidth ("ESTRUCTURAS DE DATOS EN PASCAL");
	itoa(i,sx,10);
	itoa(j,sy,10);
	settextstyle (DEFAULT_FONT,HORIZ_DIR,1);
	char *p;
	int k = strlen (sx) +  strlen (sy) + 2;
	p = new char [k];
	strcpy (p,sx);
	strcat (p," ");
	strcat (p,sy);
	outtext (p);
	delete p;
	getch();
	closegraph();
	return 0;
}
예제 #7
0
int main() {
	int unidad = 0,modo,i;
	char s[10];

	initgraph (&unidad,&modo,"c:\\bc\\bgi");
	if (graphresult() != 0) {
		cout << "Error al tratar de pasar al modo grafico\n";
		getch();
		return 1;
	}

	outtext ("UNIVERSIDAD");
	getch();
	setpalette (15,YELLOW);				// Cambia de color a UNIVERSIDAD
	getch();
	i = getmaxcolor();         		// Almacena en i 15
	itoa (i,s,10);
	outtextxy (0,10,s);     			// Escribe 15
	getch();
	i = i - 4;
	setcolor (--i);						// Cambia el calor a LIGHTGREEN  (10)
												// Pero no cambia nada sobre el video

	outtextxy (0,20,"UNIVERSIDAD");	// Escribe UNIVERSIDAD en LIGHTGREEN
	getch();
	return 0;
}
예제 #8
0
void setallpalette(struct palettetype *palette)
{
 // GG
  int i;
  
  for (i = 0; i < palette->size; i++)
    setpalette (i, palette->colors[i]);
}
예제 #9
0
void SetTGAPalette(TGAHeader th){
 int c;
 int i;
 unsigned char r, g, b;
 for(c = 1; c < 256; c++){
  i = c * 3;
  r = (TGAHdrData[th.PaletteStart + 2 + i]) >> 2;
  g = (TGAHdrData[th.PaletteStart + 1 + i]) >> 2;
  b = (TGAHdrData[th.PaletteStart + 0 + i]) >> 2;
  setpalette(c, r, g, b);
 }
}
예제 #10
0
파일: i_video.c 프로젝트: jezze/doom
void I_FinishUpdate(void)
{

    if (skipframe())
        return;

    if (SDL_MUSTLOCK(surface))
    {

        int h;
        byte *src;
        byte *dest;

        if (SDL_LockSurface(surface) < 0)
        {

            I_Error("I_FinishUpdate: %s", SDL_GetError());

            return;

        }

        dest = surface->pixels;
        src = screens[0].data;
        h = surface->h;

        for (; h > 0; h--)
        {

            memcpy(dest, src, SCREENWIDTH);

            dest += surface->pitch;
            src += screens[0].byte_pitch;

        }

        SDL_UnlockSurface(surface);

    }

    if (newpal != NO_PALETTE_CHANGE)
    {

        setpalette(newpal);

        newpal = NO_PALETTE_CHANGE;

    }

    SDL_Flip(surface);

}
예제 #11
0
void fade(char *fname){
 int c;
 TGAHeader th;
 for(c = 0; c < 64; c++){
  redbase = c;
  bluebase = c;
  greenbase = c;
  GetTGAHeader(fname, &th);
  setpalette(0, c, c, c);
  SetTGAPalette(th);
  delay(10);
 }
 delay(25);
}
예제 #12
0
static void  setallpalette(void)
{
   int i;
   int palette_colors[16]={0,1,2,3,4,5,036,7,070,071,072,073,074,075,076,077}; 
   if(!bgi_maxcolor)
   {
      for(i=0;i<8;i++)  bgi_colors[i]=BlackPixel(display,screen);
      for(i=8;i<16;i++) bgi_colors[i]=WhitePixel(display,screen);
   }
   else
   {
      for(i=1;i<=bgi_maxcolor;i++)setpalette(i,palette_colors[i]);
      for(i=bgi_maxcolor+1;i<15;i++) palette_colors[i]=palette_colors[i-bgi_maxcolor];
      bgi_colors[0]=BlackPixel(display,screen);
      bgi_colors[15]=WhitePixel(display,screen);
   }
}
예제 #13
0
static int initscreen(void)
{
	int r=0;
	union REGS Regs;

	Regs.x.ax=0x1a00;
	int86(0x10,&Regs,&Regs);

	if (Regs.h.al==0x1a)
	{

		_AH=0;
		_AL=0x13;
		geninterrupt(0x10);


		outportb(0x3ce,GRAPHICS_MODE);
		outportb(0x3cf,inportb(0x3cf)&0xef);
		outportb(0x3ce,MISCELL_MODE);
		outportb(0x3cf,inportb(0x3cf)&0xfd);
		outportb(0x3c4,MEM_MODE);
		outportb(0x3c5,(inportb(0x3c5)&0xf7)|4);

		memset((void *)0xa0000000L,0,0xffff);

#ifdef DOUBLELIGNES
		outportb(0x3d4,MAX_SCAN);
		outportb(0x3d5,inportb(0x3d5)&0x70);
#endif

		outportb(0x3d4,UNDERLINE);
		outportb(0x3d5,inportb(0x3d5)&0xbf);
		outportb(0x3d4,MODE_CTRL);
		outportb(0x3d5,inportb(0x3d5)|0x40);


		settravail(1-vp);
		setvisual(vp);

		setpalette(egapal);

		r=1;
	}

	return r;
}
예제 #14
0
int main() {
	int unidad = 0,modo;

	initgraph (&unidad,&modo,"c:\\bc\\bgi");
	if (graphresult() != 0) {
		cout << "Error al tratar de pasar al modo grafico\n";
		getch();
		return 1;
	}
	setpalette (8,RED);
	setcolor(8);
	setlinestyle(CENTER_LINE,0,0);;
	linerel (100,100);
	getch();
	closegraph();
	return 0;
}
예제 #15
0
int initsystem(void)
{
#ifdef NOSYSCURSOR
	int i,j;
#endif

	setpalette(oldpal);

#ifdef NOSYSCURSOR
	SetCursor(invisible_cursor);
#else
	SetCursor(visible_cursor);
#endif

#ifdef NOSYSCURSOR
	pbox(0,0,16,16,FOND);
	pbox(16,0,16,16,FOND);
	for(i=0;i<16;i++)
		for(j=0;j<16;j++)
			switch(defaultmouse[i*16+j])
			{
				case 0x0001:
					plot(j,i,0);
                                        plot(j+16,i,MASK);
					break;
				case 0xffff:
					plot(j,i,SYSTEM_CURSOR_COLOR);
					plot(j+16,i,MASK);
                                        break;
                        }

	initbloc(&cursorbob);
	getbloc(&cursorbob,0,0,16,16);
	getmask(&cursorbob,16,0);          
	initbloc(&cursorbak);
	getbloc(&cursorbak,0,0,16,16);

	cls();
#endif
	setcolor(15);

	return 1;
}
예제 #16
0
파일: PALETTE.CPP 프로젝트: pjmodi/projects
void main()
{
int gd=DETECT,gm,i,j,x,y,color,startcolor,height,width;
struct palettetype palette;
struct viewporttype vp;

initgraph(&gd,&gm,"d:\\tc\\bgi");

getpalette(&palette);

rectangle(0,20,639,479);
outtextxy(200,10,"Palette demonstration");
getviewsettings(&vp);
width=(vp.right-vp.left)/16;
height=(vp.bottom-vp.top-20)/16;
x=0;
y=20;
startcolor=0;
for(j=0;j<=15;j++)
	{
	color=startcolor;
	for(i=0;i<=15;i++)
		{
		setfillstyle(SOLID_FILL,color++);
		bar(x,y,x+width,y+height);
		x=x+width+1;
		}
	startcolor++;
	x=0;
	y+=height+1;
	}
getch();

while(!kbhit())
   setpalette(random(16),random(65));

setallpalette(&palette);

getch();
closegraph();
restorecrtmode();
}
예제 #17
0
void main(){char c;
startgraph();
setpalette();
for(int j=0;j!=256;j++)
 directpixel(j,50,j);
//display();
getch();
while(c!='q')
 {
 //cleargfx(0);
 for(int n=199;n>=50;n--)
  {
  if(kbhit())break;
  pixel(n,n,255);
  //directpixel(n,n,255);
  burn();
  display();
  }
 c=getch();
 }
endgraph();
}
예제 #18
0
int initsystem(void)  /* retourne 1 si initialisation reussie */
{
    int i;
    int windowW;
    int windowH;
    XSetWindowAttributes xswa;
    XGCValues xgcv;
    XSizeHints xsh;

    windowW=WIDTH*RATIO;
    windowH=HEIGHT*RATIO;
    display=XOpenDisplay(0);

    if (!display) return(0);
    else
    {
        mousek=0;
        XAutoRepeatOff(display);
        timestart=last=systime();
        screen=XDefaultScreenOfDisplay(display);
        rdepth=sdepth=XDefaultDepthOfScreen(screen);
        if (emulmono) sdepth=1;
        XSynchronize(display,0);

        black=XBlackPixelOfScreen(screen);
        white=XWhitePixelOfScreen(screen);
        colormap=XDefaultColormapOfScreen(screen);
        visual=XDefaultVisualOfScreen(screen);

        xswa.event_mask=VisibilityChangeMask;
        xswa.background_pixel=black;
        xswa.border_pixel=white;
        xswa.override_redirect=0;
        xswa.backing_store=Always;
        xswa.bit_gravity=StaticGravity;
        xswa.win_gravity=CenterGravity;
        window=XCreateWindow(display,XRootWindowOfScreen(screen),
                             randval(50),randval(100),windowW,windowH,0,
                             XDefaultDepthOfScreen(screen),InputOutput,
                             XDefaultVisualOfScreen(screen),
                             CWWinGravity|CWBitGravity|CWBackingStore|CWEventMask|
                             CWBackPixel|CWOverrideRedirect|CWBorderPixel,&xswa);

        if (sdepth!=1)
            xcolormap=XCreateColormap(display,window,
                                      visual,AllocAll);

        xgcv.foreground = white;
        xgcv.background = black;
        gc=XCreateGC(display,window,GCForeground | GCBackground,&xgcv);

        XSetGraphicsExposures(display,gc,False);
        /* CAPITAL!!! : evite d'accumuler sans cesse des expose events */

        xsh.x=0;
        xsh.y=0;
        xsh.width=windowW;
        xsh.height=windowH;
        xsh.min_width=windowW;
        xsh.max_width=windowW;
        xsh.min_height=windowH;
        xsh.max_height=windowH;
        xsh.flags=PPosition|PSize|PMinSize|PMaxSize;

        XSetNormalHints(display, window, &xsh);
        XStoreName(display,window,"");
        XMapWindow(display, window);
        XSelectInput(display,window,PointerMotionMask|ButtonPressMask|
                     ButtonReleaseMask|KeyPressMask|KeyReleaseMask);
        XFlush(display);
        XSync(display,0);

        for (i=0; i<(NBCOLORS+2); i++)
        {
            if (i&1) pixels[i]=white;
            else pixels[i]=black;
            if (i==NBCOLORS) pixels[i]=0;
            if (i==(NBCOLORS+1)) pixels[i]=(1<<rdepth)-1;
            xgcv.foreground=pixels[i];
            xgcv.background=black;
            gctab[i]=XCreateGC(display,window,
                               GCForeground|GCBackground,&xgcv);
            XSetFunction(display,gctab[i],GXcopy);
            XSetFillStyle(display,gctab[i],FillSolid);
        }

        ecran[0]=XCreatePixmap(display,window,windowW,windowH,rdepth);
        ecran[1]=XCreatePixmap(display,window,windowW,windowH,rdepth);

        for(i=0; i<9; i++)
            graypixmap[i]=XCreatePixmapFromBitmapData(display,window,
                          &graypat[i][0],8,8,white,black,rdepth);

        setpalette(egapal);

        cls();
        swap();
        cls();

        empty();
        waitdelay(500);

        return(1);
    }
}
예제 #19
0
main(int argc,char *argv[])
{
	int	timer=30000;
	int	dropper,repeat;
	int	frame=0;
	int	rota=-1*64;
	int	fb=0;
	int	rot=0,rots=0;
	int	a,b,c,d,i,j,mode;
	int	grav,gravd;
	int	f=0;
	dis_partstart();
	dotnum=512;
	for(a=0;a<dotnum;a++)  dottaul[a]=a;
	for(a=0;a<500;a++)
	{
		b=rand()%dotnum;
		c=rand()%dotnum;
		d=dottaul[b];
		dottaul[b]=dottaul[c];
		dottaul[c]=d;
	}
	{
		dropper=22000;
		for(a=0;a<dotnum;a++)
		{
			dot[a].x=0;
			dot[a].y=2560-dropper;
			dot[a].z=0;
			dot[a].yadd=0;
		}
		mode=7;
		grav=3;
		gravd=13;
		gravitybottom=8105;
		i=-1;
	}
	for(a=0;a<500;a++)
	{ // scramble
		b=rand()%dotnum;
		c=rand()%dotnum;
		d=dot[b].x; dot[b].x=dot[c].x; dot[c].x=d;
		d=dot[b].y; dot[b].y=dot[c].y; dot[c].y=d;
		d=dot[b].z; dot[b].z=dot[c].z; dot[c].z=d;
	}
	for(a=0;a<200;a++) rows[a]=a*320;
	_asm mov ax,13h
	_asm int 10h
	outp(0x3c8,0);
	for(a=0;a<16;a++) for(b=0;b<4;b++)
	{
		c=100+a*9;
		outp(0x3c9,cols[b*3+0]);
		outp(0x3c9,cols[b*3+1]*c/256);
		outp(0x3c9,cols[b*3+2]*c/256);
	}
	outp(0x3c8,255);
	outp(0x3c9,31);
	outp(0x3c9,0);
	outp(0x3c9,15);
	outp(0x3c8,64);
	for(a=0;a<100;a++)
	{
		c=64-256/(a+4);
		c=c*c/64;
		outp(0x3c9,c/4);
		outp(0x3c9,c/4);
		outp(0x3c9,c/4);
	}
	outp(0x3c7,0);
	for(a=0;a<768;a++) pal[a]=inp(0x3c9);
	outp(0x3c8,0);
	for(a=0;a<768;a++) outp(0x3c9,0);
	for(a=0;a<100;a++)
	{
		memset(vram+(100+a)*320,a+64,320);
	}
	for(a=0;a<128;a++)
	{
		c=a-(43+20)/2;
		c=c*3/4;
		c+=8;
		if(c<0) c=0; else if(c>15) c=15;
		c=15-c;
		depthtable1[a]=0x202+0x04040404*c;
		depthtable2[a]=0x02030302+0x04040404*c;
		depthtable3[a]=0x202+0x04040404*c;
		//depthtable4[a]=0x02020302+0x04040404*c;
	}
	bgpic=halloc(64000L,1L);
	memcpy(bgpic,vram,64000);
	a=0;
	for(b=64;b>=0;b--)
	{	
		for(c=0;c<768;c++)
		{
			a=pal[c]-b;
			if(a<0) a=0;
			pal2[c]=a;
		}
		dis_waitb();
		dis_waitb();
		outp(0x3c8,0);
		for(c=0;c<768;c++) outp(0x3c9,pal2[c]);
	}
	
	while(!dis_exit() && frame<2450)
	{
		//setborder(0);
		repeat=dis_waitb();
		if(frame>2300) setpalette(pal2);
		//setborder(1);
		if(dis_indemo())
		{
			a=dis_musplus();
			if(a>-4 && a<0) break;
		}
		while(repeat--)
		{
			frame++;
			if(frame==500) f=0;
			i=dottaul[j];
			j++; j%=dotnum;
			if(frame<500)
			{
				dot[i].x=isin(f*11)*40;
				dot[i].y=icos(f*13)*10-dropper;
				dot[i].z=isin(f*17)*40;
				dot[i].yadd=0;
			}
			else if(frame<900)
			{
				dot[i].x=icos(f*15)*55;
				dot[i].y=dropper;
				dot[i].z=isin(f*15)*55;
				dot[i].yadd=-260;
			}
			else if(frame<1700)
			{	
				a=sin1024[frame&1023]/8;
				dot[i].x=icos(f*66)*a;
				dot[i].y=8000;
				dot[i].z=isin(f*66)*a;
				dot[i].yadd=-300;
			}
			else if(frame<2360)
			{
				/*
				a=rand()/128+32;
				dot[i].y=8000-a*80;
				b=rand()&1023;
				a+=rand()&31;
				dot[i].x=sin1024[b]*a/3+(a-50)*7;
				dot[i].z=sin1024[(b+256)&1023]*a/3+(a-40)*7;
				dot[i].yadd=300;
				if(frame>1640 && !(frame&31) && grav>-2) grav--;
				*/
				dot[i].x=rand()-16384;
				dot[i].y=8000-rand()/2;
				dot[i].z=rand()-16384;
				dot[i].yadd=0;
				if(frame>1900 && !(frame&31) && grav>0) grav--;
			}
			else if(frame<2400)
			{
				a=frame-2360;
				for(b=0;b<768;b+=3)
				{
					c=pal[b+0]+a*3;
					if(c>63) c=63;
					pal2[b+0]=c;
					c=pal[b+1]+a*3;
					if(c>63) c=63;
					pal2[b+1]=c;
					c=pal[b+2]+a*4;
					if(c>63) c=63;
					pal2[b+2]=c;
				}
			}
			else if(frame<2440)
			{
				a=frame-2400;
				for(b=0;b<768;b+=3)
				{
					c=63-a*2;
					if(c<0) c=0;
					pal2[b+0]=c;
					pal2[b+1]=c;
					pal2[b+2]=c;
				}
			}
			if(dropper>4000) dropper-=100;
			rotcos=icos(rot)*64; rotsin=isin(rot)*64;
			rots+=2;
			if(frame>1900) 
			{
				rot+=rota/64;
				rota--;
			}
			else rot=isin(rots);
			f++;
			gravity=grav;
			gravityd=gravd;
		}
		drawdots();
	}
	if(!dis_indemo())
	{
		_asm mov ax,3h
		_asm int 10h
	}
예제 #20
0
int main(void){
    /* DECLARATION */
	#ifdef STEPDB_ON
	vblStepByStep vblSbS;
	#endif
	logoZoomEffect logoZoomEffect;
	snowField snowFieldBig, snowFieldMedium, snowFieldLittle;
	WORD sinText = 0;
	WORD sinLogo = 0;
	WORD backdropColorIndex = 0;

    #ifdef TEXT_ON
    texter text;
    #endif

	#ifdef TRIANGLES_ON
	TRIANGLE01U_INIT
	TRIANGLE02U_INIT
	TRIANGLE03U_INIT
	TRIANGLE01D_INIT
	TRIANGLE02D_INIT
	TRIANGLE03D_INIT
	#endif

    /* INIT */
	playcdda();
	setpalette(0, 60, (const PPALETTE)&palettes);	
	backdropColorNext(&backdropColorIndex);

	#ifdef STEPDB_ON
	vblSbS = vblStepByStepMake();
	#endif
	logoZoomEffect = logoZoomEffectMake(0,75,2);
	set_current_sprite(3);

	/* INIT SPRITE & STRUCT SPRITE */
	/*	SNOW */
	#ifdef SNOW
	snowFieldBig = snowFieldMake(1);
	#endif
	
	#ifdef LOGO
	logoZoomEffect.spriteId = get_current_sprite();
	logoZoomEffectUpdate(&logoZoomEffect, sinLogo);
	#endif

	#ifdef SNOW
	snowFieldLittle = snowFieldMake(3);
	snowFieldMedium = snowFieldMake(2);
	#endif
		
	#ifdef TRIANGLES_ON
	triangle03U_id = write_sprite_data(0, 0, 15, 255, tileSizeClipping(48), tileSizeNB(512), (const PTILEMAP)&triangle03up);
	triangle02U_id = write_sprite_data(0, 0, 15, 255, tileSizeClipping(32), tileSizeNB(512), (const PTILEMAP)&triangle02up);
	triangle01U_id = write_sprite_data(0, 0, 15, 255, tileSizeClipping(16), tileSizeNB(512), (const PTILEMAP)&triangle01up);
	triangle03D_id = write_sprite_data(0, (FIXED)triangle03D_y, 15, 255, tileSizeClipping(48), tileSizeNB(512), (const PTILEMAP)&triangle03down);
	triangle02D_id = write_sprite_data(0, (FIXED)triangle02D_y, 15, 255, tileSizeClipping(32), tileSizeNB(512), (const PTILEMAP)&triangle02down);
	triangle01D_id = write_sprite_data(0, (FIXED)triangle01D_y, 15, 255, tileSizeClipping(16), tileSizeNB(512), (const PTILEMAP)&triangle01down);
	#endif

	#ifdef TEXT_ON
		
	#define TEXT00 "*** THE BOYS FROM RSE BACK ONCE AGAIN ***  THIS TIME ON THE MIGHTY NEO GEO CD! ENJOY THIS LITTLE ONE SCRENER, NOW GO MAKE ONE YOURSELF FOR THIS BEAUTIFUL PLATFORM ***                       * TEXT * 4PLAY                            * GRAPHICS AND DESIGN * GRASS        * CODE AND MUSIC * NAINAIN           GRASS SEND A PERSONNAL GREETING TO NEO-GEO.HU * THE HUNGARIAN NEO-GEO COMMUNITY.                                              "
	
	text = texter8Make(TEXT00, vec2intMake(328,100));
	#endif
	while(1){
		wait_vbl();
		#ifdef TRIANGLES_ON
		triangle01Dmove(triangle01D_id, &triangle01D_x, &triangle01D_y, &triangle01D_yz, &triangle01D_zoomPol);
		triangle02Dmove(triangle02D_id, &triangle02D_x, &triangle02D_y, &triangle02D_yz, &triangle02D_zoomPol);
		triangle03Dmove(triangle03D_id, &triangle03D_x, &triangle03D_y, &triangle03D_yz, &triangle03D_zoomPol);

		triangle01Umove(triangle01U_id, &triangle01U_x, &triangle01U_yz, &triangle01U_zoomPol);
		triangle02Umove(triangle02U_id, &triangle02U_x, &triangle02U_yz, &triangle02U_zoomPol);
		triangle03Umove(triangle03U_id, &triangle03U_x, &triangle03U_yz, &triangle03U_zoomPol);
		#endif
		
		//texter sin
		#ifdef TEXT_ON
		if (_vbl_count % 2 == 0){
			sinText++;
		}
		#endif
		#ifdef SNOW
		if(_vbl_count > 80){
			snowFieldUpdate(&snowFieldBig);
			snowFieldUpdate(&snowFieldMedium);
			snowFieldUpdate(&snowFieldLittle);
		}
		#endif

		#ifdef LOGO
		logoZoomEffectUpdate(&logoZoomEffect, sinLogo);
		#endif

		//BACKDROP COLOR 
		if (backdropColorIndex <= 15 && _vbl_count % 20 == 0){
			backdropColorNext(&backdropColorIndex);
		}
		
		#ifdef TEXT_ON
		if (_vbl_count > 200) {
			texter8SinScrollEffect(&text, sinText);
			#ifdef TEXTERDB_ON
			texter8SinScrollEffectDebug(text);
			#endif
		}
		if(_vbl_count % 4200 == 0) { // TEXT RESTART
			text.headPlaySpr = 0;
			text.headPlayStr = 0;
			text.isComplete = 0;
		}
		#endif
		#ifdef LOGO
		sinLogo++;
		#endif

		#ifdef STEPDB_ON
		vblStepByStepUpdate(&vblSbS);
		#endif
	}
}
예제 #21
0
void getinputs()
{
	FILE *in;
	int count,loop1,loop2,loop3;
	char *temp,ch;
	char far *tempbm;

	if ((in=fopen("level001.dat","r"))==NULL)
	{
		exitgame();
		printf("level001.dat could not be found!\n");
		exit(1);
	}
	fseek(in,0,SEEK_SET);
	for (loop1=0;loop1<12;loop1++) {
		for (loop2=0;loop2<=data.maxlength;loop2++)
		{
			ch=getc(in);
			if(ch<='0')
				data.world[loop1][loop2]=0;
			if (ch>='a' && ch<='z')
				data.world[loop1][loop2]=ch-70;
			if (ch>='A' && ch<='Z')
				data.world[loop1][loop2]=ch-64;
			if (loop1==0)
				data.world[loop1][loop2]=0;
		}
	}
	fclose(in);

	if ((in=fopen("BLOCK001.PCX","rb"))==NULL)
	{
		exitgame();
		printf("block001.pcx could not be found!\n");

		exit(1);
	}
	temp=getpcx(in,temp,6000);
	tempbm=(char far *)farmalloc(258);

	for (loop1=0;loop1<26;loop1++)
	{
		count=2;
		for (loop2=0;loop2<16;loop2++) {
			for (loop3=0;loop3<16;loop3++)
				tempbm[count++]=temp[loop1*17+(loop2+1)*320+loop3+1];
		}
		bm_to_pbm(tempbm,data.block[loop1+26]);
	}
	free(temp);
	fseek(in,-768,SEEK_END);
	for (loop1=0;loop1<256;loop1++)
	{
		data.palette[loop1].red=(getc(in)>>2);
		data.palette[loop1].green=(getc(in)>>2);
		data.palette[loop1].blue=(getc(in)>>2);
	}
	fclose(in);

	if ((in=fopen("BGRND001.PCX","rb"))==NULL)
	{
		exitgame();
		printf("bgrnd0001.pcx could not be found!\n");

		exit(1);
	}
	temp=getpcx(in,temp,6000);
	for (loop1=0;loop1<26;loop1++)
	{
		count=2;
		for (loop2=0;loop2<16;loop2++) {
			for (loop3=0;loop3<16;loop3++)
				tempbm[count++]=temp[loop1*17+(loop2+1)*320+loop3+1];
		}
		bm_to_pbm(tempbm,data.block[loop1]);
	}
	free(temp);
	fclose(in);

	if ((in=fopen("COIN.PCX","rb"))==NULL)
	{
		exitgame();
		printf("coin.pcx could not be found!\n");
		exit(1);
	}
	temp=getpcx(in,temp,6000);
	for (loop1=0;loop1<3;loop1++)
	{
		count=2;
		for (loop2=0;loop2<16;loop2++) {
			for (loop3=0;loop3<16;loop3++)
				tempbm[count++]=temp[loop1*17+(loop2+1)*320+loop3];
		}
		bm_to_pbm(tempbm,data.coin[loop1]);
	}
	free(temp);
	fclose(in);
	farfree(tempbm);


	for (loop1=0;loop1<256;loop1++)
		setpalette(loop1,data.palette[loop1]);

}
예제 #22
0
파일: tetris.cpp 프로젝트: milon/Tetris
void InitPalette()
{	/*Blue Colors*/
	setpalette(BLUE,1);    //Normal
	setpalette(BLUEDR,8);  //Dark
	setpalette(BLUEBR,9);  //Bright

	/*Red Colors*/
	setpalette(RED,4);     //Normal
	setpalette(REDDR,32);  //Dark
	setpalette(REDBR,36);  //Bright

	/*Green Colors*/
	setpalette(GREEN,2);     //Normal
	setpalette(GREENDR,16);  //Dark
	setpalette(GREENBR,18);  //Bright

	/*Purple Colors*/
	setpalette(PURPLE,13);    //Normal
	setpalette(PURPLEDR,33);  //Dark
	setpalette(PURPLEBR,61);  //Bright

	/*Yellow Colors*/
	setpalette(YELLOW,6);     //Normal
	setpalette(YELLOWDR,48);  //Dark
	setpalette(YELLOWBR,62);  //Bright
}