Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
60
PAM/ANIM.C
Normal file
60
PAM/ANIM.C
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
#include <dos.h>
|
||||
#include <mem.h>
|
||||
|
||||
char pal[768];
|
||||
char far mpage1[65535];
|
||||
char far mpage2[65535];
|
||||
|
||||
FILE *out;
|
||||
|
||||
main()
|
||||
{
|
||||
FILE *data;
|
||||
|
||||
asm mov ax, 13h
|
||||
asm int 10h
|
||||
|
||||
data=fopen("pal.pal","rb");
|
||||
fread(pal,1,768,data);
|
||||
tw_setpalette(pal);
|
||||
fclose(data);
|
||||
|
||||
data=fopen("out.u","rb");
|
||||
out=fopen("out.ani","wb");
|
||||
while(!kbhit() && !feof(data))
|
||||
{
|
||||
memcpy(MK_FP(0x0a000,0),mpage1,64000);
|
||||
memcpy(mpage1,mpage2,64000);
|
||||
fread(mpage2,1,64000,data);
|
||||
if(feof(data)) break;
|
||||
packframe();
|
||||
}
|
||||
}
|
||||
|
||||
packframe()
|
||||
{
|
||||
unsigned int cnt=0;
|
||||
int a=0,b=0,ch=0;
|
||||
char *p1=mpage2,*p2=MK_FP(0x0a000,0);
|
||||
|
||||
while((ftell(out)&15)!=0) fputc(0,out);
|
||||
|
||||
while(cnt<64000)
|
||||
{
|
||||
if(*p1!=*p2)
|
||||
{
|
||||
for(a=1;*p1==*(p1+a) && *(p1+a)!=*(p2+a) && a<120 && cnt+a<64000;a++);
|
||||
fputc(a,out);
|
||||
fputc(*p1,out);
|
||||
p1+=a; p2+=a; cnt+=a;
|
||||
}
|
||||
else {
|
||||
for(a=1;*(p1+a)==*(p2+a) && a<120 && cnt+a<64000;a++);
|
||||
fputc(-a,out);
|
||||
p1+=a; p2+=a; cnt+=a;
|
||||
}
|
||||
}
|
||||
fputc(0,out);
|
||||
}
|
||||
Loading…
Reference in a new issue