diff --git a/programs/develop/tinypad/trunk/build.bat b/programs/develop/tinypad/trunk/build.bat new file mode 100644 index 0000000000..1a205dce6f --- /dev/null +++ b/programs/develop/tinypad/trunk/build.bat @@ -0,0 +1,5 @@ +@echo lang fix en >lang.inc +@fasm -m 16384 tinypad.asm tinypad +@erase lang.inc +@kpack tinypad +@pause diff --git a/programs/develop/tinypad/trunk/build.sh b/programs/develop/tinypad/trunk/build.sh new file mode 100644 index 0000000000..b73493eed1 --- /dev/null +++ b/programs/develop/tinypad/trunk/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# This script does for linux the same as build.bat for DOS, +# it compiles the KoOS kernel, hopefully ;-) + + echo "lang fix en" + echo "lang fix en" > lang.inc + fasm -m 16384 kfm.asm kfm + kpack kfm + rm -f lang.inc + exit 0 + + + + diff --git a/programs/develop/tinypad/trunk/data/tp-udata.inc b/programs/develop/tinypad/trunk/data/tp-udata.inc index 311656217e..426664cfb7 100644 --- a/programs/develop/tinypad/trunk/data/tp-udata.inc +++ b/programs/develop/tinypad/trunk/data/tp-udata.inc @@ -71,6 +71,9 @@ shi dd ? win_key_flag db ? +align 4 +active_process dd ? + align 4 cl_3d_normal dd ? cl_3d_pushed dd ? diff --git a/programs/develop/tinypad/trunk/tinypad.asm b/programs/develop/tinypad/trunk/tinypad.asm index f860f8d691..4d788faa21 100644 --- a/programs/develop/tinypad/trunk/tinypad.asm +++ b/programs/develop/tinypad/trunk/tinypad.asm @@ -65,6 +65,11 @@ INI_SEC_PREFIX equ '' section @CODE ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;----------------------------------------------------------------------------- + mcall 9,p_info,-1 + mov ecx,[ebx+30] ; PID + mcall 18,21 + mov [active_process],eax ; WINDOW SLOT + cld mov edi,@UDATA mov ecx,@PARAMS-@UDATA @@ -214,6 +219,9 @@ still: cmp [open_dialog],1 je .open_dialog mcall 10 ; wait here until event + + call check_active_process_for_clear_all_flags + cmp [main_closed],0 jne key.alt_x dec eax ; redraw ? @@ -273,6 +281,19 @@ draw_window_for_OD: call draw_statusbar ret ;----------------------------------------------------------------------------- +check_active_process_for_clear_all_flags: + push eax + mcall 18,7 + cmp [active_process],eax + je .exit + + xor eax,eax + mov [win_key_flag],al +;-------------------------------------- +.exit: + pop eax + ret +;----------------------------------------------------------------------------- copy_str_2: cld push esi ecx