Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9511 → Rev 9512

/programs/demos/view3ds/flat_cat.inc
26,22 → 26,14
.y3 equ word[ebp-16]
 
.dx12 equ dword[ebp-20]
;.dz12 equ dword[ebp-24]
.dx13 equ dword[ebp-24]
.dz13 equ dword[ebp-28]
.dz12 equ dword[ebp-32]
;.dz13 equ dword[ebp-32]
.dz12 equ dword[ebp-24]
.dx13 equ dword[ebp-28]
.dz13 equ dword[ebp-32]
.dx23 equ dword[ebp-36]
.dz13M equ [ebp-40]
.dz23 equ dword[ebp-44]
.zz1 equ dword[ebp-48]
.zz2 equ dword[ebp-52]
.zz2M equ qword[ebp-52]
.dz12M equ qword[ebp-32]
.dz23M equ qword[ebp-44]
;if Ext>=MMX
; emms
;end if
.dz23 equ dword[ebp-40]
.zz1 equ dword[ebp-44]
.zz2 equ dword[ebp-48]
 
mov ebp,esp
 
push edx ; store edx in variable .col
87,13 → 79,13
; jle @f
; jmp .ft_loop2_end
;@@:
sub esp,52-12
; sub esp,52-12
 
mov bx,.y2 ; calc delta 12
sub bx,.y1
jnz .ft_dx12_make
mov .dx12,0
mov .dz12,0
push dword 0
push dword 0
jmp .ft_dx12_done
.ft_dx12_make:
mov ax,.x2
103,7 → 95,7
shl eax,ROUND
cdq
idiv ebx
mov .dx12,eax
push eax
 
mov ax,.z2
sub ax,.z1
111,14 → 103,13
shl eax,CATMULL_SHIFT
cdq
idiv ebx
mov .dz12,eax
push eax
.ft_dx12_done:
mov bx,.y3 ; calc delta 13
sub bx,.y1
jnz .ft_dx13_make
mov .dx13,0
mov .dz13,0
mov dword .dz13M,0
push dword 0
push dword 0
jmp .ft_dx13_done
.ft_dx13_make:
mov ax,.x3
128,7 → 119,7
shl eax,ROUND
cdq
idiv ebx
mov .dx13,eax
push eax
 
mov ax,.z3
sub ax,.z1
136,14 → 127,17
shl eax,CATMULL_SHIFT
cdq
idiv ebx
mov .dz13,eax
mov dword .dz13M,eax
push eax
 
.ft_dx13_done:
; sub esp,48
mov bx,.y3 ; calc delta 23
sub bx,.y2
jnz .gt_dx23_make
mov .dx23,0
mov .dz23,0
push dword 0
push dword 0
; mov .dx23,0
; mov .dz23,0
jmp .gt_dx23_done
.gt_dx23_make:
mov ax,.x3
153,7 → 147,7
shl eax,ROUND
cdq
idiv ebx
mov .dx23,eax
push eax
 
mov ax,.z3
sub ax,.z2
161,19 → 155,18
shl eax,CATMULL_SHIFT
cdq
idiv ebx
mov .dz23,eax
push eax
; mov .dz23,eax
.gt_dx23_done:
 
movsx edx,.z1
shl edx,CATMULL_SHIFT
mov .zz1,edx
mov .zz2,edx
push edx
push edx
 
movsx eax,.x1
shl eax,ROUND ; eax - x1
mov ebx,eax ; ebx - x2
;if Ext>=MMX
; movq mm0,.zz2M
;end if
mov cx,.y1
cmp cx,.y2
jge .ft_loop1_end
187,13 → 180,9
push bx ; x2
sar eax,ROUND
push ax ; x1
;if Ext>=MMX
; sub esp,8
; movq [esp],mm0
;else
push .zz2 ; z2 shl CATMULL_SHIFT
push .zz1 ; z1 shl CATMULL_SHIFT
;end if
 
call flat_line_z
 
popad
200,9 → 189,6
 
add eax,.dx13
add ebx,.dx12
;if Ext>=MMX
; paddd mm0,.dz12M
;else
 
mov edx,.dz13
add .zz1,edx
219,13 → 205,7
mov .zz2,edx
movsx ebx,.x2
shl ebx,ROUND
;if Ext>=MMX
; movq mm0,.zz2M
;; push .dz13 ; exchange
;; pop .dz12
;; push .dz23 ; exchange
;; pop .dz13
;end if
 
mov cx,.y2
cmp cx,.y3
jge .ft_loop2_end
238,13 → 218,10
push bx
sar eax,ROUND
push ax ; x1
;if Ext>=MMX
; sub esp,8
; movq [esp],mm0
;else
 
push .zz2 ; z2 shl CATMULL_SHIFT
push .zz1 ; z1 shl CATMULL_SHIFT
;end if
 
call flat_line_z
 
popad
251,19 → 228,12
 
add eax,.dx13
add ebx,.dx23
;if Ext>=MMX
; paddd mm0,.dz23M
;else
 
mov edx,.dz13
add .zz1,edx
mov edx,.dz23
add .zz2,edx
 
; mov edx,.dz13
; add .zz1,edx
; mov edx,.dz12
; add .zz2,edx
;end if
inc cx
cmp cx,.y3
jl .ft_loop2
374,13 → 344,15
; cmovl [edi],eax
; cmovl [esi],ebx
jge @f
stosd
dec edi
mov dword[esi],ebx
jmp .no_skip
mov [edi],eax
mov [esi],ebx
; stosd ; less branches
; dec edi
; mov dword[esi],ebx
; jmp .no_skip
@@:
add edi,3
.no_skip:
; .no_skip:
add esi,4
add ebx,edx
loop .ddraw