Rev 1391 | Rev 1447 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1391 | Rev 1392 | ||
---|---|---|---|
Line 55... | Line 55... | ||
55 | ;; |
55 | ;; |
56 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
56 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 57... | Line 57... | ||
57 | 57 | ||
Line 58... | Line 58... | ||
58 | include 'macros.inc' |
58 | include 'macros.inc' |
Line 59... | Line 59... | ||
59 | 59 | ||
Line 60... | Line 60... | ||
60 | $Revision: 1391 $ |
60 | $Revision: 1392 $ |
Line 2434... | Line 2434... | ||
2434 | ; cmp [bgrchanged],1 ;0 |
2434 | ; cmp [bgrchanged],1 ;0 |
2435 | ; je nosb31 |
2435 | ; je nosb31 |
2436 | ;draw_background_temp: |
2436 | ;draw_background_temp: |
2437 | ; mov [bgrchanged],1 ;0 |
2437 | ; mov [bgrchanged],1 ;0 |
2438 | mov [background_defined], 1 |
2438 | mov [background_defined], 1 |
- | 2439 | mov byte[BACKGROUND_CHANGED], 1 |
|
2439 | call force_redraw_background |
2440 | call force_redraw_background |
2440 | mov [REDRAW_BACKGROUND], byte 2 |
- | |
2441 | nosb31: |
2441 | nosb31: |
2442 | ret |
2442 | ret |
2443 | nosb3: |
2443 | nosb3: |
Line 2444... | Line 2444... | ||
2444 | 2444 | ||
Line 2555... | Line 2555... | ||
2555 | 2555 | ||
2556 | nosb7: |
2556 | nosb7: |
Line 2557... | Line 2557... | ||
2557 | ret |
2557 | ret |
2558 | 2558 | ||
2559 | force_redraw_background: |
2559 | force_redraw_background: |
2560 | and [draw_data+32 + RECT.left],dword 0 |
2560 | and [draw_data+32 + RECT.left], 0 |
2561 | and [draw_data+32 + RECT.top],dword 0 |
2561 | and [draw_data+32 + RECT.top], 0 |
2562 | push eax ebx |
2562 | push eax ebx |
2563 | mov eax,[Screen_Max_X] |
2563 | mov eax,[Screen_Max_X] |
2564 | mov ebx,[Screen_Max_Y] |
2564 | mov ebx,[Screen_Max_Y] |
2565 | mov [draw_data+32 + RECT.right],eax |
2565 | mov [draw_data+32 + RECT.right],eax |
2566 | mov [draw_data+32 + RECT.bottom],ebx |
2566 | mov [draw_data+32 + RECT.bottom],ebx |
2567 | pop ebx eax |
2567 | pop ebx eax |
Line 2568... | Line 2568... | ||
2568 | mov byte [REDRAW_BACKGROUND], 1 |
2568 | inc byte[REDRAW_BACKGROUND] |
Line 2569... | Line 2569... | ||
2569 | ret |
2569 | ret |
Line 3081... | Line 3081... | ||
3081 | add edi, 256 |
3081 | add edi, 256 |
3082 | or [edi+SLOT_BASE+APPDATA.event_mask], dword 100000b |
3082 | or [edi+SLOT_BASE+APPDATA.event_mask], dword 100000b |
3083 | loop set_mouse_event |
3083 | loop set_mouse_event |
Line 3084... | Line 3084... | ||
3084 | 3084 | ||
3085 | mouse_not_active: |
- | |
3086 | cmp [REDRAW_BACKGROUND],byte 0 ; background update ? |
- | |
3087 | jz nobackgr |
- | |
3088 | cmp [background_defined], 0 |
- | |
3089 | jz nobackgr |
3085 | mouse_not_active: |
3090 | cmp [REDRAW_BACKGROUND], byte 2 |
3086 | cmp byte[BACKGROUND_CHANGED], 0 |
3091 | jnz no_set_bgr_event |
3087 | jz no_set_bgr_event |
3092 | xor edi, edi |
3088 | xor edi, edi |
3093 | mov ecx, [TASK_COUNT] |
3089 | mov ecx, [TASK_COUNT] |
3094 | set_bgr_event: |
3090 | set_bgr_event: |
3095 | add edi, 256 |
3091 | add edi, 256 |
3096 | or [edi+SLOT_BASE+APPDATA.event_mask], 16 |
3092 | or [edi+SLOT_BASE+APPDATA.event_mask], 16 |
- | 3093 | loop set_bgr_event |
|
3097 | loop set_bgr_event |
3094 | mov byte[BACKGROUND_CHANGED], 0 |
- | 3095 | no_set_bgr_event: |
|
- | 3096 | cmp byte[REDRAW_BACKGROUND], 0 ; background update ? |
|
- | 3097 | jz nobackgr |
|
- | 3098 | cmp [background_defined], 0 |
|
3098 | no_set_bgr_event: |
3099 | jz nobackgr |
3099 | ; mov [draw_data+32 + RECT.left],dword 0 |
3100 | ; mov [draw_data+32 + RECT.left],dword 0 |
3100 | ; mov [draw_data+32 + RECT.top],dword 0 |
3101 | ; mov [draw_data+32 + RECT.top],dword 0 |
3101 | ; mov eax,[Screen_Max_X] |
3102 | ; mov eax,[Screen_Max_X] |
3102 | ; mov ebx,[Screen_Max_Y] |
3103 | ; mov ebx,[Screen_Max_Y] |
3103 | ; mov [draw_data+32 + RECT.right],eax |
3104 | ; mov [draw_data+32 + RECT.right],eax |
- | 3105 | ; mov [draw_data+32 + RECT.bottom],ebx |
|
3104 | ; mov [draw_data+32 + RECT.bottom],ebx |
3106 | @@: |
- | 3107 | call drawbackground |
|
3105 | call drawbackground |
3108 | xor eax, eax |
- | 3109 | xchg al, [REDRAW_BACKGROUND] |
|
- | 3110 | test al, al ; got new update request? |
|
- | 3111 | jnz @b |
|
- | 3112 | mov [draw_data+32 + RECT.left], eax |
|
- | 3113 | mov [draw_data+32 + RECT.top], eax |
|
- | 3114 | mov [draw_data+32 + RECT.right], eax |
|
3106 | mov [REDRAW_BACKGROUND],byte 0 |
3115 | mov [draw_data+32 + RECT.bottom], eax |
Line 3107... | Line 3116... | ||
3107 | mov [MOUSE_BACKGROUND],byte 0 |
3116 | mov [MOUSE_BACKGROUND],byte 0 |
Line 3108... | Line 3117... | ||
3108 | 3117 | ||
Line 3217... | Line 3226... | ||
3217 | 3226 | ||
Line 3218... | Line 3227... | ||
3218 | bgli: |
3227 | bgli: |
3219 | 3228 | ||
3220 | cmp ecx,1 |
3229 | cmp ecx,1 |
3221 | jnz .az |
- | |
3222 | mov al,[REDRAW_BACKGROUND] |
3230 | jnz .az |
3223 | cmp al,2 |
3231 | ; cmp byte[BACKGROUND_CHANGED], 0 |
3224 | jz newdw8 |
3232 | ; jnz newdw8 |
- | 3233 | cmp byte[REDRAW_BACKGROUND], 0 |
|
3225 | test al,al |
3234 | jz .az |
3226 | jz .az |
3235 | mov dl, 0 |
3227 | lea eax,[edi+draw_data-window_data] |
3236 | lea eax,[edi+draw_data-window_data] |
3228 | mov ebx,[draw_limits.left] |
3237 | mov ebx,[draw_limits.left] |
3229 | cmp ebx,[eax+RECT.left] |
3238 | cmp ebx,[eax+RECT.left] |
- | 3239 | jae @f |
|
3230 | jae @f |
3240 | mov [eax+RECT.left],ebx |
3231 | mov [eax+RECT.left],ebx |
3241 | mov dl, 1 |
3232 | @@: |
3242 | @@: |
3233 | mov ebx,[draw_limits.top] |
3243 | mov ebx,[draw_limits.top] |
3234 | cmp ebx,[eax+RECT.top] |
3244 | cmp ebx,[eax+RECT.top] |
- | 3245 | jae @f |
|
3235 | jae @f |
3246 | mov [eax+RECT.top],ebx |
3236 | mov [eax+RECT.top],ebx |
3247 | mov dl, 1 |
3237 | @@: |
3248 | @@: |
3238 | mov ebx,[draw_limits.right] |
3249 | mov ebx,[draw_limits.right] |
3239 | cmp ebx,[eax+RECT.right] |
3250 | cmp ebx,[eax+RECT.right] |
- | 3251 | jbe @f |
|
3240 | jbe @f |
3252 | mov [eax+RECT.right],ebx |
3241 | mov [eax+RECT.right],ebx |
3253 | mov dl, 1 |
3242 | @@: |
3254 | @@: |
3243 | mov ebx,[draw_limits.bottom] |
3255 | mov ebx,[draw_limits.bottom] |
3244 | cmp ebx,[eax+RECT.bottom] |
3256 | cmp ebx,[eax+RECT.bottom] |
- | 3257 | jbe @f |
|
3245 | jbe @f |
3258 | mov [eax+RECT.bottom],ebx |
- | 3259 | mov dl, 1 |
|
3246 | mov [eax+RECT.bottom],ebx |
3260 | @@: |
3247 | @@: |
3261 | add byte[REDRAW_BACKGROUND], dl |
Line 3248... | Line 3262... | ||
3248 | jmp newdw8 |
3262 | jmp newdw8 |
3249 | .az: |
3263 | .az: |
Line 3262... | Line 3276... | ||
3262 | 3276 | ||
Line 3263... | Line 3277... | ||
3263 | sub eax,draw_data-window_data |
3277 | sub eax,draw_data-window_data |
3264 | 3278 | ||
3265 | cmp dword [esp],1 |
3279 | cmp dword [esp],1 |
Line 3266... | Line 3280... | ||
3266 | jne nobgrd |
3280 | jne nobgrd |
3267 | mov byte [REDRAW_BACKGROUND], 1 |
3281 | inc byte[REDRAW_BACKGROUND] |
Line 3268... | Line 3282... | ||
3268 | 3282 | ||
Line 3292... | Line 3306... | ||
3292 | mov ecx, [_WinMapSize] |
3306 | mov ecx, [_WinMapSize] |
3293 | shr ecx, 2 |
3307 | shr ecx, 2 |
3294 | rep stosd |
3308 | rep stosd |
Line 3295... | Line 3309... | ||
3295 | 3309 | ||
- | 3310 | mov byte[REDRAW_BACKGROUND], 0 ; do not draw background! |
|
Line 3296... | Line 3311... | ||
3296 | mov byte [REDRAW_BACKGROUND], 0 ; do not draw background! |
3311 | mov byte[BACKGROUND_CHANGED], 0 |
Line 3297... | Line 3312... | ||
3297 | 3312 | ||
3298 | ret |
3313 | ret |