Rev 2536 | Rev 2545 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2536 | Rev 2537 | ||
---|---|---|---|
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: 2536 $ |
72 | $Revision: 2537 $ |
Line 2687... | Line 2687... | ||
2687 | ;------------------------------------------------------------------------------ |
2687 | ;------------------------------------------------------------------------------ |
2688 | align 4 |
2688 | align 4 |
2689 | nosb7: |
2689 | nosb7: |
2690 | cmp ebx, 8 |
2690 | cmp ebx, 8 |
2691 | jnz nosb8 |
2691 | jnz nosb8 |
2692 | mov eax, [draw_data+32 + RECT.left] |
- | |
2693 | shl eax, 16 |
- | |
- | 2692 | ||
2694 | add eax, [draw_data+32 + RECT.right] |
2693 | mov eax, [BG_Rect_X_left_right] |
2695 | mov [esp + 32], eax ; eax = [left]*65536 + [right] |
2694 | mov [esp + 32], eax ; eax = [left]*65536 + [right] |
2696 | mov eax, [draw_data+32 + RECT.top] |
2695 | mov eax, [BG_Rect_Y_top_bottom] |
2697 | shl eax, 16 |
- | |
2698 | add eax, [draw_data+32 + RECT.bottom] |
- | |
2699 | mov [esp + 20], eax ; ebx = [top]*65536 + [bottom] |
2696 | mov [esp + 20], eax ; ebx = [top]*65536 + [bottom] |
2700 | ret |
2697 | ret |
2701 | ;------------------------------------------------------------------------------ |
2698 | ;------------------------------------------------------------------------------ |
2702 | align 4 |
2699 | align 4 |
2703 | nosb8: |
2700 | nosb8: |
2704 | ret |
2701 | ret |
2705 | ;------------------------------------------------------------------------------ |
2702 | ;------------------------------------------------------------------------------ |
2706 | align 4 |
2703 | align 4 |
- | 2704 | uglobal |
|
- | 2705 | BG_Rect_X_left_right dd 0x0 |
|
- | 2706 | BG_Rect_Y_top_bottom dd 0x0 |
|
- | 2707 | endg |
|
- | 2708 | ;------------------------------------------------------------------------------ |
|
- | 2709 | align 4 |
|
2707 | force_redraw_background: |
2710 | force_redraw_background: |
2708 | and [draw_data+32 + RECT.left], 0 |
2711 | and [draw_data+32 + RECT.left], 0 |
2709 | and [draw_data+32 + RECT.top], 0 |
2712 | and [draw_data+32 + RECT.top], 0 |
2710 | push eax ebx |
2713 | push eax ebx |
2711 | mov eax, [Screen_Max_X] |
2714 | mov eax, [Screen_Max_X] |
Line 3297... | Line 3300... | ||
3297 | cmp [background_defined], 0 |
3300 | cmp [background_defined], 0 |
3298 | jz nobackgr |
3301 | jz nobackgr |
3299 | ;-------------------------------------- |
3302 | ;-------------------------------------- |
3300 | align 4 |
3303 | align 4 |
3301 | @@: |
3304 | @@: |
- | 3305 | push eax |
|
- | 3306 | mov eax, [draw_data+32 + RECT.left] |
|
- | 3307 | shl eax, 16 |
|
- | 3308 | add eax, [draw_data+32 + RECT.right] |
|
- | 3309 | mov [BG_Rect_X_left_right], eax ; [left]*65536 + [right] |
|
- | 3310 | ||
- | 3311 | mov eax, [draw_data+32 + RECT.top] |
|
- | 3312 | shl eax, 16 |
|
- | 3313 | add eax, [draw_data+32 + RECT.bottom] |
|
- | 3314 | mov [BG_Rect_Y_top_bottom], eax ; [top]*65536 + [bottom] |
|
- | 3315 | pop eax |
|
- | 3316 | ||
3302 | call drawbackground |
3317 | call drawbackground |
3303 | ;--------- set event 5 start ---------- |
3318 | ;--------- set event 5 start ---------- |
3304 | push ecx edi |
3319 | push ecx edi |
3305 | xor edi, edi |
3320 | xor edi, edi |
3306 | mov ecx, [TASK_COUNT] |
3321 | mov ecx, [TASK_COUNT] |
Line 3309... | Line 3324... | ||
3309 | set_bgr_event: |
3324 | set_bgr_event: |
3310 | add edi, 256 |
3325 | add edi, 256 |
3311 | or [edi+SLOT_BASE+APPDATA.event_mask], 10000b ; set event 5 |
3326 | or [edi+SLOT_BASE+APPDATA.event_mask], 10000b ; set event 5 |
3312 | loop set_bgr_event |
3327 | loop set_bgr_event |
3313 | pop edi ecx |
3328 | pop edi ecx |
- | 3329 | ; call change_task - because the application must have time to call f.15.8 |
|
- | 3330 | call change_task |
|
3314 | ;--------- set event 5 stop ----------- |
3331 | ;--------- set event 5 stop ----------- |
3315 | xor eax, eax |
3332 | xor eax, eax |
3316 | xchg al, [REDRAW_BACKGROUND] |
3333 | xchg al, [REDRAW_BACKGROUND] |
3317 | test al, al ; got new update request? |
3334 | test al, al ; got new update request? |
3318 | jnz @b |
3335 | jnz @b |
Line 3319... | Line -... | ||
3319 | - | ||
3320 | ; call change_task - because the application must have time to call f.15.8 |
- | |
3321 | call change_task |
- | |
3322 | 3336 | ||
3323 | mov [draw_data+32 + RECT.left], eax |
3337 | mov [draw_data+32 + RECT.left], eax |
3324 | mov [draw_data+32 + RECT.top], eax |
3338 | mov [draw_data+32 + RECT.top], eax |
3325 | mov [draw_data+32 + RECT.right], eax |
3339 | mov [draw_data+32 + RECT.right], eax |
3326 | mov [draw_data+32 + RECT.bottom], eax |
3340 | mov [draw_data+32 + RECT.bottom], eax |