Esempio n. 1
0
void seek_section(FILE *txt,int sect_number)
  {
  int c = 0,i;

  winconv = 0;
  do
     {
     while (c !='[' && c != EOF) c = fgetc(txt);
     if (c =='[')
       {
       i = -2;
       fscanf(txt,"%d",&i);
       if (i == sect_number)
          {
          c = fgetc(txt);
          while(c !=']')
             {
             if (c =='W' || c =='w') winconv = 1;
             if (c =='K' || c =='k') winconv = 0;
             c = fgetc(txt);
             }
          return;
          }
       }
     c = 0;
     }
  while (i != EOF);
  closemode();
	{
    char buff[256];
	sprintf(buff,"Nemohu najit odstavec s cislem %d.",sect_number);
	MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP);
	}
  exit(1);
  }
Esempio n. 2
0
void fire()									/********火焰动画********/
{
	unsigned int x,y,c;
	setmode();
	for (x=1;x<=32;x++)
	{
		setpal(x,    x*2-1, 0,     0    );
		setpal(x+32, 63,    x*2-1, 0    );
		setpal(x+64, 63,    63,    x*2-1);
		setpal(x+96, 63,    63,    63   );
	}

	while(bioskey(1)==0)
	{
		for (x=0;x<320;x+=2)
		{
			for (y=1;y<=202;y+=2)
			{
				c=(point(x,y)+point(x+2,y)+point(x,y+2)+point(x+2,y+2))>>2;
				if (c--)
				{
					poke(0xa000,(y-2)*320+x,(c<<8)+c);
					poke(0xa000,(y-1)*320+x,(c<<8)+c);
				}
			}
		y-=2;
		pset(x,y,random(320));
		}
	}
	getch();
	closemode();
}
Esempio n. 3
0
void script_compress(char *script_name)
  {
  FILE *scr,*snf;
  char s[256],name[256];
  char snd_name[256],*c;
  int i;

  scr=fopen(script_name,"r");
  strcpy(snd_name,script_name);
  c=strrchr(snd_name,'.');
  if (c==NULL) strcat(snd_name,SND_NAME);
  else strcpy(c,SND_NAME);
  if (scr==NULL)
     {
     printf("Nemohu otev©¡t script: %s\n",script_name);
     exit(1);
     }
  snf=fopen(snd_name,"w");
  i=fscanf(scr,"%255s",name);
  if (i!=1)
     {
     printf("Chyba ve script souboru: %s. Prvni mus¡ b˜t jm‚no c¡lov‚ho souboru.\n",scr);
     exit(1);
     }
  i=fscanf(scr,"%d",&speed);
  create_mgf_file(name);
  while ((i=fgetc(scr))!=EOF && i!='\n');
  i=fgetc(scr);
  initmode32();
  while (i!=EOF)
     {
     while (i<33 && i!=EOF) i=fgetc(scr);
     if (i!='#')
        {
        int j=lowq;
        ungetc(i,scr);
        i=fscanf(scr,"%s %d %d %d %d",s,&j,&min_fr,&max_fr,&colorq);
        strupr(s);
        if (!strcmp(s,"FRAMESTEP")) frame_step=j;
        else
        if (!strcmp(s,"STATIC")) statpic=j;
        else
        if (i>=1)
           {
           lowq=j;
           if (snf!=NULL) fprintf(snf,"%d ",global_frame_counter);
           compress_pcx(s);
           }
        }
     else
        while ((i=fgetc(scr))!=EOF && i!='\n');
     i=fgetc(scr);
     }
  closemode();
  fclose(scr);
  if (snf!=NULL) fclose(snf);
  close_mgf_file();
  }
Esempio n. 4
0
void spawn_editor(char *dosline)
  {
//  deinstall_mouse_handler();
  closemode();
  system(dosline);
  graph_init(1);
//  install_mouse_handler();
//  hranice_mysky(0,0,639,479);
  redraw_desktop();
  }
Esempio n. 5
0
main(int argc,char *argv[])
  {
  puts("\n(C)1997 Komprimator Motion GIF v0.9 by Ondrej Novak");
  if (argc<3)
     {
     puts("Pouziti:");putchar('\n');;
     puts("MGIF source.flc target.mgf [speed] [lowq] [min_fr] [max_fr] [colorq]");putchar('\n');
     puts("speed  - Prehravaci rychlost ve snimkach za sekundu (pro 22050kHz)\n"
          "lowq   - Nejnizsi mozny rozptyl barev sousednich bodu (snizuje kvalitu\n"
          "         obrazu) (default: 0)\n"
          "min_fr - Pozadavek na nejmensi velikost frame. Pod touto hranici v \n"
          "         nasledujicim frame snizi velikost ztraty (default: 0)\n"
          "max_fr - Pozadavek na nejvetsi velikost frame. Pri prekroceni teto \n"
          "         hranice se zvysi ztrata o jeden bod. (default 30000)\n"
          "colorq - Tato hodnota slouzi k predvidani velikosti ztraty. Udava\n"
          "         kolik bodu z celkoveho poctu zmen ve frame se menit nebude\n"
          "         Program pak vybere ty nejmensi rozdily a ty do rozdilove \n"
          "         mapy nezahrne. (default: 0)\n"
          "Velikost nejmensiho rozdilu je zobrazen pri komprimaci jako treti cislo\n"
          "Nula udava ze se nezapisuji jen ty body, ktere se nemeni.\n\n"
          "Pozn: Bezne neni nutne uvadet parametr colorq protoze stupen ztraty se \n"
          "voli podle vysledku predchoziho frame. Je dobre ho uvest pri velkych\n"
          "vykyvech velikosti frame. Tak zhruba pri ñ10KB. Hodnoty parametru se \n"
          "voli od 25000-35000, cim vyssi, tim vyssi stupen ztraty");
     exit(0);
     }
  switch (argc)
     {
     case 8:sscanf(argv[7],"%d",&colorq);
     case 7:sscanf(argv[6],"%d",&max_fr);
     case 6:sscanf(argv[5],"%d",&min_fr);
     case 5:sscanf(argv[4],"%d",&lowq);
     case 4:sscanf(argv[3],"%d",&speed);
     }
  create_mgf_file(argv[2]);
  initmode32();
  curfont=(void *)&sada7;
  compress_flc(argv[1]);
  closemode();
  puts("Zaviram Motion GIF...");
  close_mgf_file();
  }
