Subversion Repositories Kolibri OS

Rev

Rev 8047 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8047 Rev 8232
Line 77... Line 77...
77
;   shl     eax,9
77
;   shl     eax,9
78
   add     eax,dword .x
78
   add     eax,dword .x
Line 79... Line 79...
79
 
79
 
80
   lea     ebx,[eax*3]
80
   lea     ebx,[eax*3]
81
   cmp     [dr_flag],12 ; 32 bit col cause
81
   cmp     [dr_flag],12 ; 32 bit col cause
82
   jne     @f
82
   jl      @f
83
   add     ebx,eax
83
   add     ebx,eax
84
  @@:
84
  @@:
85
   mov     eax,[esi]
85
   mov     eax,[esi]
86
   mov     [edi+ebx],eax
86
   mov     [edi+ebx],eax
87
 .skip:
87
 .skip:
88
   add     esi,3
88
   add     esi,3
89
   cmp     [dr_flag],12
89
   cmp     [dr_flag],12
90
   jne     @f
90
   jl      @f
91
   inc     esi
91
   inc     esi
92
  @@:
92
  @@:
93
   inc     dword .x
93
   inc     dword .x
94
   movzx   edx,word[size_x_var]
94
   movzx   edx,word[size_x_var]
Line 105... Line 105...
105
   mov     edi,[screen_ptr]
105
   mov     edi,[screen_ptr]
106
   movzx   ecx,word[size_x_var]
106
   movzx   ecx,word[size_x_var]
107
   movzx   eax,word[size_y_var]
107
   movzx   eax,word[size_y_var]
108
   imul    ecx,eax
108
   imul    ecx,eax
109
   cmp         [dr_flag],12
109
   cmp     [dr_flag],12
110
   je          @f
110
   jge     @f
111
   lea     ecx,[ecx*3]
111
   lea     ecx,[ecx*3]
112
   shr     ecx,2
112
   shr     ecx,2
113
 ;  mov     ecx,SIZE_X*SIZE_Y*3/4
113
 ;  mov     ecx,SIZE_X*SIZE_Y*3/4
114
  @@:
114
  @@:
115
   cld
115
   cld
Line 167... Line 167...
167
 sub   ecx,ebx
167
 sub   ecx,ebx
168
 sub   ecx,ebx
168
 sub   ecx,ebx
169
 mov   esi,[screen_ptr]
169
 mov   esi,[screen_ptr]
170
 mov   edi,[Zbuffer_ptr]
170
 mov   edi,[Zbuffer_ptr]
171
 cmp   [dr_flag],12
171
 cmp   [dr_flag],12
172
 je    @f
172
 jge   @f
173
 lea   ebx,[ebx*3]
173
 lea   ebx,[ebx*3]
174
 jmp   .f
174
 jmp   .f
175
@@:
175
@@:
176
 shl   ebx,2
176
 shl   ebx,2
177
.f:
177
.f:
Line 180... Line 180...
180
 lea   ebx,[ebx+esi]
180
 lea   ebx,[ebx+esi]
181
 pxor  xmm0,xmm0
181
 pxor  xmm0,xmm0
182
 push  eax
182
 push  eax
183
.emb:
183
.emb:
184
 cmp   [dr_flag],12
184
 cmp   [dr_flag],12
185
 je    @f
185
 jge   @f
186
 movlps     xmm1,[esi+3]
186
 movlps     xmm1,[esi+3]
187
 movhps     xmm1,[esi+6]
187
 movhps     xmm1,[esi+6]
188
 movlps     xmm2,[esi-3]
188
 movlps     xmm2,[esi-3]
189
 movhps     xmm2,[esi]
189
 movhps     xmm2,[esi]
190
 movlps     xmm3,[ebx]
190
 movlps     xmm3,[ebx]
Line 244... Line 244...
244
 lea        eax,[eax*3+envmap_cub]
244
 lea        eax,[eax*3+envmap_cub]
245
 mov        eax,[eax]
245
 mov        eax,[eax]
246
 mov        [edi+4],eax
246
 mov        [edi+4],eax
Line 247... Line 247...
247
 
247
 
248
 cmp    [dr_flag],12
248
 cmp    [dr_flag],12
249
 jne    @f
249
 jl     @f
250
 add    esi,2
250
 add    esi,2
251
 add    ebx,2
251
 add    ebx,2
252
 add    edx,2
252
 add    edx,2
Line 262... Line 262...
262
 
262
 
263
 pop    ecx  ;,eax
263
 pop    ecx  ;,eax
264
 mov    edi,[screen_ptr]
264
 mov    edi,[screen_ptr]
265
 mov    esi,[Zbuffer_ptr]
265
 mov    esi,[Zbuffer_ptr]
266
 cmp    [dr_flag],12
266
 cmp    [dr_flag],12
267
 je     .e
267
 jge    .e
268
@@:
268
@@:
269
 movsd
269
 movsd
270
 dec    edi
270
 dec    edi
271
 loop   @b
271
 loop   @b
Line 560... Line 560...
560
 
560
 
561
        mov     esp,ebp
561
        mov     esp,ebp
Line 562... Line 562...
562
        pop     ebp
562
        pop     ebp
563
 
-
 
564
ret
-
 
565
 
563
 
566
 
564
ret
567
generate_object3:  ; heart
565
generate_object3:  ; heart
568
;locals
566
;locals
569
;   counter dw ?
567
;   counter dw ?
Line 753... Line 751...
753
        mov     esp,ebp
751
        mov     esp,ebp
754
        pop     ebp
752
        pop     ebp
Line 755... Line 753...
755
 
753
 
Line -... Line 754...
-
 
754
ret
-
 
755