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