Esempio n. 6
0
void cti_texty()
  {
  char path[80];int err;
  texty=(TSTR_LIST)create_list(4);
  sprintf(path,"%s%s",pathtable[SR_DATA],TEXTY);
  if ((err=load_string_list_ex(&texty,path))!=0)
     {
	 char buff[256];
     closemode();
     switch (err)
        {
        case -1:sprintf(buff,"Can't load string table. File %s has not been found\n",path);break;
        case -2:sprintf(buff,"Missing end mark (-1) at the end of string table\n");break;
        case -3:sprintf(buff,"Memory very low (need min 4MB)\n");break;
        default:sprintf(buff,"Error in string table at line %d\n",err);break;
        }
    MessageBox(NULL,buff,NULL,MB_OK|MB_ICONSTOP);
     exit(1);
     }
  }
Esempio n. 7
0
void dlg_error(char *chyba)
  {
  closemode();
  printf("Error in dialoge: %s\n",chyba);
  exit(1);
  }
Esempio n. 8
0
static void shut_down()
  {
//  deinstall_mouse_handler();
  closemode();
  }
Esempio n. 9
0
main(int argc,char *argv[])
  {
  puts("\n(C)1997 Komprimator Motion GIF v0.9 by Ondrej Novak");
  if (argc<2)
     {
     puts("Pouziti:");putchar('\n');;
     puts("PCX2MGIF [d:\\path\\]source target.mgf [speed] [lowq] [min_fr] [max_fr] [colorq]");putchar('\n');
     puts("source - Jsou 4 znaky kterymi zacina jmeno kazdeho frame (prvni 0). Takto je\n"
          "         mozne vytvorit animaci az o 9999 frames. Pokud je potreba delsi,pak\n"
          "         je ctvrty znak zmenen na cislo a je mozne  vytvorit animaci dlouhou\n"
          "         az 99999 frames. Priklad:\n\n"
          "           PCX2MGIF logo logo.mgf \n\n"
          "         Tento  zapis  vytvori animaci  logo.mgf, jenz bude  slozena z mnoha\n"
          "         obrazku ve formatu PCX, jejichz jmena  budou znit  LOGO0000.PCX  az\n"
          "         LOGO9999.PCX a  dale bude  pokracovat LOG10000.PCX  az LOG99999.PCX\n\n"
          "speed  - Prehravaci rychlost ve snimkach za sekundu (pro 22050kHz)\n"
          "         Pokud je dosazeno 0 pak neni do animace vkladana zvukova stopa\n"
          "         (Default: 0)\n"
          "lowq   - Nejnizsi mozny rozptyl barev sousednich bodu (snizuje kvalitu\n"
          "         obrazu) (default: 0)\n"
          "min_fr - Pozadavek na nejmensi velikost frame. Pod touto hranici v \n"
          "         nasledujicim frame snizi velikost ztraty (default: 0)");
     cprintf("--- klavesu ---\r");getche();
     puts("max_fr - Pozadavek na nejvetsi velikost frame. Pri prekroceni teto \n"
          "         hranice se zvysi ztrata o jeden bod. (default 99999)\n"
          "colorq - Tato hodnota slouzi k predvidani velikosti ztraty. Udava\n"
          "         kolik bodu z celkoveho poctu zmen ve frame se menit nebude\n"
          "         Program pak vybere ty nejmensi rozdily a ty do rozdilove \n"
          "         mapy nezahrne. (default: 0)\n\n"
          "Velikost nejmensiho rozdilu je zobrazen pri komprimaci jako treti cislo\n"
          "Nula udava ze se nezapisuji jen ty body, ktere se nemeni.\n\n"
          "Pozn1: Bezne neni nutne uvadet parametr colorq protoze stupen ztraty se \n"
          "voli podle vysledku predchoziho frame. Je dobre ho uvest pri velkych\n"
          "vykyvech velikosti frame. Tak zhruba pri ñ10KB. Hodnoty parametru se \n"
          "voli od 25000-35000, cim vyssi, tim vyssi stupen ztraty\n\n"
          "Pozn2: Pokud nektere parametry vynechas (treba znakem '-', nebo je na konci\n"
          "neuvedes, dosadi se default hodnoty. Ty jsou zvoleny tak, aby program\n"
          "nevypocitaval ztratu.\n");
     exit(0);
     }
  curfont=(void *)&boldcz;
  if (argc>2)
     {
     switch (argc)
       {
       case 8:sscanf(argv[7],"%d",&colorq);
       case 7:sscanf(argv[6],"%d",&max_fr);
       case 6:sscanf(argv[5],"%d",&min_fr);
       case 5:sscanf(argv[4],"%d",&lowq);
       case 4:sscanf(argv[3],"%d",&speed);
       }
     create_mgf_file(argv[2]);
     initmode32();
     compress_pcx(argv[1]);
     closemode();
     }
  else
     {
     script_compress(argv[1]);
     }
  puts("Zaviram Motion GIF...");
  close_mgf_file();
  }