Rev 6342 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6342 | Rev 6369 | ||
---|---|---|---|
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: |
- | |
- | 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] |
15 | add esi,[PointerToPicture] |
24 | add esi,[PointerToPicture] |
- | 25 | mov edi,[PointerToSpriteBufer] |
|
16 | mov ebx,[SpriteSizeY] |
26 | mov ebx,[SpriteSizeY] |
17 | mov [counter],ecx |
27 | mov [counter],ecx |
18 | 28 | ||
19 | next_line_sprite_save: |
29 | .next_line_sprite_save: |
- | 30 | mov ecx,[counter] |
|
20 | mov ecx,[counter] |
31 | align 4 |
21 | - | ||
22 | next_pixel_sprite_save: |
32 | @@: |
23 | movsw |
33 | movsw |
24 | movsb |
34 | movsb |
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 | 41 | .end_f: |
|
32 | ret |
42 | ret |
33 | ;----------------------------------------------------------- |
43 | ;----------------------------------------------------------- |
34 | ;-------------------PutFonForSprite------------------------- |
- | |
35 | ;----------------------------------------------------------- |
- | |
36 | PutFonForSprite: |
- | |
- | 44 | ||
37 | 45 | align 4 |
|
38 | mov esi,[PointerToSpriteBufer] |
46 | PutFonForSprite: |
- | 47 | mov ecx,[SpriteSizeX] |
|
- | 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] |
44 | add edi,[SpriteOldCoordinatX] |
54 | add edi,[SpriteOldCoordinatX] |
45 | lea edx,[edx+edx*2] |
55 | lea edx,[edx+edx*2] |
46 | lea edi,[edi+edi*2] |
56 | lea edi,[edi+edi*2] |
47 | add edi,[PointerToPicture] |
57 | add edi,[PointerToPicture] |
- | 58 | mov esi,[PointerToSpriteBufer] |
|
48 | mov ebx,[SpriteSizeY] |
59 | mov ebx,[SpriteSizeY] |
49 | mov [counter],ecx |
60 | mov [counter],ecx |
50 | 61 | ||
51 | next_line_sprite_put: |
62 | .next_line_sprite_put: |
- | 63 | mov ecx,[counter] |
|
52 | mov ecx,[counter] |
64 | align 4 |
53 | - | ||
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 |
71 | add edi,edx |
61 | dec ebx |
72 | dec ebx |
62 | jnz next_line_sprite_put |
73 | jnz .next_line_sprite_put |
63 | 74 | .end_f: |
|
64 | ret |
75 | ret |
65 | ;----------------------------------------------------------- |
76 | ;----------------------------------------------------------- |
66 | ;------------------DrawFonForSprite------------------------- |
- | |
67 | ;----------------------------------------------------------- |
- | |
68 | DrawSprite: |
- | |
- | 77 | ||
69 | 78 | align 4 |
|
70 | mov esi,[PointerToEditBufer] |
79 | DrawSprite: |
- | 80 | mov ecx,[SpriteSizeX] |
|
- | 81 | or ecx,ecx |
|
71 | mov ecx,[SpriteSizeX] |
82 | jz .end_f |
72 | mov edx,[Picture_SizeX] |
83 | mov edx,[Picture_SizeX] |
73 | sub edx,[SpriteSizeX] |
84 | sub edx,ecx |
74 | mov edi,[SpriteCoordinatY] |
85 | mov edi,[SpriteCoordinatY] |
75 | imul edi,[Picture_SizeX] |
86 | imul edi,[Picture_SizeX] |
76 | add edi,[SpriteCoordinatX] |
87 | add edi,[SpriteCoordinatX] |
77 | lea edx,[edx+edx*2] |
88 | lea edx,[edx+edx*2] |
78 | lea edi,[edi+edi*2] |
89 | lea edi,[edi+edi*2] |
79 | add edi,[PointerToPicture] |
90 | 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 | ||
83 | next_line_sprite_draw: |
95 | .next_line_sprite_draw: |
- | 96 | mov ecx,[counter] |
|
84 | mov ecx,[counter] |
97 | align 4 |
85 | - | ||
86 | next_pixel_sprite_draw: |
98 | @@: |
87 | movsw |
99 | movsw |
88 | movsb |
100 | movsb |
89 | dec ecx |
101 | dec ecx |
90 | jnz next_pixel_sprite_draw |
102 | jnz @b |
91 | 103 | ||
92 | add edi,edx |
104 | add edi,edx |
93 | dec ebx |
105 | dec ebx |
94 | jnz next_line_sprite_draw |
106 | jnz .next_line_sprite_draw |
95 | 107 | .end_f: |
|
96 | ret |
108 | ret |