kolibrios/programs/games/rstearth/error_window.inc

117 lines
2.7 KiB
PHP
Raw Normal View History

;---------------------------------------------------------------------
;start_error_window_thread:
; mcall 9,procinfo,-1
; mov eax,[ebx+46]
; shr eax,1
; add eax,[ebx+38]
; sub eax,40
; mov [error_window_y+2],ax
; mov eax,[ebx+42]
; shr eax,1
; add eax,[ebx+34]
; sub eax,125
; mov [error_window_x+2],ax
; mcall 51,1,thread_start,thread_stack
; DEBUGF 1, "start_error_window_thread\n"
; ret
;---------------------------------------------------------------------
thread_start:
mov eax,[N_error]
; DEBUGF 1, "thread_start N_error: %d\n",eax
; cmp al,1
; jne @f
; mov [N_error],load_ini_error_type
; mov [error_path],file_name
; jmp .error_type
;--------------------------------------
;@@:
cmp al,2
jne @f
mov [N_error],load_icons_error_type
mov [error_path],file_name
; DEBUGF 1, "error_path: %s\n",file_name
jmp .error_type
;--------------------------------------
@@:
cmp al,3
jne @f
mov [N_error],memory_free_error_type
xor eax,eax
mov [error_path],eax
mov [error_type],eax
jmp .red
;--------------------------------------
@@:
cmp al,4
jne @f
mov [N_error],memory_get_error_type
xor eax,eax
mov [error_path],eax
mov [error_type],eax
jmp .red
;--------------------------------------
@@:
; cmp al,5
; jne @f
; mov [N_error],load_directory_error_type
; mov [error_path],dir_path
; jmp .error_type
;--------------------------------------
;@@:
cmp al,6
jne .button
mov [N_error],convert_icons_error_type
mov [error_path],file_name
xor eax,eax
mov [error_type],eax
jmp .red
;--------------------------------------
.error_type:
; DEBUGF 1, ".error_type:\n"
mov eax,[error_type]
shl eax,2
add eax,error_fs_text_pointers
mov eax,[eax]
mov [error_type],eax
;--------------------------------------
.red:
; DEBUGF 1, "draw_error_window\n"
call draw_error_window
;--------------------------------------
.still:
mcall 10
cmp eax,1
je .red
cmp eax,2
je .key
cmp eax,3
je .button
jmp .still
;--------------------------------------
.key:
mcall 2
jmp .still
;--------------------------------------
.button:
mcall -1
;---------------------------------------------------------------------
draw_error_window:
mcall 12,1
mcall 0,[error_window_x],[error_window_y],0x03ff0000
mcall 4,<10,30>,0x90ffffff,[N_error]
mov eax,[error_path]
test eax,eax
jz @f
mcall 4,<10,50>,,[error_path]
;--------------------------------------
@@:
mov eax,[error_type]
test eax,eax
jz @f
mcall 4,<10,70>,,[error_type]
;--------------------------------------
@@:
mcall 12,2
ret
;---------------------------------------------------------------------