Rev 2443 | Rev 2450 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2443 | Rev 2446 | ||
---|---|---|---|
Line 67... | Line 67... | ||
67 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
67 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 68... | Line 68... | ||
68 | 68 | ||
69 | include 'macros.inc' |
69 | include 'macros.inc' |
Line 70... | Line 70... | ||
70 | include 'struct.inc' |
70 | include 'struct.inc' |
Line 71... | Line 71... | ||
71 | 71 | ||
Line 72... | Line 72... | ||
72 | $Revision: 2443 $ |
72 | $Revision: 2446 $ |
Line 1953... | Line 1953... | ||
1953 | mov eax, [def_cursor] |
1953 | mov eax, [def_cursor] |
1954 | mov [ecx+APPDATA.cursor], eax |
1954 | mov [ecx+APPDATA.cursor], eax |
Line 1955... | Line 1955... | ||
1955 | 1955 | ||
1956 | movzx eax, word [MOUSE_Y] |
1956 | movzx eax, word [MOUSE_Y] |
1957 | movzx ebx, word [MOUSE_X] |
1957 | movzx ebx, word [MOUSE_X] |
1958 | mov ecx, [Screen_Max_X] |
1958 | ; mov ecx, [Screen_Max_X] |
1959 | inc ecx |
1959 | ; inc ecx |
- | 1960 | ; mul ecx |
|
- | 1961 | mov eax, [d_width_calc_area + eax*4] |
|
1960 | mul ecx |
1962 | |
1961 | add eax, [_WinMapAddress] |
1963 | add eax, [_WinMapAddress] |
1962 | movzx edx, byte [ebx+eax] |
1964 | movzx edx, byte [ebx+eax] |
1963 | shl edx, 8 |
1965 | shl edx, 8 |
1964 | mov esi, [edx+SLOT_BASE+APPDATA.cursor] |
1966 | mov esi, [edx+SLOT_BASE+APPDATA.cursor] |
Line 3081... | Line 3083... | ||
3081 | ;--------------------------------------------------------------------------------------------- |
3083 | ;--------------------------------------------------------------------------------------------- |
Line 3082... | Line 3084... | ||
3082 | 3084 | ||
Line 3083... | Line 3085... | ||
3083 | 3085 | ||
3084 | ; check if pixel is allowed to be drawn |
3086 | ; check if pixel is allowed to be drawn |
Line 3085... | Line 3087... | ||
3085 | 3087 | ||
3086 | checkpixel: |
3088 | ;checkpixel: |
3087 | push eax edx |
3089 | ; push eax edx |
- | 3090 | ||
3088 | 3091 | ;; mov edx, [Screen_Max_X] ; screen x size |
|
3089 | mov edx, [Screen_Max_X] ; screen x size |
3092 | ;; inc edx |
- | 3093 | ;; imul edx, ebx |
|
- | 3094 | ; mov edx, [d_width_calc_area + ebx*4] |
|
- | 3095 | ; add eax, [_WinMapAddress] |
|
- | 3096 | ; mov dl, [eax+edx]; lea eax, [...] |
|
- | 3097 | ||
Line 3090... | Line -... | ||
3090 | inc edx |
- | |
3091 | imul edx, ebx |
- | |
3092 | add eax, [_WinMapAddress] |
- | |
3093 | mov dl, [eax+edx]; lea eax, [...] |
- | |
3094 | - | ||
3095 | xor ecx, ecx |
3098 | ; xor ecx, ecx |
3096 | mov eax, [CURRENT_TASK] |
3099 | ; mov eax, [CURRENT_TASK] |
Line 3097... | Line 3100... | ||
3097 | cmp al, dl |
3100 | ; cmp al, dl |
3098 | setne cl |
3101 | ; setne cl |
3099 | 3102 | ||
Line 4805... | Line 4808... | ||
4805 | ret |
4808 | ret |
4806 | ;------------------------------------------------------------------------------ |
4809 | ;------------------------------------------------------------------------------ |
4807 | align 4 |
4810 | align 4 |
4808 | calculate_fast_getting_offset_for_WinMapAddress: |
4811 | calculate_fast_getting_offset_for_WinMapAddress: |
4809 | ; calculate data area for fast getting offset to _WinMapAddress |
4812 | ; calculate data area for fast getting offset to _WinMapAddress |
4810 | mov eax, [_display.width] |
4813 | xor eax, eax |
4811 | mov ecx, [_display.height] |
4814 | mov ecx, [_display.height] |
4812 | inc ecx |
4815 | inc ecx |
4813 | mov edi, d_width_calc_area |
4816 | mov edi, d_width_calc_area |
4814 | cld |
4817 | cld |
4815 | @@: |
4818 | @@: |