9 #define DPII (3.1415926535*2.0)
\r
15 #define SINMASK 4095
\r
16 #define PLZSINI(p1,p2,p3,p4) *ptr++ = (psini[x*32+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+p4]*4+p3]) + (psini[x*32+16+lsini[y*2+p2]*16+p1] + psini[y*4+lsini[x*64+32+p4]*4+p3])*256;
\r
18 // extern int init_copper();
\r
19 // extern int close_copper();
\r
20 //extern int far frame_count;
\r
21 extern int frame_count;
\r
22 extern int far cop_drop;
\r
23 extern int far cop_plz;
\r
24 extern int far cop_start;
\r
25 extern char far * cop_fadepal;
\r
26 extern char fadepal[768];
\r
27 extern char far *cop_pal;
\r
30 //extern int plzline(int y, int vseg);
\r
31 //extern int setplzparas(int c1, int c2, int c3, int c4);
\r
32 //extern int set_plzstart(int y);
\r
33 extern char far psini[16384];
\r
34 extern int far lsini4[8192];
\r
35 extern int far lsini16[8192];
\r
37 int (* vmem)[LINELEN]=MK_FP(0x0a000,0);
\r
38 //char psini[16384]=
\r
39 //#include "psini.inc"
\r
40 //char lsini[16384]=
\r
41 //#include "lsini.inc"
\r
48 int timetable[10]={64*6*2-45,64*6*4-45,64*6*5-45,64*6*6-45,64*6*7+90,0};
\r
51 int l1=1000, l2=2000, l3=3000, l4=4000;
\r
52 int k1=3500, k2=2300, k3=3900, k4=3670;
\r
54 int il1=1000, il2=2000, il3=3000, il4=4000;
\r
55 int ik1=3500, ik2=2300, ik3=3900, ik4=3670;
\r
57 int inittable[10][8]={{1000,2000,3000,4000,3500,2300,3900,3670},
\r
58 {1000,2000,4000,4000,1500,2300,3900,1670},
\r
59 {3500,1000,3000,1000,3500,3300,2900,2670},
\r
60 {1000,2000,3000,4000,3500,2300,3900,3670},
\r
61 {1000,2000,3000,4000,3500,2300,3900,3670},
\r
62 {1000,2000,3000,4000,3500,2300,3900,3670}};
\r
70 //while(dis_musplus()<0 && !dis_exit());
\r
75 cop_fadepal=(char far *)pals[curpal++];
\r
80 tim+=frame_count; frame_count=0; count++;
\r
81 //if(dis_getmframe()>timetable[ttptr])
\r
83 memset(fadepal,0,768);
\r
85 cop_fadepal=(char far *)pals[curpal++];
\r
87 il1=inittable[ttptr][0];
\r
88 il2=inittable[ttptr][1];
\r
89 il3=inittable[ttptr][2];
\r
90 il4=inittable[ttptr][3];
\r
91 ik1=inittable[ttptr][4];
\r
92 ik2=inittable[ttptr][5];
\r
93 ik3=inittable[ttptr][6];
\r
94 ik4=inittable[ttptr][7];
\r
96 if(curpal==5 && cop_drop>64) break;
\r
105 setplzparas(k1,k2,k3,k4);
\r
106 for(y=0;y<MAXY;y+=2)
\r
107 plzline(y,0x0a000+y*6+YADD*6);
\r
108 setplzparas(l1,l2,l3,l4);
\r
109 for(y=1;y<MAXY;y+=2)
\r
110 plzline(y,0x0a000+y*6+YADD*6);
\r
120 setplzparas(k1,k2,k3,k4);
\r
121 for(y=1;y<MAXY;y+=2)
\r
122 plzline(y,0x0a000+y*6+YADD*6);
\r
123 setplzparas(l1,l2,l3,l4);
\r
124 for(y=0;y<MAXY;y+=2)
\r
125 plzline(y,0x0a000+y*6+YADD*6);
\r
127 cop_drop=0; frame_count=0; //while(frame_count==0);
\r
139 FILE *f1,*f2,*f3,*f4;
\r
140 f1=fopen("lsini4.inc","wb");
\r
141 f2=fopen("lsini16.inc","wb");
\r
142 f3=fopen("psini.inc","wb");
\r
143 f4=fopen("ptau.inc","wb");
\r
145 for(a=0;a<1024*16;a++)
\r
149 lsini4[a]=(sin(a*DPII/4096)*55+sin(a*DPII/4096*5)*8+sin(a*DPII/4096*15)*2+64)*8;
\r
150 lsini16[a]=(sin(a*DPII/4096)*55+sin(a*DPII/4096*4)*5+sin(a*DPII/4096*17)*3+64)*16;
\r
152 psini[a]=sin(a*DPII/4096)*55+sin(a*DPII/4096*6)*5+sin(a*DPII/4096*21)*4+64;
\r
157 fprintf(f1,"\ndw %4d",lsini4[a]);
\r
158 fprintf(f2,"\ndw %4d",lsini16[a]);
\r
160 fprintf(f3,"\ndb %4d",psini[a]);
\r
165 fprintf(f1,",%4d",lsini4[a]);
\r
166 fprintf(f2,",%4d",lsini16[a]);
\r
168 fprintf(f3,",%4d",psini[a]);
\r
172 fprintf(f4,"{\n%d",ptau[0]=0);
\r
173 for(a=1;a<=128;a++)
\r
175 fprintf(f4,",%3d",ptau[a]=cos(a*DPII/128+3.1415926535)*31+32);
\r
176 if(!(a&15)) fputc('\n',f4);
\r
178 fputc('}',f4); fputc(';',f4);
\r
180 fclose(f1); fclose(f2); fclose(f3); fclose(f4);
\r
184 cop_start=96*(682-400);
\r
186 //++++ init_copper();
\r
187 for(a=0;a<256;a++) tw_setrgbpalette(a,63,63,63);
\r
191 for(a=1;a<64;a++) *pptr++=ptau[a ],*pptr++=ptau[0 ],*pptr++=ptau[0 ];
\r
192 for(a=0;a<64;a++) *pptr++=ptau[63-a],*pptr++=ptau[0 ],*pptr++=ptau[0 ];
\r
193 for(a=0;a<64;a++) *pptr++=ptau[0 ],*pptr++=ptau[0 ],*pptr++=ptau[a];
\r
194 for(a=0;a<64;a++) *pptr++=ptau[a ],*pptr++=ptau[0 ],*pptr++=ptau[63-a];
\r
198 for(a=1;a<64;a++) *pptr++=ptau[a ],*pptr++=ptau[0 ],*pptr++=ptau[0 ];
\r
199 for(a=0;a<64;a++) *pptr++=ptau[63-a],*pptr++=ptau[0 ],*pptr++=ptau[a ];
\r
200 for(a=0;a<64;a++) *pptr++=ptau[0 ],*pptr++=ptau[a ],*pptr++=ptau[63-a];
\r
201 for(a=0;a<64;a++) *pptr++=ptau[a ],*pptr++=ptau[63 ],*pptr++=ptau[a ];
\r
205 for(a=1;a<64;a++) *pptr++=ptau[a ],*pptr++=ptau[0 ],*pptr++=ptau[0 ];
\r
206 for(a=0;a<64;a++) *pptr++=ptau[63 ],*pptr++=ptau[a ],*pptr++=ptau[a ];
\r
207 for(a=0;a<64;a++) *pptr++=ptau[63-a],*pptr++=ptau[63-a],*pptr++=ptau[63 ];
\r
208 for(a=0;a<64;a++) *pptr++=ptau[0 ],*pptr++=ptau[0 ],*pptr++=ptau[63 ];
\r
212 for(a=1;a<64;a++) *pptr++=ptau[0 ]/2,*pptr++=ptau[0 ]/2,*pptr++=ptau[0 ]/2;
\r
213 for(a=0;a<64;a++) *pptr++=ptau[a ]/2,*pptr++=ptau[a ]/2,*pptr++=ptau[a ]/2;
\r
214 for(a=0;a<64;a++) *pptr++=ptau[63-a]/2,*pptr++=ptau[63-a]/2,*pptr++=ptau[63-a]/2;
\r
215 for(a=0;a<64;a++) *pptr++=ptau[0 ]/2,*pptr++=ptau[0 ]/2,*pptr++=ptau[0 ]/2;
\r
219 for(a=1;a<75;a++) *pptr++=ptau[63-a*64/75],*pptr++=ptau[63-a*64/75],*pptr++=ptau[63-a*64/75];
\r
220 for(a=0;a<106;a++)*pptr++=0,*pptr++=0,*pptr++=0;
\r
221 for(a=0;a<75;a++) *pptr++=ptau[a*64/75]*8/10,*pptr++=ptau[a*64/75]*9/10,*pptr++=ptau[a*64/75];
\r
224 for(a=0;a<768;a++,pptr++) *pptr=(*pptr-63)*2;
\r
225 for(a=768;a<768*5;a++,pptr++) *pptr*=8;
\r