Final fixes and clean-up before upcoming release.
This commit is contained in:
@@ -28,6 +28,20 @@
|
|||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
|
||||||
|
; Blends two 16-bit pixels at 50%.
|
||||||
|
|
||||||
|
; ax = first pixel, bx = second pixel
|
||||||
|
; ax (after) = resulting pixel
|
||||||
|
|
||||||
|
%macro SSHalfBlend 0
|
||||||
|
shr eax,byte 1
|
||||||
|
shr ebx,byte 1
|
||||||
|
and eax,7befh
|
||||||
|
and ebx,7befh
|
||||||
|
add eax,ebx
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
|
||||||
; Horizontal recursive anti-aliasing,
|
; Horizontal recursive anti-aliasing,
|
||||||
; blurs edges without increasing size.
|
; blurs edges without increasing size.
|
||||||
|
|
||||||
@@ -49,11 +63,7 @@
|
|||||||
mov [es:edi-2],bx
|
mov [es:edi-2],bx
|
||||||
jmp %%loop3
|
jmp %%loop3
|
||||||
%%loop2
|
%%loop2
|
||||||
shr ax,byte 1
|
SSHalfBlend
|
||||||
shr bx,byte 1
|
|
||||||
and ax,7befh
|
|
||||||
and bx,7befh
|
|
||||||
add ax,bx
|
|
||||||
mov [es:edi],ax
|
mov [es:edi],ax
|
||||||
mov [es:edi-2],ax
|
mov [es:edi-2],ax
|
||||||
%%loop3
|
%%loop3
|
||||||
@@ -70,7 +80,7 @@
|
|||||||
|
|
||||||
; Used for 640x400 16bit...
|
; Used for 640x400 16bit...
|
||||||
|
|
||||||
; Reduces the vertical stretch effect.
|
; Kills the vertical stretch effect.
|
||||||
|
|
||||||
; ax = current pixel, bx = working pixel
|
; ax = current pixel, bx = working pixel
|
||||||
; ecx = number of pixels (passed)
|
; ecx = number of pixels (passed)
|
||||||
@@ -81,11 +91,7 @@
|
|||||||
mov bx,[esi-(288*2)]
|
mov bx,[esi-(288*2)]
|
||||||
cmp ax,bx
|
cmp ax,bx
|
||||||
je %%loop2
|
je %%loop2
|
||||||
shr ax,byte 1
|
SSHalfBlend
|
||||||
shr bx,byte 1
|
|
||||||
and ax,7befh
|
|
||||||
and bx,7befh
|
|
||||||
add ax,bx
|
|
||||||
%%loop2
|
%%loop2
|
||||||
mov [es:edi],ax
|
mov [es:edi],ax
|
||||||
mov [es:edi+2],ax
|
mov [es:edi+2],ax
|
||||||
@@ -109,29 +115,20 @@
|
|||||||
mov ax,[esi]
|
mov ax,[esi]
|
||||||
mov [es:edi],ax
|
mov [es:edi],ax
|
||||||
mov bx,[esi+2]
|
mov bx,[esi+2]
|
||||||
call %%loop2
|
SSHalfBlend
|
||||||
mov [es:edi+2],ax
|
mov [es:edi+2],ax
|
||||||
mov ax,[esi]
|
mov ax,[esi]
|
||||||
mov bx,[esi+(288*2)]
|
mov bx,[esi+(288*2)]
|
||||||
call %%loop2
|
SSHalfBlend
|
||||||
mov [es:edi+(%1*2)],ax
|
mov [es:edi+(%1*2)],ax
|
||||||
mov ax,[esi]
|
mov ax,[esi]
|
||||||
mov bx,[esi+(288*2)+2]
|
mov bx,[esi+(288*2)+2]
|
||||||
call %%loop2
|
SSHalfBlend
|
||||||
mov [es:edi+(%1*2)+2],ax
|
mov [es:edi+(%1*2)+2],ax
|
||||||
add esi,byte 2
|
add esi,byte 2
|
||||||
add edi,byte 4
|
add edi,byte 4
|
||||||
dec ecx
|
dec ecx
|
||||||
jnz %%loop
|
jnz %%loop
|
||||||
jmp %%done
|
|
||||||
%%loop2
|
|
||||||
shr ax,byte 1
|
|
||||||
shr bx,byte 1
|
|
||||||
and ax,7befh
|
|
||||||
and bx,7befh
|
|
||||||
add ax,bx
|
|
||||||
ret
|
|
||||||
%%done
|
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
|
||||||
@@ -1370,7 +1367,7 @@ NEWSYM copyvesa2800x600x16b
|
|||||||
add esi,16*2+16*2
|
add esi,16*2+16*2
|
||||||
add edi,144*2+800*2+144*2
|
add edi,144*2+800*2+144*2
|
||||||
dec dl
|
dec dl
|
||||||
jnz .interpolate
|
jnz near .interpolate
|
||||||
|
|
||||||
.done
|
.done
|
||||||
pop es
|
pop es
|
||||||
|
|||||||
@@ -137,15 +137,18 @@ void DrawWater(void)
|
|||||||
|
|
||||||
if(mode&4)
|
if(mode&4)
|
||||||
{
|
{
|
||||||
|
int x,y;
|
||||||
srand(time(0));
|
srand(time(0));
|
||||||
if(rand()%20 == 0)
|
if(rand()%14 == 7)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
if(mode & 0x4000)
|
if(mode & 0x4000)
|
||||||
// HeightBlob(-1, -1, radius/2, pheight, Hpage);
|
// HeightBlob(-1, -1, radius/2, pheight, Hpage);
|
||||||
else
|
else
|
||||||
*/
|
*/
|
||||||
SineBlob(-1, -1, radius, -pheight*6, Hpage);
|
x=rand()%(SCRW-2)+1;
|
||||||
|
y=rand()%(SCRH-2)+1;
|
||||||
|
SineBlob(x, y, radius, -pheight*6, Hpage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CalcWater(Height[Hpage^1], Height[Hpage], density);
|
CalcWater(Height[Hpage^1], Height[Hpage], density);
|
||||||
|
|||||||
Reference in New Issue
Block a user