diff --git a/data/Tupfile.lua b/data/Tupfile.lua index d26b4a831..500c180de 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -442,6 +442,7 @@ tup.append_table(img_files, { {"TEST", VAR_PROGS .. "/testing/protection/trunk/test"}, {"TINYPAD", VAR_PROGS .. "/develop/tinypad/trunk/tinypad"}, {"TINFO", VAR_PROGS .. "/system/tinfo/tinfo"}, + {"TIMER", VAR_PROGS .. "/other/Timer/Timer"}, {"UNZ", VAR_PROGS .. "/fs/unz/unz"}, {"ZKEY", VAR_PROGS .. "/system/zkey/trunk/ZKEY"}, {"3D/3DWAV", VAR_PROGS .. "/demos/3dwav/trunk/3dwav"}, @@ -647,7 +648,6 @@ if tup.getconfig('NO_NASM') ~= 'full' then tup.append_table(img_files, { {"ACLOCK", VAR_PROGS .. "/demos/aclock/trunk/aclock"}, {"LOD", VAR_PROGS .. "/fs/lod/lod"}, - {"TIMER", VAR_PROGS .. "/other/Timer/timer"}, {"DEVELOP/GENFILES", VAR_PROGS .. "/testing/genfiles/GenFiles"}, {"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"}, }) diff --git a/programs/other/Timer/Timer.asm b/programs/other/Timer/Timer.asm index 942b478a7..595696504 100644 --- a/programs/other/Timer/Timer.asm +++ b/programs/other/Timer/Timer.asm @@ -1,11 +1,21 @@ ; Timer with three buttons ; ; %define lang "ru_RU" ; %define lang "it_IT" -ORG 0 -BITS 32 -; ---------------------------------------------------------------------------- ; -STACK_SIZE equ 256 +use32 + org 0 + db 'MENUET01' +version dd 1 + dd program.start + dd program.end + dd program.memory + dd program.stack + dd 0,0 +include '../../macros.inc' +include '../../proc32.inc' +include '../../KOSfuncs.inc' +include 'lang.inc' +; ---------------------------------------------------------------------------- ; BUTTON_START equ 2 BUTTON_PAUSE equ 3 BUTTON_RESET equ 4 @@ -19,33 +29,24 @@ CHAR_WIDTH equ 6 CHAR2_WIDTH equ 8 CHAR_HEIGHT equ 9 -BUTTON_START_WIDTH equ (BUTTON_PADDING * 2) + (sz_start.end - sz_start) * CHAR_WIDTH -BUTTON_PAUSE_WIDTH equ (BUTTON_PADDING * 2) + (sz_pause.end - sz_pause) * CHAR_WIDTH -BUTTON_RESET_WIDTH equ (BUTTON_PADDING * 2) + (sz_reset.end - sz_reset) * CHAR_WIDTH +BUTTON_START_WIDTH = (BUTTON_PADDING * 2) + (sz_start.end - sz_start) * CHAR_WIDTH +BUTTON_PAUSE_WIDTH = (BUTTON_PADDING * 2) + (sz_pause.end - sz_pause) * CHAR_WIDTH +BUTTON_RESET_WIDTH = (BUTTON_PADDING * 2) + (sz_reset.end - sz_reset) * CHAR_WIDTH -BUTTON_HEIGHT equ (BUTTON_PADDING * 2) + CHAR_HEIGHT + 1 +BUTTON_HEIGHT = (BUTTON_PADDING * 2) + CHAR_HEIGHT + 1 -WINDOW_WIDTH equ (BORDER_SIZE * 2) + (MARGIN * 2) + (BUTTON_MARGIN * 2) + (BUTTON_START_WIDTH + BUTTON_PAUSE_WIDTH + BUTTON_RESET_WIDTH) +WINDOW_WIDTH = (BORDER_SIZE * 2) + (MARGIN * 2) + (BUTTON_MARGIN * 2) + (BUTTON_START_WIDTH + BUTTON_PAUSE_WIDTH + BUTTON_RESET_WIDTH) -TIME_AREA_WIDTH equ (CHAR2_WIDTH * 8) ; HH MM SS -TIME_AREA_LEFT equ (WINDOW_WIDTH - BORDER_SIZE * 2 - TIME_AREA_WIDTH) / 2 -TIME_AREA_TOP equ MARGIN + 1 +TIME_AREA_WIDTH = (CHAR2_WIDTH * 8) ; HH MM SS +TIME_AREA_LEFT = (WINDOW_WIDTH - BORDER_SIZE * 2 - TIME_AREA_WIDTH) / 2 +TIME_AREA_TOP = MARGIN + 1 -TEXT_ON_BUTTONS_TOP equ (MARGIN + CHAR_HEIGHT + MARGIN + BUTTON_PADDING) + 1 +TEXT_ON_BUTTONS_TOP = (MARGIN + CHAR_HEIGHT + MARGIN + BUTTON_PADDING) + 1 BUTTON_START_BACK_COLOR equ 0x880000 BUTTON_PAUSE_BACK_COLOR equ 0x008800 BUTTON_RESET_BACK_COLOR equ 0x000088 ; ---------------------------------------------------------------------------- ; -MENUET01 db 'MENUET01' -version dd 1 -program.start dd START -program.end dd END -program.memory dd END + STACK_SIZE -program.stack dd END + STACK_SIZE -program.params dd 0 -program.path dd 0 -; ---------------------------------------------------------------------------- ; screen: .height dw 0 .width dw 0 @@ -56,17 +57,7 @@ window: .width dd WINDOW_WIDTH .height dd 0 ; ---------------------------------------------------------------------------- ; -sc: -.frames dd 0 -.grab dd 0 -.work_dark dd 0 -.work_light dd 0 -.grab_text dd 0 -.work dd 0 -.work_button dd 0 -.work_button_text dd 0 -.work_text dd 0 -.work_graph dd 0 +sc system_colors ; ---------------------------------------------------------------------------- ; timer_ticks dd 0 last_timer_ticks dd 0 @@ -88,16 +79,16 @@ ButtonEvents: .pause dd EmptyProc ; at start Pause must not work .reset dd On_ButtonReset ; ---------------------------------------------------------------------------- ; -%ifidn lang, "ru_RU" - sz_timer db "Òàéìåð",0 +if lang eq ru_RU + sz_timer db "’ ©¬¥à",0 - sz_start: db "ñòàðò" + sz_start: db "áâ àâ" .end: db 0 - sz_pause: db "ïàóçà" + sz_pause: db "¯ ã§ " .end: db 0 - sz_reset: db "ñáðîñ" + sz_reset: db "á¡à®á" .end: db 0 -%elifidn lang, "it_IT" +else if lang eq it_IT sz_timer db "Timer",0 sz_start: db "lancio" @@ -106,7 +97,7 @@ ButtonEvents: .end: db 0 sz_reset: db "reset" .end: db 0 -%else +else sz_timer db "Timer",0 sz_start: db "start" @@ -115,13 +106,12 @@ ButtonEvents: .end: db 0 sz_reset: db "reset" .end: db 0 -%endif +end if ; ---------------------------------------------------------------------------- ; -START: +align 4 +program.start: ; get.screen.size - mov eax, 61 - mov ebx, 1 - int 64 + mcall SF_GET_GRAPHICAL_PARAMS,SSF_SCREEN_SIZE mov [screen], eax movzx eax, word[screen.width] @@ -130,9 +120,7 @@ START: mov [window.left], eax ; skin.height - mov eax, 48 - mov ebx, 4 - int 64 + mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT add eax, (MARGIN * 3) + BORDER_SIZE + BUTTON_HEIGHT + CHAR_HEIGHT mov [window.height], eax @@ -144,33 +132,26 @@ START: call On_Redraw ; ---------------------------------------------------------------------------- ; wait.event: - mov eax, 23 - mov ebx, 50 - int 64 - call [eax * 4 + Events] + mcall SF_WAIT_EVENT_TIMEOUT, 50 + call dword[eax * 4 + Events] jmp wait.event ; ---------------------------------------------------------------------------- ; On_KeyPress: - mov eax, 2 - int 64 + mcall SF_GET_KEY ret ; ---------------------------------------------------------------------------- ; On_ButtonPress: - mov eax, 17 - int 64 + mcall SF_GET_BUTTON movzx eax, ah - call [eax * 4 + ButtonEvents] + call dword[eax * 4 + ButtonEvents] ret ; ---------------------------------------------------------------------------- ; On_ButtonClose: - or eax, -1 - int 64 + mcall SF_TERMINATE_PROCESS ; ---------------------------------------------------------------------------- ; On_ButtonStart: ; get system counter - mov eax, 26 - mov ebx, 9 - int 64 + mcall SF_SYSTEM_GET,SSF_TIME_COUNT sub eax, [last_timer_ticks] and [last_timer_ticks], dword 0 mov [timer_ticks], eax @@ -181,9 +162,7 @@ On_ButtonStart: ; ---------------------------------------------------------------------------- ; On_ButtonPause: ; get system counter - mov eax, 26 - mov ebx, 9 - int 64 + mcall SF_SYSTEM_GET,SSF_TIME_COUNT sub eax, [timer_ticks] mov [last_timer_ticks], eax mov [timer_proc], dword EmptyProc @@ -204,23 +183,14 @@ On_ButtonReset: ; ---------------------------------------------------------------------------- ; On_Redraw: ; redraw.start - mov eax, 12 - mov ebx, 1 - int 64 + mcall SF_REDRAW,SSF_BEGIN_DRAW ; get.standart.colors - mov eax, 48 - mov ebx, 3 - mov ecx, sc - mov edx, 40 - int 64 + mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors ; skin.height - mov eax, 48 - mov ebx, 4 - int 64 + mcall ,SSF_GET_SKIN_HEIGHT add eax, (MARGIN * 3) + BORDER_SIZE + BUTTON_HEIGHT + CHAR_HEIGHT mov [window.height], eax ; draw.window - xor eax, eax mov ebx, [window.left] shl ebx, 16 add ebx, [window.width] @@ -230,51 +200,28 @@ On_Redraw: mov edx, [sc.work] or edx, 0x34000000 mov edi, sz_timer - int 64 + mcall SF_CREATE_WINDOW ; draw.buttons: - mov eax, 8 - mov ecx, ((MARGIN + CHAR_HEIGHT + MARGIN) << 16) | BUTTON_HEIGHT + mcall SF_DEFINE_BUTTON, (MARGIN shl 16) or BUTTON_START_WIDTH, ((MARGIN + CHAR_HEIGHT + MARGIN) shl 16) or BUTTON_HEIGHT, BUTTON_START, BUTTON_START_BACK_COLOR - mov ebx, (MARGIN << 16) | BUTTON_START_WIDTH - mov edx, BUTTON_START - mov esi, BUTTON_START_BACK_COLOR - int 64 + mcall , ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN) shl 16) or BUTTON_PAUSE_WIDTH,, BUTTON_PAUSE, BUTTON_PAUSE_BACK_COLOR - mov ebx, ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN) << 16) | BUTTON_PAUSE_WIDTH - mov edx, BUTTON_PAUSE - mov esi, BUTTON_PAUSE_BACK_COLOR - int 64 - - mov ebx, ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN + BUTTON_PAUSE_WIDTH + BUTTON_MARGIN) << 16) | BUTTON_RESET_WIDTH - mov edx, BUTTON_RESET - mov esi, BUTTON_RESET_BACK_COLOR - int 64 + mcall , ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN + BUTTON_PAUSE_WIDTH + BUTTON_MARGIN) shl 16) or BUTTON_RESET_WIDTH,, BUTTON_RESET, BUTTON_RESET_BACK_COLOR ;---------------------- ; draw.texts: - mov eax, 4 - mov ecx, 0x80FFFFFF + mcall SF_DRAW_TEXT, ((MARGIN + BUTTON_PADDING + 1) shl 16) or TEXT_ON_BUTTONS_TOP, 0x80FFFFFF, sz_start - mov ebx, ((MARGIN + BUTTON_PADDING + 1) << 16) | TEXT_ON_BUTTONS_TOP - mov edx, sz_start - int 64 + mcall , ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN + BUTTON_PADDING + 1) shl 16) or TEXT_ON_BUTTONS_TOP,, sz_pause - mov ebx, ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN + BUTTON_PADDING + 1) << 16) | TEXT_ON_BUTTONS_TOP - mov edx, sz_pause - int 64 - - mov ebx, ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN + BUTTON_PAUSE_WIDTH + BUTTON_MARGIN + BUTTON_PADDING + 1) << 16) | TEXT_ON_BUTTONS_TOP - mov edx, sz_reset - int 64 + mcall , ((MARGIN + BUTTON_START_WIDTH + BUTTON_MARGIN + BUTTON_PAUSE_WIDTH + BUTTON_MARGIN + BUTTON_PADDING + 1) shl 16) or TEXT_ON_BUTTONS_TOP,, sz_reset ;---------------------- call On_Idle ; redraw.finish - mov eax, 12 - mov ebx, 2 - int 64 + mcall SF_REDRAW,SSF_END_DRAW ret ; ---------------------------------------------------------------------------- ; DrawTime: - mov ebx, (1 << 16) + mov ebx, (1 shl 16) mov esi, [sc.work_text] mov edi, [sc.work] ; HH @@ -287,24 +234,16 @@ DrawTime: mov ecx, eax ; [hours] first digit or esi, 0x70000000 - mov eax, 47 - mov edx, (TIME_AREA_LEFT << 16) | TIME_AREA_TOP - int 64 + mcall SF_DRAW_NUMBER,,, (TIME_AREA_LEFT shl 16) or TIME_AREA_TOP and esi, 0x30FFFFFF - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + 1) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + 1) shl 16) or TIME_AREA_TOP mov ecx, ebp ; [hours] second digit or esi, 0x70000000 - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH) shl 16) or TIME_AREA_TOP and esi, 0x30FFFFFF - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH + 1) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH + 1) shl 16) or TIME_AREA_TOP ; MM mov eax, [minutes] xor edx, edx @@ -315,24 +254,16 @@ DrawTime: mov ecx, eax ; [minutes] first digit or esi, 0x70000000 - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + CHAR2_WIDTH * 3) << 16) | TIME_AREA_TOP - int 64 + mcall SF_DRAW_NUMBER,,, ((TIME_AREA_LEFT + CHAR2_WIDTH * 3) shl 16) or TIME_AREA_TOP and esi, 0x30FFFFFF - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + CHAR2_WIDTH * 3 + 1) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + CHAR2_WIDTH * 3 + 1) shl 16) or TIME_AREA_TOP mov ecx, ebp ; [minutes] second digit or esi, 0x70000000 - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 3 + CHAR2_WIDTH) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 3 + CHAR2_WIDTH) shl 16) or TIME_AREA_TOP and esi, 0x30FFFFFF - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 3 + CHAR2_WIDTH + 1) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 3 + CHAR2_WIDTH + 1) shl 16) or TIME_AREA_TOP ; SS mov eax, [seconds] xor edx, edx @@ -343,24 +274,16 @@ DrawTime: mov ecx, eax ; [seconds] first digit or esi, 0x70000000 - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + CHAR2_WIDTH * 6) << 16) | TIME_AREA_TOP - int 64 + mcall SF_DRAW_NUMBER,,, ((TIME_AREA_LEFT + CHAR2_WIDTH * 6) shl 16) or TIME_AREA_TOP and esi, 0x30FFFFFF - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + CHAR2_WIDTH * 6 + 1) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + CHAR2_WIDTH * 6 + 1) shl 16) or TIME_AREA_TOP mov ecx, ebp ; [seconds] second digit or esi, 0x70000000 - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 6 + CHAR2_WIDTH) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 6 + CHAR2_WIDTH) shl 16) or TIME_AREA_TOP and esi, 0x30FFFFFF - mov eax, 47 - mov edx, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 6 + CHAR2_WIDTH + 1) << 16) | TIME_AREA_TOP - int 64 + mcall ,,, ((TIME_AREA_LEFT + 1 + CHAR2_WIDTH * 6 + CHAR2_WIDTH + 1) shl 16) or TIME_AREA_TOP ret ; ---------------------------------------------------------------------------- ; On_Idle: @@ -370,9 +293,7 @@ On_Idle: ; ---------------------------------------------------------------------------- ; TimerStarted: ; get system counter - mov eax, 26 - mov ebx, 9 - int 64 + mcall SF_SYSTEM_GET,SSF_TIME_COUNT sub eax, [timer_ticks] xor edx, edx mov ecx, 100 @@ -390,4 +311,9 @@ TimerStarted: EmptyProc: ret ; ---------------------------------------------------------------------------- ; -END: +align 4 +program.end: + rb 512 +align 16 +program.stack: +program.memory: diff --git a/programs/other/Timer/Tupfile.lua b/programs/other/Timer/Tupfile.lua index b83b07ba2..630699d36 100644 --- a/programs/other/Timer/Tupfile.lua +++ b/programs/other/Timer/Tupfile.lua @@ -1,2 +1,7 @@ -if tup.getconfig("NO_NASM") ~= "" then return end -tup.rule("Timer.asm", "nasm -f bin -o %o %f " .. tup.getconfig("KPACK_CMD"), "timer") +if tup.getconfig("NO_FASM") ~= "" then return end +HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR") +tup.include(HELPERDIR .. "/use_fasm.lua") +add_include(tup.getvariantdir()) + +tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"}) +tup.rule({"Timer.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "Timer") diff --git a/programs/other/Timer/build_en.bat b/programs/other/Timer/build_en.bat new file mode 100644 index 000000000..0b16adb34 --- /dev/null +++ b/programs/other/Timer/build_en.bat @@ -0,0 +1,4 @@ +@echo lang fix en_EN >lang.inc +@fasm.exe -m 16384 timer.asm timer.kex +@kpack timer.kex +pause diff --git a/programs/other/Timer/build_ru.bat b/programs/other/Timer/build_ru.bat new file mode 100644 index 000000000..26e5c9a39 --- /dev/null +++ b/programs/other/Timer/build_ru.bat @@ -0,0 +1,4 @@ +@echo lang fix ru_RU >lang.inc +@fasm.exe -m 16384 timer.asm timer.kex +@kpack timer.kex +pause diff --git a/programs/other/Timer/make.bat b/programs/other/Timer/make.bat deleted file mode 100644 index 99437d661..000000000 --- a/programs/other/Timer/make.bat +++ /dev/null @@ -1 +0,0 @@ -nasm -f bin Timer.asm -o Timer diff --git a/programs/system/tinfo/tinfo.asm b/programs/system/tinfo/tinfo.asm index 4e3e7a15d..c35e196cc 100644 --- a/programs/system/tinfo/tinfo.asm +++ b/programs/system/tinfo/tinfo.asm @@ -113,31 +113,6 @@ EM_IPC equ 1000000b EM_NETWORK equ 10000000b EM_DEBUG equ 100000000b -; ---------------------------------------------------------------------------- ; -struct THREAD_INFO - cpu_usage rd 1 ; usage of the processor - win_stack_pos rw 1 ; position of the window of thread in the window stack - reserved0 rw 1 ; has no relation to the specified thread - reserved1 rw 1 ; reserved - name rb 11 ; name of the started file - executable file without extension - reserved2 rb 1 ; reserved, this byte is not changed - mem_address rd 1 ; address of the process in memory - mem_usage rd 1 ; size of used memory - 1 - identifier rd 1 ; identifier (PID/TID) - x rd 1 ; coordinate of the thread window on axis x - y rd 1 ; coordinate of the thread window on axis y - size_x rd 1 ; size of the thread window on axis x - size_y rd 1 ; size of the thread window on axis y - thread_state rw 1 ; status of the thread slot - reserved3 rw 1 ; reserved, this word is not changed - client_x rd 1 ; coordinate of the client area on axis x - client_y rd 1 ; coordinate of the client area on axis y - client_size_x rd 1 ; width of the client area - client_size_y rd 1 ; height of the client area - window_state rb 1 ; state of the window - bitfield - event_mask rd 1 ; event mask - keyboard_mode rb 1 ; keyboard mode -ends ; ---------------------------------------------------------------------------- ; slot dd -1 ; for default if no params @@ -248,7 +223,7 @@ macro DrawCpuUsage { ; sz_cpu_usage stdcall DrawText, [back_color],[fore_color],sz_cpu_usage,[Pos.y],COLUMN1_TEXT_X ; [cpu_usage] - stdcall uint2str, [thread_info + THREAD_INFO.cpu_usage] + stdcall uint2str, [thread_info.cpu_usage] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -259,7 +234,7 @@ macro DrawWinStackPos { ; sz_win_stack_pos stdcall DrawText, [back_color],[fore_color],sz_win_stack_pos,[Pos.y],COLUMN1_TEXT_X ; [win_stack_pos] - movzx eax, word [thread_info + THREAD_INFO.win_stack_pos] + movzx eax, word [thread_info.window_stack_position] stdcall uint2str, eax stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X @@ -271,7 +246,7 @@ macro DrawName { ; sz_name stdcall DrawText, [back_color],[fore_color],sz_name,[Pos.y],COLUMN1_TEXT_X ; name - stdcall DrawText, [back_color],[fore_color],(thread_info + THREAD_INFO.name),[Pos.y],COLUMN2_TEXT_X + stdcall DrawText, [back_color],[fore_color],(thread_info.process_name),[Pos.y],COLUMN2_TEXT_X call ChangeBackColor add [Pos.y], dword ITEM_HEIGHT } @@ -280,7 +255,7 @@ macro DrawMemAddress { ; sz_mem_address stdcall DrawText, [back_color],[fore_color],sz_mem_address,[Pos.y],COLUMN1_TEXT_X ; [mem_address] - stdcall uint2str, [thread_info + THREAD_INFO.mem_address] + stdcall uint2str, [thread_info.memory_start] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -291,7 +266,7 @@ macro DrawMemUsage { ; sz_mem_usage stdcall DrawText, [back_color],[fore_color],sz_mem_usage,[Pos.y],COLUMN1_TEXT_X ; [mem_usage] - stdcall uint2str, [thread_info + THREAD_INFO.mem_usage] + stdcall uint2str, [thread_info.used_memory] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -302,7 +277,7 @@ macro DrawIdentifier { ; sz_identifier stdcall DrawText, [back_color],[fore_color],sz_identifier,[Pos.y],COLUMN1_TEXT_X ; [identifier] - stdcall uint2str, [thread_info + THREAD_INFO.identifier] + stdcall uint2str, [thread_info.PID] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -313,7 +288,7 @@ macro DrawWindowX { ; sz_x stdcall DrawText, [back_color],[fore_color],sz_x,[Pos.y],COLUMN1_TEXT_X ; [x] - stdcall uint2str, [thread_info + THREAD_INFO.x] + stdcall uint2str, [thread_info.box.left] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -324,7 +299,7 @@ macro DrawWindowY { ; sz_y stdcall DrawText, [back_color],[fore_color],sz_y,[Pos.y],COLUMN1_TEXT_X ; [y] - stdcall uint2str, [thread_info + THREAD_INFO.y] + stdcall uint2str, [thread_info.box.top] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -335,7 +310,7 @@ macro DrawWindowSizeX { ; sz_size_x stdcall DrawText, [back_color],[fore_color],sz_size_x,[Pos.y],COLUMN1_TEXT_X ; [size_x] - stdcall uint2str, [thread_info + THREAD_INFO.size_x] + stdcall uint2str, [thread_info.box.width] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -346,7 +321,7 @@ macro DrawWindowSizeY { ; sz_size_y stdcall DrawText, [back_color],[fore_color],sz_size_y,[Pos.y],COLUMN1_TEXT_X ; [size_y] - stdcall uint2str, [thread_info + THREAD_INFO.size_y] + stdcall uint2str, [thread_info.box.height] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -357,7 +332,7 @@ macro DrawThreadState { ; sz_thread_state stdcall DrawText, [back_color],[fore_color],sz_thread_state,[Pos.y],COLUMN1_TEXT_X ; decoded_thread_state & [thread_state] - movzx eax, word [thread_info + THREAD_INFO.thread_state] + movzx eax, word [thread_info.slot_state] push eax ; for "call uint2str" below cmp eax, THREAD_STATE_RUNNING @@ -409,7 +384,7 @@ macro DrawClientX { ; sz_client_x stdcall DrawText, [back_color],[fore_color],sz_client_x,[Pos.y],COLUMN1_TEXT_X ; [client_x] - stdcall uint2str, [thread_info + THREAD_INFO.client_x] + stdcall uint2str, [thread_info.client_box.left] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -420,7 +395,7 @@ macro DrawClientY { ; sz_client_y stdcall DrawText, [back_color],[fore_color],sz_client_y,[Pos.y],COLUMN1_TEXT_X ; [client_y] - stdcall uint2str, [thread_info + THREAD_INFO.client_y] + stdcall uint2str, [thread_info.client_box.top] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -431,7 +406,7 @@ macro DrawClientSizeX { ; sz_client_size_x stdcall DrawText, [back_color],[fore_color],sz_client_size_x,[Pos.y],COLUMN1_TEXT_X ; [client_size_x] - stdcall uint2str, [thread_info + THREAD_INFO.client_size_x] + stdcall uint2str, [thread_info.client_box.width] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -442,7 +417,7 @@ macro DrawClientSizeY { ; sz_client_size_y stdcall DrawText, [back_color],[fore_color],sz_client_size_y,[Pos.y],COLUMN1_TEXT_X ; [client_size_y] - stdcall uint2str, [thread_info + THREAD_INFO.client_size_y] + stdcall uint2str, [thread_info.client_box.height] stdcall PadBuffSpaces, COLUMN2_MAX_COUNT stdcall DrawText, [back_color],[fore_color],tmpbuffer,[Pos.y],COLUMN2_TEXT_X call ChangeBackColor @@ -453,7 +428,7 @@ macro DrawWindowState { ; sz_window_state stdcall DrawText, [back_color],[fore_color],sz_window_state,[Pos.y],COLUMN1_TEXT_X ; decoded_window_state & [window_state] - movzx eax, byte [thread_info + THREAD_INFO.window_state] + movzx eax, byte [thread_info.wnd_state] push eax ; for "call uint2str" below mov ebx, eax mov [tmpbuffer], byte 0 @@ -483,7 +458,7 @@ macro DrawEventMask { ; sz_event_mask stdcall DrawText, [back_color],[fore_color],sz_event_mask,[Pos.y],COLUMN1_TEXT_X ; decoded_event_mask & [event_mask] - mov eax, [thread_info + THREAD_INFO.event_mask] + mov eax, [thread_info.event_mask] push eax ; for "call uint2str" below mov ebx, eax mov [tmpbuffer], byte 0 @@ -537,7 +512,7 @@ macro DrawKeyboardMode { ; sz_keyboard_mode stdcall DrawText, [back_color],[fore_color],sz_keyboard_mode,[Pos.y],COLUMN1_TEXT_X ; decoded_keyboard_mode & [keyboard_mode] - movzx eax, byte [thread_info + THREAD_INFO.keyboard_mode] + movzx eax, byte [thread_info.keyboard_mode] push eax ; for "call uint2str" below cmp eax, KEYBOARD_MODE_ASCII