Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1951 | mario79 | 1 | error_window: |
2 | test dword [status],32 |
||
3 | jnz still |
||
4 | or dword [status],32 |
||
5 | mcall 9, procinfo, -1 |
||
6 | mov eax,[ebx+46] |
||
7 | test eax,eax |
||
8 | jnz @f |
||
9 | mov eax,100 |
||
10 | mov [error_window_y+2],ax |
||
11 | mov [error_window_x+2],ax |
||
12 | jmp .end |
||
13 | @@: |
||
14 | shr eax,1 |
||
15 | add eax,[ebx+38] |
||
16 | sub eax,50 |
||
17 | mov [error_window_y+2],ax |
||
18 | mov eax,[ebx+42] |
||
19 | shr eax,1 |
||
20 | add eax,[ebx+34] |
||
21 | sub eax,150 |
||
22 | mov [error_window_x+2],ax |
||
23 | .end: |
||
24 | call get_memory_for_tread_stack |
||
25 | mov [thread_stack_6],eax |
||
26 | mcall 51,1,thread6 ;,thread_stack_6 |
||
27 | ret |
||
28 | ;--------------------------------------------------------------------- |
||
29 | thread6: |
||
30 | mcall 9, procinfo_threads, -1 |
||
31 | mov eax,[ebx+30] |
||
32 | mov [PID6],eax |
||
33 | mcall 40, 0x7 |
||
34 | mov [error_pointer],string |
||
35 | .red: |
||
36 | call .draw_error_window |
||
37 | .still: |
||
38 | mcall 10 |
||
39 | cmp eax,1 |
||
40 | je .red |
||
41 | cmp eax,2 ; key in buffer ? |
||
42 | je .key |
||
43 | cmp eax,3 |
||
44 | je .button |
||
45 | jmp .still |
||
46 | .key: ; key |
||
47 | .button: |
||
48 | xor dword [status],32 |
||
49 | xor eax,eax |
||
50 | mov [PID6],eax |
||
51 | |||
52 | mcall 68,13,[thread_stack_6] |
||
53 | mcall -1 |
||
54 | jmp .still |
||
55 | ;--------------------------------------------------------------------- |
||
56 | .draw_error_window: |
||
57 | mcall 12, 1 |
||
58 | mcall 0,[error_window_x] ,[error_window_y], 0x03ff0000 |
||
59 | mcall 71,1, errortext |
||
60 | mcall 4,<10,30>,0x80ffffff,[error_pointer] |
||
61 | cmp [return_code],0 |
||
62 | je .continue |
||
63 | cmp [return_code],1 |
||
64 | jne @f |
||
65 | mcall 4,<10,50>,0x90ffffff,error_not_supported_file |
||
66 | jmp .end |
||
67 | @@: |
||
68 | cmp [return_code],2 |
||
69 | jne @f |
||
70 | mcall 4,<10,50>,0x90ffffff,error_not_enough_memory |
||
71 | jmp .end |
||
72 | @@: |
||
73 | mcall 4,<10,50>,0x90ffffff,error_unknown |
||
74 | jmp .end |
||
75 | .continue: |
||
76 | mcall 4,<10,50>,0x90ffffff,error_type |
||
77 | mcall 47,0x800a0000,[error_fs],<140,50>,0x10ffffff |
||
78 | mov edx,[error_fs] |
||
79 | cmp edx,0 |
||
80 | jb .end |
||
81 | cmp edx,11 |
||
82 | ja .end |
||
83 | shl edx,2 |
||
84 | add edx,error_fs_text_pointers |
||
85 | mov edx,[edx] |
||
86 | mcall 4,<10,70>,0x90ffffff, |
||
87 | ; mcall 47,0x800a0000,[error_locate],<140,5>,0x10ffffff |
||
88 | .end: |
||
89 | ; mcall 47,0x80000,[PID6],<200, 5>,0xffffff |
||
90 | mcall 12, 2 |
||
91 | ret |
||
92 | ;---------------------------------------------------------------------200,>140,5>10,70>140,50>10,50>10,50>10,50>10,50>10,30> |