mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2025-09-09 12:03:27 -04:00
Tube: fix crash at some window sizes, remove outdated code with palette
This commit is contained in:
parent
55d641b0da
commit
bfdb42c91f
@ -20,7 +20,7 @@ include '../../KOSfuncs.inc'
|
|||||||
|
|
||||||
title db 'Tube - FPU',0
|
title db 'Tube - FPU',0
|
||||||
|
|
||||||
SCREEN_W dd 640-10 ;10 px for borders
|
SCREEN_W dd 600-10 ;10 px for borders
|
||||||
SCREEN_H dd 400-10
|
SCREEN_H dd 400-10
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@ -28,7 +28,8 @@ START:
|
|||||||
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
||||||
call OnResize
|
call OnResize
|
||||||
call draw_window
|
call draw_window
|
||||||
call init_tube
|
fninit
|
||||||
|
fldz
|
||||||
push ebx
|
push ebx
|
||||||
|
|
||||||
still:
|
still:
|
||||||
@ -56,8 +57,6 @@ OnResize:
|
|||||||
;ecx = SCREEN_W*SCREEN_H
|
;ecx = SCREEN_W*SCREEN_H
|
||||||
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[PIXBUF]
|
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[PIXBUF]
|
||||||
mov [PIXBUF],eax
|
mov [PIXBUF],eax
|
||||||
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[buf1]
|
|
||||||
mov [buf1],eax
|
|
||||||
lea ecx,[ecx+2*ecx]
|
lea ecx,[ecx+2*ecx]
|
||||||
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[buf2]
|
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[buf2]
|
||||||
mov [buf2],eax
|
mov [buf2],eax
|
||||||
@ -159,14 +158,14 @@ STORE_1:
|
|||||||
|
|
||||||
call display_image
|
call display_image
|
||||||
|
|
||||||
pop esi
|
pop esi ;esi=PIXBUF
|
||||||
mov ecx,[SCREEN_W]
|
mov ecx,[SCREEN_W]
|
||||||
imul ecx,[SCREEN_H]
|
imul ecx,[SCREEN_H]
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
BLUR:
|
BLUR:
|
||||||
inc esi
|
|
||||||
sar byte [esi],2
|
sar byte [esi],2
|
||||||
|
inc esi
|
||||||
loop BLUR
|
loop BLUR
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -185,13 +184,15 @@ newp:
|
|||||||
movzx edx,byte [esi]
|
movzx edx,byte [esi]
|
||||||
shl edx,4
|
shl edx,4
|
||||||
|
|
||||||
mov [edi],edx
|
mov word [edi],dx ;blue,green
|
||||||
|
;shr edx,16
|
||||||
|
;mov [edi+2],dl ;red - not used
|
||||||
|
|
||||||
add edi,3
|
add edi,3
|
||||||
inc esi
|
inc esi
|
||||||
|
|
||||||
cmp esi,eax
|
cmp esi,eax
|
||||||
jbe newp
|
jb newp
|
||||||
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov ecx,[SCREEN_W]
|
mov ecx,[SCREEN_W]
|
||||||
@ -253,57 +254,10 @@ align 4
|
|||||||
TEXUV:
|
TEXUV:
|
||||||
rd 1
|
rd 1
|
||||||
|
|
||||||
align 4
|
|
||||||
init_tube:
|
|
||||||
mov ecx,256
|
|
||||||
mov edi,[buf1]
|
|
||||||
|
|
||||||
PAL1:
|
|
||||||
mov edx,3C8h
|
|
||||||
mov eax,ecx
|
|
||||||
inc edx
|
|
||||||
sar al,1
|
|
||||||
js PAL2
|
|
||||||
mul al
|
|
||||||
shr ax,6
|
|
||||||
|
|
||||||
PAL2:
|
|
||||||
mov al,0
|
|
||||||
jns PAL3
|
|
||||||
sub al,cl
|
|
||||||
shr al,1
|
|
||||||
shr al,1
|
|
||||||
|
|
||||||
PAL3:
|
|
||||||
mov ebx,ecx
|
|
||||||
mov [ebx+edi],bh
|
|
||||||
loop PAL1
|
|
||||||
mov ecx,256
|
|
||||||
|
|
||||||
TEX:
|
|
||||||
mov bx,cx
|
|
||||||
add ax,cx
|
|
||||||
rol ax,cl
|
|
||||||
mov dh,al
|
|
||||||
sar dh,5
|
|
||||||
adc dl,dh
|
|
||||||
adc dl,[ebx+255+edi]
|
|
||||||
shr dl,1
|
|
||||||
mov [ebx+edi],dl
|
|
||||||
not bh
|
|
||||||
mov [ebx+edi],dl
|
|
||||||
loop TEX
|
|
||||||
|
|
||||||
fninit
|
|
||||||
fldz
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
image_end:
|
image_end:
|
||||||
|
|
||||||
PIXBUF rd 1
|
PIXBUF rd 1
|
||||||
buf1 rd 1
|
|
||||||
buf2 rd 1
|
buf2 rd 1
|
||||||
procinfo process_information
|
procinfo process_information
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user