Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6342 → Rev 6369

/programs/media/animage/trunk/sprites.inc
1,12 → 1,21
;-----------------------------------------------------------
;------------------SaveFonForSprite-------------------------
;SaveFonForSprite:
; PointerToPicture -> PointerToSpriteBufer
;
;PutFonForSprite:
; PointerToSpriteBufer -> PointerToPicture
;
;DrawSprite:
; PointerToEditBufer -> PointerToPicture
;-----------------------------------------------------------
 
align 4
SaveFonForSprite:
 
mov edi,[PointerToSpriteBufer]
mov ecx,[SpriteSizeX]
or ecx,ecx
jz .end_f
mov edx,[Picture_SizeX]
sub edx,[SpriteSizeX]
sub edx,ecx
mov esi,[SpriteCoordinatY]
imul esi,[Picture_SizeX]
add esi,[SpriteCoordinatX]
13,32 → 22,33
lea edx,[edx+edx*2]
lea esi,[esi+esi*2]
add esi,[PointerToPicture]
mov edi,[PointerToSpriteBufer]
mov ebx,[SpriteSizeY]
mov [counter],ecx
 
next_line_sprite_save:
.next_line_sprite_save:
mov ecx,[counter]
 
next_pixel_sprite_save:
align 4
@@:
movsw
movsb
dec ecx
jnz next_pixel_sprite_save
jnz @b
 
add esi,edx
dec ebx
jnz next_line_sprite_save
 
jnz .next_line_sprite_save
.end_f:
ret
;-----------------------------------------------------------
;-------------------PutFonForSprite-------------------------
;-----------------------------------------------------------
 
align 4
PutFonForSprite:
 
mov esi,[PointerToSpriteBufer]
mov ecx,[SpriteSizeX]
or ecx,ecx
jz .end_f
mov edx,[Picture_SizeX]
sub edx,[SpriteSizeX]
sub edx,ecx
mov edi,[SpriteOldCoordinatY]
imul edi,[Picture_SizeX]
add edi,[SpriteOldCoordinatX]
45,32 → 55,33
lea edx,[edx+edx*2]
lea edi,[edi+edi*2]
add edi,[PointerToPicture]
mov esi,[PointerToSpriteBufer]
mov ebx,[SpriteSizeY]
mov [counter],ecx
 
next_line_sprite_put:
.next_line_sprite_put:
mov ecx,[counter]
 
next_pixel_sprite_put:
align 4
@@:
movsw
movsb
dec ecx
jnz next_pixel_sprite_put
jnz @b
 
add edi,edx
dec ebx
jnz next_line_sprite_put
 
jnz .next_line_sprite_put
.end_f:
ret
;-----------------------------------------------------------
;------------------DrawFonForSprite-------------------------
;-----------------------------------------------------------
 
align 4
DrawSprite:
 
mov esi,[PointerToEditBufer]
mov ecx,[SpriteSizeX]
or ecx,ecx
jz .end_f
mov edx,[Picture_SizeX]
sub edx,[SpriteSizeX]
sub edx,ecx
mov edi,[SpriteCoordinatY]
imul edi,[Picture_SizeX]
add edi,[SpriteCoordinatX]
77,20 → 88,21
lea edx,[edx+edx*2]
lea edi,[edi+edi*2]
add edi,[PointerToPicture]
mov esi,[PointerToEditBufer]
mov ebx,[SpriteSizeY]
mov [counter],ecx
 
next_line_sprite_draw:
.next_line_sprite_draw:
mov ecx,[counter]
 
next_pixel_sprite_draw:
align 4
@@:
movsw
movsb
dec ecx
jnz next_pixel_sprite_draw
jnz @b
 
add edi,edx
dec ebx
jnz next_line_sprite_draw
 
jnz .next_line_sprite_draw
.end_f:
ret