Rev 255 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
255 | heavyiron | 1 | ;----------------------------------------------------------- |
2 | ;------------------SaveFonForSprite------------------------- |
||
3 | ;----------------------------------------------------------- |
||
4 | SaveFonForSprite: |
||
5 | |||
6 | mov edi,[PointerToSpriteBufer] |
||
7 | mov ecx,[SpriteSizeX] |
||
8 | mov edx,[Picture_SizeX] |
||
9 | sub edx,[SpriteSizeX] |
||
10 | mov esi,[SpriteCoordinatY] |
||
11 | imul esi,[Picture_SizeX] |
||
12 | add esi,[SpriteCoordinatX] |
||
13 | lea edx,[edx+edx*2] |
||
14 | lea esi,[esi+esi*2] |
||
15 | add esi,[PointerToPicture] |
||
16 | mov ebx,[SpriteSizeY] |
||
17 | mov [counter],ecx |
||
18 | |||
19 | next_line_sprite_save: |
||
20 | mov ecx,[counter] |
||
21 | |||
22 | next_pixel_sprite_save: |
||
6342 | IgorA | 23 | movsw |
24 | movsb |
||
255 | heavyiron | 25 | dec ecx |
26 | jnz next_pixel_sprite_save |
||
27 | |||
28 | add esi,edx |
||
29 | dec ebx |
||
30 | jnz next_line_sprite_save |
||
31 | |||
32 | ret |
||
33 | ;----------------------------------------------------------- |
||
34 | ;-------------------PutFonForSprite------------------------- |
||
35 | ;----------------------------------------------------------- |
||
36 | PutFonForSprite: |
||
37 | |||
38 | mov esi,[PointerToSpriteBufer] |
||
39 | mov ecx,[SpriteSizeX] |
||
40 | mov edx,[Picture_SizeX] |
||
41 | sub edx,[SpriteSizeX] |
||
42 | mov edi,[SpriteOldCoordinatY] |
||
43 | imul edi,[Picture_SizeX] |
||
44 | add edi,[SpriteOldCoordinatX] |
||
45 | lea edx,[edx+edx*2] |
||
46 | lea edi,[edi+edi*2] |
||
47 | add edi,[PointerToPicture] |
||
48 | mov ebx,[SpriteSizeY] |
||
49 | mov [counter],ecx |
||
50 | |||
51 | next_line_sprite_put: |
||
52 | mov ecx,[counter] |
||
53 | |||
54 | next_pixel_sprite_put: |
||
6342 | IgorA | 55 | movsw |
56 | movsb |
||
255 | heavyiron | 57 | dec ecx |
58 | jnz next_pixel_sprite_put |
||
59 | |||
60 | add edi,edx |
||
61 | dec ebx |
||
62 | jnz next_line_sprite_put |
||
63 | |||
64 | ret |
||
65 | ;----------------------------------------------------------- |
||
66 | ;------------------DrawFonForSprite------------------------- |
||
67 | ;----------------------------------------------------------- |
||
68 | DrawSprite: |
||
69 | |||
70 | mov esi,[PointerToEditBufer] |
||
71 | mov ecx,[SpriteSizeX] |
||
72 | mov edx,[Picture_SizeX] |
||
73 | sub edx,[SpriteSizeX] |
||
74 | mov edi,[SpriteCoordinatY] |
||
75 | imul edi,[Picture_SizeX] |
||
76 | add edi,[SpriteCoordinatX] |
||
77 | lea edx,[edx+edx*2] |
||
78 | lea edi,[edi+edi*2] |
||
79 | add edi,[PointerToPicture] |
||
80 | mov ebx,[SpriteSizeY] |
||
81 | mov [counter],ecx |
||
82 | |||
83 | next_line_sprite_draw: |
||
84 | mov ecx,[counter] |
||
85 | |||
86 | next_pixel_sprite_draw: |
||
6342 | IgorA | 87 | movsw |
88 | movsb |
||
255 | heavyiron | 89 | dec ecx |
90 | jnz next_pixel_sprite_draw |
||
91 | |||
92 | add edi,edx |
||
93 | dec ebx |
||
94 | jnz next_line_sprite_draw |
||
95 | |||
96 | ret |