Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
BIN
DOTS/A
Normal file
BIN
DOTS/A
Normal file
Binary file not shown.
250
DOTS/ASM.ASM
Normal file
250
DOTS/ASM.ASM
Normal file
|
|
@ -0,0 +1,250 @@
|
|||
include clink.inc
|
||||
code SEGMENT para public 'CODE'
|
||||
ASSUME cs:code
|
||||
|
||||
.386
|
||||
|
||||
MAXDOTS equ 1024
|
||||
|
||||
BOTTOM equ 8000
|
||||
|
||||
public _gravitybottom
|
||||
_gravitybottom dw BOTTOM
|
||||
|
||||
public _bpmin,_bpmax
|
||||
_bpmin dw 30000
|
||||
_bpmax dw -30000
|
||||
|
||||
public _gravity
|
||||
_gravity dw 0
|
||||
|
||||
public _dotnum
|
||||
_dotnum dw 0
|
||||
|
||||
public _gravityd
|
||||
_gravityd dw 16
|
||||
|
||||
dw -1280
|
||||
dw -960
|
||||
dw -640
|
||||
dw -320
|
||||
public _rows
|
||||
_rows dw 200 dup(0)
|
||||
|
||||
public _dot
|
||||
_dot LABEL WORD
|
||||
dot dw MAXDOTS dup(0,0,0,0,0,0,0,0) ;x,y,z,oldposshadow,oldpos,-,-,-
|
||||
|
||||
public _rotsin,_rotcos
|
||||
_rotsin dw 0
|
||||
_rotcos dw 0
|
||||
|
||||
public _bgpic
|
||||
_bgpic dw 0,0
|
||||
|
||||
public _depthtable1,_depthtable2,_depthtable3,_depthtable4
|
||||
_depthtable1 dd 128 dup(0)
|
||||
_depthtable2 dd 128 dup(0)
|
||||
_depthtable3 dd 128 dup(0)
|
||||
_depthtable4 dd 128 dup(0)
|
||||
|
||||
public _drawdots
|
||||
_drawdots PROC FAR
|
||||
CBEG
|
||||
mov ax,0a000h
|
||||
mov es,ax
|
||||
mov ax,cs
|
||||
mov ds,ax
|
||||
mov fs,cs:_bgpic[2]
|
||||
mov cx,cs:_dotnum
|
||||
mov si,OFFSET dot
|
||||
@@1: push cx
|
||||
|
||||
mov ax,ds:[si+0] ;X
|
||||
imul ds:_rotsin
|
||||
mov ax,ax
|
||||
mov cx,dx
|
||||
mov ax,ds:[si+4] ;Z
|
||||
imul ds:_rotcos
|
||||
sub ax,bx
|
||||
sub dx,cx
|
||||
mov bp,dx
|
||||
add bp,9000
|
||||
|
||||
mov ax,ds:[si+0] ;X
|
||||
imul ds:_rotcos
|
||||
mov bx,ax
|
||||
mov cx,dx
|
||||
mov ax,ds:[si+4] ;Z
|
||||
imul ds:_rotsin
|
||||
add ax,bx
|
||||
adc dx,cx
|
||||
shrd ax,dx,8
|
||||
sar dx,8
|
||||
|
||||
mov bx,ax
|
||||
mov cx,dx
|
||||
shrd ax,dx,3
|
||||
sar dx,3
|
||||
add ax,bx
|
||||
adc dx,cx
|
||||
|
||||
idiv bp
|
||||
add ax,160
|
||||
push ax
|
||||
cmp ax,319
|
||||
ja @@2
|
||||
|
||||
;shadow
|
||||
|
||||
xor ax,ax
|
||||
mov dx,8
|
||||
idiv bp
|
||||
add ax,100
|
||||
cmp ax,199
|
||||
ja @@2
|
||||
mov bx,ax
|
||||
shl bx,1
|
||||
mov bx,ds:_rows[bx]
|
||||
pop ax
|
||||
add bx,ax
|
||||
push ax
|
||||
|
||||
mov di,ds:[si+6]
|
||||
mov ax,fs:[di]
|
||||
mov es:[di],ax
|
||||
mov ax,87+87*256
|
||||
mov word ptr es:[bx],ax
|
||||
mov ds:[si+6],bx
|
||||
|
||||
;ball
|
||||
|
||||
mov ax,ds:_gravity
|
||||
add ds:[si+14],ax
|
||||
mov ax,ds:[si+2] ;Y
|
||||
add ax,ds:[si+14]
|
||||
cmp ax,ds:_gravitybottom
|
||||
jl @@4
|
||||
push ax
|
||||
mov ax,ds:[si+14]
|
||||
neg ax
|
||||
imul cs:_gravityd
|
||||
sar ax,4
|
||||
mov ds:[si+14],ax
|
||||
pop ax
|
||||
add ax,ds:[si+14]
|
||||
@@4: mov ds:[si+2],ax
|
||||
cwd
|
||||
shld dx,ax,6
|
||||
shl ax,6
|
||||
idiv bp
|
||||
add ax,100
|
||||
cmp ax,199
|
||||
ja @@3
|
||||
mov bx,ax
|
||||
shl bx,1
|
||||
mov bx,ds:_rows[bx]
|
||||
pop ax
|
||||
add bx,ax
|
||||
|
||||
mov di,ds:[si+8]
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
add di,320
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
add di,320
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
; add di,320
|
||||
; mov eax,fs:[di]
|
||||
; mov es:[di],eax
|
||||
shr bp,6
|
||||
and bp,not 3
|
||||
|
||||
cmp bp,cs:_bpmin
|
||||
jge @@t1
|
||||
mov cs:_bpmin,bp
|
||||
@@t1: cmp bp,cs:_bpmax
|
||||
jle @@t2
|
||||
mov cs:_bpmax,bp
|
||||
@@t2:
|
||||
mov ax,word ptr ds:_depthtable1[bp]
|
||||
mov word ptr es:[bx+1],ax
|
||||
mov eax,ds:_depthtable2[bp]
|
||||
mov dword ptr es:[bx+320],eax
|
||||
mov ax,word ptr ds:_depthtable3[bp]
|
||||
mov word ptr es:[bx+641],ax
|
||||
mov ds:[si+8],bx
|
||||
|
||||
@@z: pop cx
|
||||
add si,16
|
||||
loop @@1
|
||||
@@0: CEND
|
||||
|
||||
@@2: mov di,ds:[si+8]
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
add di,320
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
add di,320
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
mov di,ds:[si+6]
|
||||
mov ds:[si+6],ax
|
||||
mov ax,fs:[di]
|
||||
mov es:[di],ax
|
||||
pop bx
|
||||
pop cx
|
||||
add si,16
|
||||
loop @@1
|
||||
jmp @@0
|
||||
@@3: mov di,ds:[si+8]
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
add di,320
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
add di,320
|
||||
mov eax,fs:[di]
|
||||
mov es:[di],eax
|
||||
pop bx
|
||||
pop cx
|
||||
add si,16
|
||||
loop @@1
|
||||
jmp @@0
|
||||
_drawdots ENDP
|
||||
|
||||
PUBLIC _setpalette
|
||||
_setpalette PROC FAR
|
||||
push bp
|
||||
mov bp,sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
mov si,[bp+6]
|
||||
mov ds,[bp+8]
|
||||
mov dx,3c8h
|
||||
mov al,0
|
||||
out dx,al
|
||||
inc dx
|
||||
mov cx,768
|
||||
rep outsb
|
||||
pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
_setpalette ENDP
|
||||
|
||||
_face LABEL WORD
|
||||
public _face
|
||||
include face.inc
|
||||
dw 30000,30000,30000
|
||||
|
||||
PUBLIC _sin1024
|
||||
include sin1024.inc
|
||||
|
||||
code ENDS
|
||||
END
|
||||
BIN
DOTS/ASM.OBJ
Normal file
BIN
DOTS/ASM.OBJ
Normal file
Binary file not shown.
41
DOTS/CLINK.INC
Normal file
41
DOTS/CLINK.INC
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
FIXWORD MACRO ;go to word boundary
|
||||
if ($-start) mod 1
|
||||
db 0
|
||||
endif
|
||||
ENDM
|
||||
|
||||
CDS MACRO
|
||||
mov ax,cs
|
||||
mov ds,ax
|
||||
ENDM
|
||||
|
||||
CBEG MACRO ;C/Assembler procedure begin
|
||||
push bp
|
||||
mov bp,sp
|
||||
push si
|
||||
push di
|
||||
push ds
|
||||
ENDM
|
||||
|
||||
CEND MACRO ;C/Assembler procedure end
|
||||
pop ds
|
||||
pop di
|
||||
pop si
|
||||
pop bp
|
||||
ret
|
||||
ENDM
|
||||
|
||||
CBEG0 MACRO ;C/Assembler procedure begin, minimal
|
||||
push bp
|
||||
mov bp,sp
|
||||
ENDM
|
||||
|
||||
CEND0 MACRO ;C/Assembler procedure end, minimal
|
||||
pop bp
|
||||
ret
|
||||
ENDM
|
||||
|
||||
movpar MACRO reg,par ;loads parameter [par(0..)] to register [reg]
|
||||
mov reg,[bp+par*2+6]
|
||||
ENDM
|
||||
|
||||
86
DOTS/CUT
Normal file
86
DOTS/CUT
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
#if 0
|
||||
switch(mode=c)
|
||||
{
|
||||
case 0:
|
||||
for(a=0;a<dotnum;a++)
|
||||
{
|
||||
dot[a].x=(rand()-16384)/2;
|
||||
dot[a].y=(rand()-16384)/2;
|
||||
dot[a].z=(rand()-16384)/2;
|
||||
}
|
||||
break;
|
||||
case 1 :
|
||||
for(a=0;a<dotnum;a++)
|
||||
{
|
||||
dot[a].x=sin(f*2)*3500+cos(f*5)*3500;
|
||||
dot[a].y=sin(f*3)*3500+cos(f*6)*3500;
|
||||
dot[a].z=sin(f*4)*3500+cos(f*7)*3500;
|
||||
f+=.05;
|
||||
}
|
||||
break;
|
||||
case 2 :
|
||||
for(a=0;a<dotnum;a++)
|
||||
{
|
||||
dot[a].x=sin(a*4)*3500+cos(a*7)*3500;
|
||||
dot[a].y=cos(a*5)*3500+sin(a*8)*3500;
|
||||
dot[a].z=sin(a*6)*3500+cos(a*9)*3500;
|
||||
f+=.05;
|
||||
}
|
||||
break;
|
||||
case 3 :
|
||||
for(a=0;a<dotnum;a++)
|
||||
{
|
||||
dot[a].x=sin(a)*7500*sin(3.141592*a/dotnum);
|
||||
dot[a].y=-4000+a*8;
|
||||
dot[a].z=cos(a)*7500*sin(3.141592*a/dotnum);
|
||||
f+=.05;
|
||||
}
|
||||
gravity=3;
|
||||
break;
|
||||
case 4 :
|
||||
for(a=0;a<dotnum;a++)
|
||||
{
|
||||
dot[a].x=sin(a*4)*3500+cos(a*7)*3500;
|
||||
dot[a].y=cos(a*5)*3500+sin(a*8)*3500;
|
||||
dot[a].z=sin(a*6)*3500+cos(a*9)*3500;
|
||||
f+=.05;
|
||||
}
|
||||
gravity=3;
|
||||
break;
|
||||
case 5 :
|
||||
b=0;
|
||||
for(a=0;a<dotnum && face[b]!=30000;a++)
|
||||
{
|
||||
dot[a].x=face[b++];
|
||||
dot[a].y=face[b++];
|
||||
dot[a].z=face[b++];
|
||||
}
|
||||
break;
|
||||
case 6 :
|
||||
gravity=0;
|
||||
i=0;
|
||||
break;
|
||||
default :
|
||||
timer=15000;
|
||||
case 7 :
|
||||
for(a=0;a<dotnum;a++)
|
||||
{
|
||||
dot[a].x=0;
|
||||
dot[a].y=0;
|
||||
dot[a].z=-19000;
|
||||
}
|
||||
mode=7;
|
||||
gravity=3;
|
||||
gravityd=13;
|
||||
i=-1;
|
||||
break;
|
||||
case 8:
|
||||
for(a=0;a<dotnum;a++)
|
||||
{
|
||||
dot[a].x=(rand()-16384)/2;
|
||||
dot[a].y=8000;
|
||||
dot[a].z=(rand()-16384)/2;
|
||||
}
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
BIN
DOTS/DOTS.EXE
Normal file
BIN
DOTS/DOTS.EXE
Normal file
Binary file not shown.
BIN
DOTS/DP_PREFS
Normal file
BIN
DOTS/DP_PREFS
Normal file
Binary file not shown.
26
DOTS/FACE.C
Normal file
26
DOTS/FACE.C
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
#include <stdio.h>
|
||||
|
||||
char buf[1024];
|
||||
|
||||
main()
|
||||
{
|
||||
FILE *f1;
|
||||
int a,b,c=0;
|
||||
float x,y,z;
|
||||
f1=fopen("face.asc","rt");
|
||||
while(!feof(f1))
|
||||
{
|
||||
fgets(buf,1024,f1);
|
||||
fgets(buf,1024,f1);
|
||||
if(!memcmp(buf,"Vertex ",7))
|
||||
{
|
||||
if(c)
|
||||
{
|
||||
sscanf(buf,"Vertex %i: X: %f Y: %f Z: %f",&a,&x,&y,&z);
|
||||
printf("dw %i,%i,%i\n",(int)(x*1000),-(int)(z*1000),(int)(y*1000));
|
||||
}
|
||||
else c=1;
|
||||
}
|
||||
}
|
||||
fclose(f1);
|
||||
}
|
||||
BIN
DOTS/FACE.EXE
Normal file
BIN
DOTS/FACE.EXE
Normal file
Binary file not shown.
1
DOTS/FACE.INC
Normal file
1
DOTS/FACE.INC
Normal file
|
|
@ -0,0 +1 @@
|
|||
dw 2248,-2306,0
|
||||
291
DOTS/MAIN.C
Normal file
291
DOTS/MAIN.C
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <conio.h>
|
||||
#include <malloc.h>
|
||||
#include <math.h>
|
||||
#include "..\dis\dis.h"
|
||||
|
||||
extern int face[];
|
||||
|
||||
extern int bpmin,bpmax;
|
||||
|
||||
extern char *bgpic;
|
||||
extern int rotsin,rotcos;
|
||||
extern int rows[];
|
||||
extern long depthtable1[];
|
||||
extern long depthtable2[];
|
||||
extern long depthtable3[];
|
||||
extern long depthtable4[];
|
||||
|
||||
extern int dotnum;
|
||||
|
||||
extern void drawdots(void);
|
||||
|
||||
char far *vram=(char far *)0xa0000000L;
|
||||
|
||||
char pal[768];
|
||||
char pal2[768];
|
||||
|
||||
extern sin1024[];
|
||||
|
||||
int isin(int deg)
|
||||
{
|
||||
return(sin1024[deg&1023]);
|
||||
}
|
||||
|
||||
int icos(int deg)
|
||||
{
|
||||
return(sin1024[(deg+256)&1023]);
|
||||
}
|
||||
|
||||
extern struct
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
int old1;
|
||||
int old2;
|
||||
int old3;
|
||||
int old4;
|
||||
int yadd;
|
||||
} dot[];
|
||||
|
||||
extern int gravity;
|
||||
extern int gravitybottom;
|
||||
extern int gravityd;
|
||||
|
||||
void setborder(int color)
|
||||
{
|
||||
_asm
|
||||
{
|
||||
mov dx,3dah
|
||||
in al,dx
|
||||
mov dx,3c0h
|
||||
mov al,11h+32
|
||||
out dx,al
|
||||
mov al,color
|
||||
out dx,al
|
||||
}
|
||||
}
|
||||
|
||||
int cols[]={
|
||||
0,0,0,
|
||||
4,25,30,
|
||||
8,40,45,
|
||||
16,55,60};
|
||||
int dottaul[1024];
|
||||
|
||||
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
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
BIN
DOTS/MAIN.OBJ
Normal file
BIN
DOTS/MAIN.OBJ
Normal file
Binary file not shown.
24
DOTS/MAKEFILE
Normal file
24
DOTS/MAKEFILE
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
all : dots.exe face.exe
|
||||
|
||||
face.exe : face.c
|
||||
cl /qc /AL face.c
|
||||
face > face.inc
|
||||
|
||||
objs=main.obj asm.obj ..\dis\disc.obj
|
||||
|
||||
asm_f = /ML /m2 /s /JJUMPS
|
||||
c_f = /AL /c /W3
|
||||
|
||||
.asm.obj :
|
||||
tasm $(asm_f) $<
|
||||
|
||||
.c.obj :
|
||||
cl /qc $(c_f) $<
|
||||
|
||||
dots.exe : $(objs)
|
||||
link /E $(objs),dots.exe,nul;
|
||||
copy dots.exe ..\main\data\minvball.exe
|
||||
|
||||
asm.asm : face.inc
|
||||
|
||||
|
||||
33
DOTS/SIN1024.INC
Normal file
33
DOTS/SIN1024.INC
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
_sin1024 LABEL WORD
|
||||
dw 0,1,3,4,6,7,9,10,12,14,15,17,18,20,21,23,25,26,28,29,31,32,34,36,37,39,40,42,43,45,46,48
|
||||
dw 49,51,53,54,56,57,59,60,62,63,65,66,68,69,71,72,74,75,77,78,80,81,83,84,86,87,89,90,92,93,95,96
|
||||
dw 97,99,100,102,103,105,106,108,109,110,112,113,115,116,117,119,120,122,123,124,126,127,128,130,131,132,134,135,136,138,139,140
|
||||
dw 142,143,144,146,147,148,149,151,152,153,155,156,157,158,159,161,162,163,164,166,167,168,169,170,171,173,174,175,176,177,178,179
|
||||
dw 181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,211
|
||||
dw 212,213,214,215,216,217,217,218,219,220,221,221,222,223,224,225,225,226,227,227,228,229,230,230,231,232,232,233,234,234,235,235
|
||||
dw 236,237,237,238,238,239,239,240,241,241,242,242,243,243,244,244,244,245,245,246,246,247,247,247,248,248,249,249,249,250,250,250
|
||||
dw 251,251,251,251,252,252,252,252,253,253,253,253,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255
|
||||
dw 256,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,254,254,254,254,254,253,253,253,253,252,252,252,252,251,251,251
|
||||
dw 251,250,250,250,249,249,249,248,248,247,247,247,246,246,245,245,244,244,244,243,243,242,242,241,241,240,239,239,238,238,237,237
|
||||
dw 236,235,235,234,234,233,232,232,231,230,230,229,228,227,227,226,225,225,224,223,222,221,221,220,219,218,217,217,216,215,214,213
|
||||
dw 212,211,211,210,209,208,207,206,205,204,203,202,201,200,199,198,197,196,195,194,193,192,191,190,189,188,187,186,185,184,183,182
|
||||
dw 181,179,178,177,176,175,174,173,171,170,169,168,167,166,164,163,162,161,159,158,157,156,155,153,152,151,149,148,147,146,144,143
|
||||
dw 142,140,139,138,136,135,134,132,131,130,128,127,126,124,123,122,120,119,117,116,115,113,112,110,109,108,106,105,103,102,100,99
|
||||
dw 97,96,95,93,92,90,89,87,86,84,83,81,80,78,77,75,74,72,71,69,68,66,65,63,62,60,59,57,56,54,53,51
|
||||
dw 49,48,46,45,43,42,40,39,37,36,34,32,31,29,28,26,25,23,21,20,18,17,15,14,12,10,9,7,6,4,3,1
|
||||
dw 0,-1,-3,-4,-6,-7,-9,-10,-12,-14,-15,-17,-18,-20,-21,-23,-25,-26,-28,-29,-31,-32,-34,-36,-37,-39,-40,-42,-43,-45,-46,-48
|
||||
dw -49,-51,-53,-54,-56,-57,-59,-60,-62,-63,-65,-66,-68,-69,-71,-72,-74,-75,-77,-78,-80,-81,-83,-84,-86,-87,-89,-90,-92,-93,-95,-96
|
||||
dw -97,-99,-100,-102,-103,-105,-106,-108,-109,-110,-112,-113,-115,-116,-117,-119,-120,-122,-123,-124,-126,-127,-128,-130,-131,-132,-134,-135,-136,-138,-139,-140
|
||||
dw -142,-143,-144,-146,-147,-148,-149,-151,-152,-153,-155,-156,-157,-158,-159,-161,-162,-163,-164,-166,-167,-168,-169,-170,-171,-173,-174,-175,-176,-177,-178,-179
|
||||
dw -181,-182,-183,-184,-185,-186,-187,-188,-189,-190,-191,-192,-193,-194,-195,-196,-197,-198,-199,-200,-201,-202,-203,-204,-205,-206,-207,-208,-209,-210,-211,-211
|
||||
dw -212,-213,-214,-215,-216,-217,-217,-218,-219,-220,-221,-221,-222,-223,-224,-225,-225,-226,-227,-227,-228,-229,-230,-230,-231,-232,-232,-233,-234,-234,-235,-235
|
||||
dw -236,-237,-237,-238,-238,-239,-239,-240,-241,-241,-242,-242,-243,-243,-244,-244,-244,-245,-245,-246,-246,-247,-247,-247,-248,-248,-249,-249,-249,-250,-250,-250
|
||||
dw -251,-251,-251,-251,-252,-252,-252,-252,-253,-253,-253,-253,-254,-254,-254,-254,-254,-254,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255
|
||||
dw -256,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-254,-254,-254,-254,-254,-254,-253,-253,-253,-253,-252,-252,-252,-252,-251,-251,-251
|
||||
dw -251,-250,-250,-250,-249,-249,-249,-248,-248,-247,-247,-247,-246,-246,-245,-245,-244,-244,-244,-243,-243,-242,-242,-241,-241,-240,-239,-239,-238,-238,-237,-237
|
||||
dw -236,-235,-235,-234,-234,-233,-232,-232,-231,-230,-230,-229,-228,-227,-227,-226,-225,-225,-224,-223,-222,-221,-221,-220,-219,-218,-217,-217,-216,-215,-214,-213
|
||||
dw -212,-211,-211,-210,-209,-208,-207,-206,-205,-204,-203,-202,-201,-200,-199,-198,-197,-196,-195,-194,-193,-192,-191,-190,-189,-188,-187,-186,-185,-184,-183,-182
|
||||
dw -181,-179,-178,-177,-176,-175,-174,-173,-171,-170,-169,-168,-167,-166,-164,-163,-162,-161,-159,-158,-157,-156,-155,-153,-152,-151,-149,-148,-147,-146,-144,-143
|
||||
dw -142,-140,-139,-138,-136,-135,-134,-132,-131,-130,-128,-127,-126,-124,-123,-122,-120,-119,-117,-116,-115,-113,-112,-110,-109,-108,-106,-105,-103,-102,-100,-99
|
||||
dw -97,-96,-95,-93,-92,-90,-89,-87,-86,-84,-83,-81,-80,-78,-77,-75,-74,-72,-71,-69,-68,-66,-65,-63,-62,-60,-59,-57,-56,-54,-53,-51
|
||||
dw -49,-48,-46,-45,-43,-42,-40,-39,-37,-36,-34,-32,-31,-29,-28,-26,-25,-23,-21,-20,-18,-17,-15,-14,-12,-10,-9,-7,-6,-4,-3,-1
|
||||
Loading…
Reference in a new issue