WIP: programs/media: Post-SVN tidy #260
@@ -159,10 +159,10 @@ extra_files = {
|
|||||||
{"kolibrios/3D/blocks/models/", "../programs/bcc32/games/blocks/models/*"},
|
{"kolibrios/3D/blocks/models/", "../programs/bcc32/games/blocks/models/*"},
|
||||||
{"kolibrios/3D/md2view/", "common/3d/md2view/*"},
|
{"kolibrios/3D/md2view/", "common/3d/md2view/*"},
|
||||||
{"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
|
{"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
|
||||||
{"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", SRC_PROGS .. "/media/voxel_editor/trunk/vox_editor.ini"},
|
{"kolibrios/3D/voxel_editor/VOX_EDITOR.INI", SRC_PROGS .. "/media/voxel_editor/vox_editor.ini"},
|
||||||
{"kolibrios/3D/voxel_editor/HOUSE1.VOX", SRC_PROGS .. "/media/voxel_editor/trunk/house1.vox"},
|
{"kolibrios/3D/voxel_editor/HOUSE1.VOX", SRC_PROGS .. "/media/voxel_editor/house1.vox"},
|
||||||
{"kolibrios/3D/voxel_editor/HOUSE2.VOX", SRC_PROGS .. "/media/voxel_editor/trunk/house2.vox"},
|
{"kolibrios/3D/voxel_editor/HOUSE2.VOX", SRC_PROGS .. "/media/voxel_editor/house2.vox"},
|
||||||
{"kolibrios/3D/voxel_editor/SQUIRREL.VOX", SRC_PROGS .. "/media/voxel_editor/trunk/squirrel.vox"},
|
{"kolibrios/3D/voxel_editor/SQUIRREL.VOX", SRC_PROGS .. "/media/voxel_editor/squirrel.vox"},
|
||||||
{"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , SRC_PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
|
{"kolibrios/3D/voxel_utilites/VOX_MOVER.INI" , SRC_PROGS .. "/media/voxel_editor/utilites/vox_mover.ini"},
|
||||||
{"kolibrios/3D/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
|
{"kolibrios/3D/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
|
||||||
{"kolibrios/3D/TOOLB_1.PNG", SRC_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
|
{"kolibrios/3D/TOOLB_1.PNG", SRC_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/toolb_1.png"},
|
||||||
@@ -527,11 +527,11 @@ tup.append_table(img_files, {
|
|||||||
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
|
||||||
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/kiv"},
|
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/kiv"},
|
||||||
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/listplay"},
|
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/listplay"},
|
||||||
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
|
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/midamp"},
|
||||||
{"MEDIA/MP3INFO", VAR_PROGS .. "/media/mp3info/mp3info"},
|
{"MEDIA/MP3INFO", VAR_PROGS .. "/media/mp3info/mp3info"},
|
||||||
{"MEDIA/PALITRA", VAR_PROGS .. "/media/palitra/trunk/palitra"},
|
{"MEDIA/PALITRA", VAR_PROGS .. "/media/palitra/palitra"},
|
||||||
{"MEDIA/PIANO", VAR_PROGS .. "/media/piano/piano"},
|
{"MEDIA/PIANO", VAR_PROGS .. "/media/piano/piano"},
|
||||||
{"MEDIA/STARTMUS", VAR_PROGS .. "/media/startmus/trunk/STARTMUS"},
|
{"MEDIA/STARTMUS", VAR_PROGS .. "/media/startmus/STARTMUS"},
|
||||||
{"NETWORK/PING", VAR_PROGS .. "/network/ping/ping"},
|
{"NETWORK/PING", VAR_PROGS .. "/network/ping/ping"},
|
||||||
{"NETWORK/NETCFG", VAR_PROGS .. "/network/netcfg/netcfg"},
|
{"NETWORK/NETCFG", VAR_PROGS .. "/network/netcfg/netcfg"},
|
||||||
{"NETWORK/NETSTAT", VAR_PROGS .. "/network/netstat/netstat"},
|
{"NETWORK/NETSTAT", VAR_PROGS .. "/network/netstat/netstat"},
|
||||||
@@ -600,7 +600,7 @@ tup.append_table(extra_files, {
|
|||||||
{"kolibrios/3D/info3ds/INFO3DS", VAR_PROGS .. "/develop/info3ds/info3ds"},
|
{"kolibrios/3D/info3ds/INFO3DS", VAR_PROGS .. "/develop/info3ds/info3ds"},
|
||||||
{"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
|
{"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
|
||||||
{"kolibrios/3D/info3ds/INFO3DS_U", VAR_PROGS .. "/develop/info3ds/info3ds_u"},
|
{"kolibrios/3D/info3ds/INFO3DS_U", VAR_PROGS .. "/develop/info3ds/info3ds_u"},
|
||||||
{"kolibrios/3D/voxel_editor/VOXEL_EDITOR", VAR_PROGS .. "/media/voxel_editor/trunk/voxel_editor"},
|
{"kolibrios/3D/voxel_editor/VOXEL_EDITOR", VAR_PROGS .. "/media/voxel_editor/voxel_editor"},
|
||||||
{"kolibrios/3D/voxel_utilites/VOX_CREATOR" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_creator"},
|
{"kolibrios/3D/voxel_utilites/VOX_CREATOR" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_creator"},
|
||||||
{"kolibrios/3D/voxel_utilites/VOX_MOVER" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_mover"},
|
{"kolibrios/3D/voxel_utilites/VOX_MOVER" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_mover"},
|
||||||
{"kolibrios/3D/voxel_utilites/VOX_TGL" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
|
{"kolibrios/3D/voxel_utilites/VOX_TGL" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
|
||||||
|
@@ -164,17 +164,16 @@ echo Building media
|
|||||||
echo *
|
echo *
|
||||||
rem media\ac97snd\trunk\ac97snd.asm ac97snd
|
rem media\ac97snd\trunk\ac97snd.asm ac97snd
|
||||||
fasm media\animage\animage.asm %BIN%\animage
|
fasm media\animage\animage.asm %BIN%\animage
|
||||||
fasm media\cdp\trunk\cdp.asm %BIN%\cdp
|
rem fasm media\cdp\trunk\cdp.asm %BIN%\cdp
|
||||||
fasm media\gifview\trunk\gifview.asm %BIN%\gifview
|
rem fasm media\gifview\trunk\gifview.asm %BIN%\gifview
|
||||||
fasm media\iconedit\trunk\iconedit.asm %BIN%\iconedit
|
rem fasm media\iconedit\trunk\iconedit.asm %BIN%\iconedit
|
||||||
fasm media\jpegview\trunk\jpegview.asm %BIN%\jpegview
|
rem fasm media\jpegview\trunk\jpegview.asm %BIN%\jpegview
|
||||||
fasm media\midamp\trunk\midamp.asm %BIN%\midamp
|
fasm media\midamp\midamp.asm %BIN%\midamp
|
||||||
fasm media\midiplay\trunk\midiplay.asm %BIN%\midiplay
|
fasm media\midiplay\midiplay.asm %BIN%\midiplay
|
||||||
fasm media\mixer\trunk\mixer.asm %BIN%\mixer
|
rem fasm media\mixer\trunk\mixer.asm %BIN%\mixer
|
||||||
|
rem fasm media\mv\trunk\mv.asm %BIN%\mv
|
||||||
fasm media\mv\trunk\mv.asm %BIN%\mv
|
fasm media\pic4\pic4.asm %BIN%\pic4
|
||||||
fasm media\pic4\trunk\pic4.asm %BIN%\pic4
|
rem fasm media\sb\trunk\sb.asm %BIN%\sb
|
||||||
fasm media\sb\trunk\sb.asm %BIN%\sb
|
|
||||||
fasm media\scrshoot\scrshoot.asm %BIN%\scrshoot
|
fasm media\scrshoot\scrshoot.asm %BIN%\scrshoot
|
||||||
|
|
||||||
echo *
|
echo *
|
||||||
@@ -234,7 +233,7 @@ echo __nightbuild fix yes >> config.inc
|
|||||||
fasm media\kiv\kiv.asm %BIN%\nightbuild\kiv
|
fasm media\kiv\kiv.asm %BIN%\nightbuild\kiv
|
||||||
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
|
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
|
||||||
fasm media\animage\animage.asm %BIN%\nightbuild\animage
|
fasm media\animage\animage.asm %BIN%\nightbuild\animage
|
||||||
fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp
|
fasm media\midamp\midamp.asm %BIN%\nightbuild\midamp
|
||||||
fasm develop\heed\trunk\heed.asm %BIN%\nightbuild\heed
|
fasm develop\heed\trunk\heed.asm %BIN%\nightbuild\heed
|
||||||
fasm develop\tinypad\trunk\tinypad.asm %BIN%\nightbuild\tinypad
|
fasm develop\tinypad\trunk\tinypad.asm %BIN%\nightbuild\tinypad
|
||||||
fasm system\skincfg\trunk\skincfg.asm %BIN%\nightbuild\skincfg
|
fasm system\skincfg\trunk\skincfg.asm %BIN%\nightbuild\skincfg
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
if not exist bin mkdir bin
|
if not exist bin mkdir bin
|
||||||
if not exist bin\font6x9.bmp @copy ..\..\..\fs\kfar\trunk\font6x9.bmp bin\font6x9.bmp
|
if not exist bin\font6x9.bmp @copy ..\..\fs\kfar\trunk\font6x9.bmp bin\font6x9.bmp
|
||||||
@copy *.png bin\*.png
|
@copy *.png bin\*.png
|
||||||
@copy *.txt bin\*.txt
|
@copy *.txt bin\*.txt
|
||||||
@fasm.exe -m 16384 log_el.asm bin\log_el.kex
|
@fasm.exe -m 16384 log_el.asm bin\log_el.kex
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 192 B After Width: | Height: | Size: 192 B |
Before Width: | Height: | Size: 670 B After Width: | Height: | Size: 670 B |
Before Width: | Height: | Size: 960 B After Width: | Height: | Size: 960 B |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 673 B After Width: | Height: | Size: 673 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,9 +1,12 @@
|
|||||||
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
; Ok, this is the sceleton that MENUET 0.01 understands.
|
; Ok, this is the sceleton that MENUET 0.01 understands.
|
||||||
; Do not change the header bits for now. Compile with nasm.
|
; Do not change the header bits for now. Compile with nasm.
|
||||||
;
|
;
|
||||||
|
|
||||||
include '..\..\..\macros.inc'
|
include '..\..\macros.inc'
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0x0
|
org 0x0
|
||||||
@@ -295,6 +298,3 @@ errorlen2:
|
|||||||
base db 0x0
|
base db 0x0
|
||||||
|
|
||||||
I_END:
|
I_END:
|
||||||
|
|
||||||
|
|
||||||
|
|
@@ -1,331 +1,337 @@
|
|||||||
;*********************************
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
;* *
|
;
|
||||||
;* PAINT 0.02 ¤«ï MenuetOS *
|
|
||||||
;* *
|
; Text encoded with Code Page 866 - Cyrillic
|
||||||
;* Š®¬¯¨«¨à®¢ âì FASM'®¬ *
|
|
||||||
;* *
|
|
||||||
;*********************************
|
;*********************************
|
||||||
|
;* *
|
||||||
;******************************************************************************
|
;* PAINT 0.02 ¤«ï MenuetOS *
|
||||||
; <20>âã ¯à®£à ¬¬ã ¥ 㦮 á¥à쥧® à áᬠâਢ âì - íâ® ¢á¥£® «¨èì ¯à¨¬¥à,
|
;* *
|
||||||
; ¢ ª®â®à®¬ ¯®ª § ®, ª ª à ¡®â âì á ¥ª®â®à묨 á¨á⥬묨 äãªæ¨ï¬¨ Œ¥Ž‘,
|
;* Š®¬¯¨«¨à®¢ âì FASM'®¬ *
|
||||||
; ® ¨ª ª ¥ ®à¬ «ìë© £à ä¨ç¥áª¨© । ªâ®à. Š®¤ ¯à®£à ¬¬ë Ž—…<E28094>œ ¯à®á⮩,
|
;* *
|
||||||
; ¨ ® ¯à¥¤ § ç¥ ¤«ï â¥å, ªâ® ⮫쪮 ç¨ ¥â ¨§ãç âì áᥬ¡«¥à,
|
;*********************************
|
||||||
; ¯®í⮬ã ï áâ६¨«áï ᤥ« âì ¥£® ª ª ¬®¦® ¡®«¥¥ ¯®ïâë¬.
|
|
||||||
; ’¥¬ ¥ ¬¥¥¥, ª®¤ ¤®¢®«ì® ¥¯«®å® ®¯â¨¬¨§¨à®¢ , å®âï íâ® ¥¬®£®
|
;******************************************************************************
|
||||||
; ¬®¦¥â § âà㤨âì ¥£® ¯®¨¬ ¨¥. Ÿ ¯®áâ à «áï âé â¥«ì® ¯à®ª®¬¬¥â¨à®¢ âì
|
; <EFBFBD>âã ¯à®£à ¬¬ã ¥ 㦮 á¥à쥧® à áᬠâਢ âì - íâ® ¢á¥£® «¨èì ¯à¨¬¥à,
|
||||||
; á«®¦ë¥ ¬¥áâ . Šáâ â¨, ¨¤¥ï ¯à®£à ¬¬ë ¯à¨ ¤«¥¦¨â ¥ ¬¥, Sniper'ã, ¤«ï
|
; ¢ ª®â®à®¬ ¯®ª § ®, ª ª à ¡®â âì á ¥ª®â®à묨 á¨á⥬묨 äãªæ¨ï¬¨ Œ¥Ž‘,
|
||||||
; ª®â®à®£® ¢®¡é¥¬-â® ¢á¥ ¨ ¯¨á «®áì.
|
; ® ¨ª ª ¥ ®à¬ «ìë© £à ä¨ç¥áª¨© । ªâ®à. Š®¤ ¯à®£à ¬¬ë Ž—…<E28094>œ ¯à®á⮩,
|
||||||
; “¤ ç¨ ¢ ¨§ã票¨ ᬠ!
|
; ¨ ® ¯à¥¤ § ç¥ ¤«ï â¥å, ªâ® ⮫쪮 ç¨ ¥â ¨§ãç âì áᥬ¡«¥à,
|
||||||
; ˆ¢ <20>®¤¤ã¡ë©, ivan-yar@bk.ru
|
; ¯®í⮬ã ï áâ६¨«áï ᤥ« âì ¥£® ª ª ¬®¦® ¡®«¥¥ ¯®ïâë¬.
|
||||||
;******************************************************************************
|
; ’¥¬ ¥ ¬¥¥¥, ª®¤ ¤®¢®«ì® ¥¯«®å® ®¯â¨¬¨§¨à®¢ , å®âï íâ® ¥¬®£®
|
||||||
|
; ¬®¦¥â § âà㤨âì ¥£® ¯®¨¬ ¨¥. Ÿ ¯®áâ à «áï âé â¥«ì® ¯à®ª®¬¬¥â¨à®¢ âì
|
||||||
; <EFBFBD>®¤ª«îç ¥¬ ¥®¡å®¤¨¬ë¥ ¬ ªà®áë
|
; á«®¦ë¥ ¬¥áâ . Šáâ â¨, ¨¤¥ï ¯à®£à ¬¬ë ¯à¨ ¤«¥¦¨â ¥ ¬¥, Sniper'ã, ¤«ï
|
||||||
include '../../../macros.inc'
|
; ª®â®à®£® ¢®¡é¥¬-â® ¢á¥ ¨ ¯¨á «®áì.
|
||||||
|
; “¤ ç¨ ¢ ¨§ã票¨ ᬠ!
|
||||||
;******************************************************************************
|
; ˆ¢ <20>®¤¤ã¡ë©, ivan-yar@bk.ru
|
||||||
|
;******************************************************************************
|
||||||
; <20>€—€‹Ž <20><>Žƒ<C5BD>€ŒŒ›
|
|
||||||
use32
|
; <20>®¤ª«îç ¥¬ ¥®¡å®¤¨¬ë¥ ¬ ªà®áë
|
||||||
org 0x0
|
include '../../macros.inc'
|
||||||
db 'MENUET01' ; 8 byte id
|
|
||||||
dd 0x01 ; title version
|
;******************************************************************************
|
||||||
dd START ; start of code
|
|
||||||
dd I_END ; size of image
|
; <20>€—€‹Ž <20><>Žƒ<C5BD>€ŒŒ›
|
||||||
dd E_END ; memory for app
|
use32
|
||||||
dd E_END ; esp
|
org 0x0
|
||||||
dd 0x0,0x0 ; I_Param , I_Icon
|
db 'MENUET01' ; 8 byte id
|
||||||
|
dd 0x01 ; title version
|
||||||
; Ž<>‹€‘’œ ŠŽ„€
|
dd START ; start of code
|
||||||
START:
|
dd I_END ; size of image
|
||||||
mov eax,40 ; á®®¡é¨¬ á¨á⥬¥, ª ª¨¥ ᮡëâ¨ï ¡ã¤¥¬ ®¡à ¡ âë¢ âì
|
dd E_END ; memory for app
|
||||||
mov ebx,0100101b ; ¬ ᪠ᮡë⨩ - ¯¥à¥à¨á®¢ª (1) + ª®¯ª (3) + ¬ëèì (6
|
dd E_END ; esp
|
||||||
int 0x40 ; íâ ª®¬ ¤ ¢ë§ë¢ ¥â á¨á⥬ãî äãªæ¨î
|
dd 0x0,0x0 ; I_Param , I_Icon
|
||||||
|
|
||||||
mov [workarea.cx],5 ; ª®®à¤¨ âë à ¡®ç¥© (ª«¨¥â᪮©) ®¡« áâ¨
|
; Ž<>‹€‘’œ ŠŽ„€
|
||||||
mov [workarea.cy],30 ; ¤«ï à¨á®¢ ¨ï
|
START:
|
||||||
|
mov eax,40 ; á®®¡é¨¬ á¨á⥬¥, ª ª¨¥ ᮡëâ¨ï ¡ã¤¥¬ ®¡à ¡ âë¢ âì
|
||||||
red:
|
mov ebx,0100101b ; ¬ ᪠ᮡë⨩ - ¯¥à¥à¨á®¢ª (1) + ª®¯ª (3) + ¬ëèì (6
|
||||||
call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª
|
int 0x40 ; íâ ª®¬ ¤ ¢ë§ë¢ ¥â á¨á⥬ãî äãªæ¨î
|
||||||
|
|
||||||
still: ; ƒ‹€‚<EFBFBD>›‰ –ˆŠ‹ <20><>Žƒ<C5BD>€ŒŒ› - –ˆŠ‹ Ž<><C5BD>€<EFBFBD>Ž’Šˆ ‘ŽŽ<C5BD>™…<E284A2>ˆ‰
|
mov [workarea.cx],5 ; ª®®à¤¨ âë à ¡®ç¥© (ª«¨¥â᪮©) ®¡« áâ¨
|
||||||
|
mov [workarea.cy],30 ; ¤«ï à¨á®¢ ¨ï
|
||||||
mov eax,10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï; ¯à®£à ¬¬ ®áâ ¢«¨¢ ¥âáï
|
|
||||||
int 0x40 ; á«¥¤ãîé ï ª®¬ ¤ ¥ ¡ã¤¥â ¢ë¯®«¥ ¤® â¥å ¯®à, ¯®ª
|
red:
|
||||||
; ¥ ¯à®¨§®©¤ñâ ᮡë⨥
|
call draw_window ; ¢ë§ë¢ ¥¬ ¯à®æ¥¤ãàã ®âà¨á®¢ª¨ ®ª
|
||||||
|
|
||||||
; ⥯¥àì ॣ¨áâà eax ᮤ¥à¦¨â ®¬¥à ᮡëâ¨ï
|
still: ; ƒ‹€‚<E282AC>›‰ –ˆŠ‹ <20><>Žƒ<C5BD>€ŒŒ› - –ˆŠ‹ Ž<><C5BD>€<EFBFBD>Ž’Šˆ ‘ŽŽ<C5BD>™…<E284A2>ˆ‰
|
||||||
; ¯®®ç¥à¥¤® áà ¢¨¬ ¥£® á® ¢á¥¬¨ ¢®§¬®¦ë¬¨ § 票ﬨ, çâ®¡ë ¢ë§¢ âì
|
|
||||||
; ã¦ë© ®¡à ¡®â稪
|
mov eax,10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï; ¯à®£à ¬¬ ®áâ ¢«¨¢ ¥âáï
|
||||||
|
int 0x40 ; á«¥¤ãîé ï ª®¬ ¤ ¥ ¡ã¤¥â ¢ë¯®«¥ ¤® â¥å ¯®à, ¯®ª
|
||||||
cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ?
|
; ¥ ¯à®¨§®©¤ñâ ᮡë⨥
|
||||||
je red ; ¥á«¨ ॣ¨áâà eax à ¢¥ ¥¤¨¨æ¥, â® ¯¥à¥å®¤¨¬ ¬¥âªã red
|
|
||||||
cmp eax,3 ; ¦ â ª®¯ª ?
|
; ⥯¥àì ॣ¨áâà eax ᮤ¥à¦¨â ®¬¥à ᮡëâ¨ï
|
||||||
je button
|
; ¯®®ç¥à¥¤® áà ¢¨¬ ¥£® á® ¢á¥¬¨ ¢®§¬®¦ë¬¨ § 票ﬨ, çâ®¡ë ¢ë§¢ âì
|
||||||
cmp eax,6 ; ¬ëèì?
|
; ã¦ë© ®¡à ¡®â稪
|
||||||
je mouse
|
|
||||||
|
cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ?
|
||||||
jmp still ; ¥á«¨ ¯à®¨§®è«® ᮡë⨥, ª®â®à®¥ ¬ë ¥ ®¡à ¡ âë¢ ¥¬,
|
je red ; ¥á«¨ ॣ¨áâà eax à ¢¥ ¥¤¨¨æ¥, â® ¯¥à¥å®¤¨¬ ¬¥âªã red
|
||||||
; ¯à®áâ® ¢®§¢à é ¥¬áï ª ç «ã æ¨ª« , å®âï â ª®£® ¡ëâì
|
cmp eax,3 ; ¦ â ª®¯ª ?
|
||||||
; ¥ ¤®«¦®! ’.¥. ¥á«¨ íâã ª®¬ ¤ã ®âáî¤ ã¡à âì, â®
|
je button
|
||||||
; ¨ç¥£® áâà 讣® ¥ á«ãç¨âáï.
|
cmp eax,6 ; ¬ëèì?
|
||||||
|
je mouse
|
||||||
;******************************************************************************
|
|
||||||
|
jmp still ; ¥á«¨ ¯à®¨§®è«® ᮡë⨥, ª®â®à®¥ ¬ë ¥ ®¡à ¡ âë¢ ¥¬,
|
||||||
button: ; ®¡à ¡®â稪 ¦ â¨ï ª®¯ª¨ ¢ ®ª¥ ¯à®£à ¬¬ë
|
; ¯à®áâ® ¢®§¢à é ¥¬áï ª ç «ã æ¨ª« , å®âï â ª®£® ¡ëâì
|
||||||
mov eax,17 ; äãªæ¨ï N17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨
|
; ¥ ¤®«¦®! ’.¥. ¥á«¨ íâã ª®¬ ¤ã ®âáî¤ ã¡à âì, â®
|
||||||
int 0x40
|
; ¨ç¥£® áâà 讣® ¥ á«ãç¨âáï.
|
||||||
|
|
||||||
; ⥯¥àì ¢ ॣ¨áâॠah ᮤ¥à¦¨âáï ¨¤¥â¨ä¨ª â®à.
|
;******************************************************************************
|
||||||
|
|
||||||
shr eax,8 ; ah -> al (ᤢ¨£ 8 ¡¨â ¢¯à ¢®)
|
button: ; ®¡à ¡®â稪 ¦ â¨ï ª®¯ª¨ ¢ ®ª¥ ¯à®£à ¬¬ë
|
||||||
|
mov eax,17 ; äãªæ¨ï N17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨
|
||||||
dec al ; ¨¤¥â¨ä¨ª â®à_ª®¯ª¨--;
|
int 0x40
|
||||||
jnz .noclose ; ¥á«¨ १ã«ìâ ⠯।ë¤ã饩 ª®¬ ¤ë à ¢¥ ã«î, § ªàë¢ ¥¬áï
|
|
||||||
; ¨ ç¥ - ¨¤ñ¬ ¬¥âªã noclose
|
; ⥯¥àì ¢ ॣ¨áâॠah ᮤ¥à¦¨âáï ¨¤¥â¨ä¨ª â®à.
|
||||||
|
|
||||||
or eax,-1 ; ¢ë室 ¨§ ¯à®£à ¬¬ë
|
shr eax,8 ; ah -> al (ᤢ¨£ 8 ¡¨â ¢¯à ¢®)
|
||||||
int 0x40
|
|
||||||
|
dec al ; ¨¤¥â¨ä¨ª â®à_ª®¯ª¨--;
|
||||||
.noclose:
|
jnz .noclose ; ¥á«¨ १ã«ìâ ⠯।ë¤ã饩 ª®¬ ¤ë à ¢¥ ã«î, § ªàë¢ ¥¬áï
|
||||||
; ¥á«¨ ¬ë áî¤ ¯®¯ «¨, § ç¨â ¨¤¥â¨ä¨ª â®à ª®¯ª¨ ¥ ¡ë« à ¢¥ ã«î...
|
; ¨ ç¥ - ¨¤ñ¬ ¬¥âªã noclose
|
||||||
; ⥯¥àì ã á ¢ eax ᮤ¥à¦¨âáï (®¬¥à 梥⮩ ª®¯ª¨ - 1),
|
|
||||||
; â.¥ ¨«¨ 1, ¨«¨ 2, ... ,¨«¨ 5
|
or eax,-1 ; ¢ë室 ¨§ ¯à®£à ¬¬ë
|
||||||
|
int 0x40
|
||||||
; 㬥ì訬 1:
|
|
||||||
dec eax
|
.noclose:
|
||||||
|
; ¥á«¨ ¬ë áî¤ ¯®¯ «¨, § ç¨â ¨¤¥â¨ä¨ª â®à ª®¯ª¨ ¥ ¡ë« à ¢¥ ã«î...
|
||||||
; ¢®â íâ ¢®â ª®¬ ¤ ¨§¢«¥ª ¥â ¢ eax ¤¢®©®¥ á«®¢® ¯® ¤à¥áã colors+eax*4
|
; ⥯¥àì ã á ¢ eax ᮤ¥à¦¨âáï (®¬¥à 梥⮩ ª®¯ª¨ - 1),
|
||||||
; £¤¥ colors - ᬥ饨¥ ¬¥âª¨ colors, ¯®á«¥ ª®â®à®© ¨¤¥â ¯®á«¥¤®¢ ⥫ì®áâì
|
; â.¥ ¨«¨ 1, ¨«¨ 2, ... ,¨«¨ 5
|
||||||
; 梥⮢, eax*4 - ®¬¥à 梥â , 㬮¦¥ë© 4, â.ª. ®¤¨ 梥â 㦮
|
|
||||||
; ç¥âëॠ¡ ©â .
|
; 㬥ì訬 1:
|
||||||
mov eax,[colors+eax*4]
|
dec eax
|
||||||
|
|
||||||
; ⥯¥àì ¬ë ãáâ ®¢¨¬ 梥â, ᮤ¥à¦ 騩áï ¢ ॣ¨áâॠeax ª ª ®á®¢®©:
|
; ¢®â íâ ¢®â ª®¬ ¤ ¨§¢«¥ª ¥â ¢ eax ¤¢®©®¥ á«®¢® ¯® ¤à¥áã colors+eax*4
|
||||||
mov [active_color],eax
|
; £¤¥ colors - ᬥ饨¥ ¬¥âª¨ colors, ¯®á«¥ ª®â®à®© ¨¤¥â ¯®á«¥¤®¢ ⥫ì®áâì
|
||||||
|
; 梥⮢, eax*4 - ®¬¥à 梥â , 㬮¦¥ë© 4, â.ª. ®¤¨ 梥â 㦮
|
||||||
; ã ¢®â, ᮡá⢥®, ¨ ¢áñ, çâ® ®â á âॡ®¢ «®áì ;)
|
; ç¥âëॠ¡ ©â .
|
||||||
; ¢¥àñ¬áï ª ç «ã æ¨ª« ®¡à ¡®âª¨ ᮡë⨩
|
mov eax,[colors+eax*4]
|
||||||
jmp still
|
|
||||||
|
; ⥯¥àì ¬ë ãáâ ®¢¨¬ 梥â, ᮤ¥à¦ 騩áï ¢ ॣ¨áâॠeax ª ª ®á®¢®©:
|
||||||
;******************************************************************************
|
mov [active_color],eax
|
||||||
|
|
||||||
mouse: ; ®¡à ¡®â稪 ¬ëè¨
|
; ã ¢®â, ᮡá⢥®, ¨ ¢áñ, çâ® ®â á âॡ®¢ «®áì ;)
|
||||||
mov eax,37 ; á ç « ¯®«ã稬 ⥪ã騥 ª®®à¤¨ âë ¬ëè¨
|
; ¢¥àñ¬áï ª ç «ã æ¨ª« ®¡à ¡®âª¨ ᮡë⨩
|
||||||
mov ebx,1
|
jmp still
|
||||||
int 0x40
|
|
||||||
|
;******************************************************************************
|
||||||
mov ebx,eax ; ¯à¥®¡à §ã¥¬ ¨å
|
|
||||||
shr eax,16 ; eax=x;
|
mouse: ; ®¡à ¡®â稪 ¬ëè¨
|
||||||
and ebx,0xffff ; ebx=y;
|
mov eax,37 ; á ç « ¯®«ã稬 ⥪ã騥 ª®®à¤¨ âë ¬ëè¨
|
||||||
|
mov ebx,1
|
||||||
cmp ebx,22
|
int 0x40
|
||||||
jb save_canvas
|
|
||||||
|
mov ebx,eax ; ¯à¥®¡à §ã¥¬ ¨å
|
||||||
sub eax,[workarea.cx] ; x-=[workarea.cx]
|
shr eax,16 ; eax=x;
|
||||||
cmp eax,0 ; ¥á«¨ ¬ëèì «¥¢¥¥ ª«¨¥â᪮© ®¡« áâ¨,
|
and ebx,0xffff ; ebx=y;
|
||||||
jle .not_pressed ; ¨ç¥£® ¥ à¨á㥬
|
|
||||||
cmp eax,[workarea.sx] ; ¥á«¨ ¬ëèì ¯à ¢¥¥...
|
cmp ebx,22
|
||||||
jae .not_pressed
|
jb save_canvas
|
||||||
|
|
||||||
sub ebx,[workarea.cy]
|
sub eax,[workarea.cx] ; x-=[workarea.cx]
|
||||||
cmp ebx,0 ; ...¢ëè¥...
|
cmp eax,0 ; ¥á«¨ ¬ëèì «¥¢¥¥ ª«¨¥â᪮© ®¡« áâ¨,
|
||||||
jle .not_pressed
|
jle .not_pressed ; ¨ç¥£® ¥ à¨á㥬
|
||||||
cmp ebx,[workarea.sy] ; ...¨¦¥...
|
cmp eax,[workarea.sx] ; ¥á«¨ ¬ëèì ¯à ¢¥¥...
|
||||||
jae .not_pressed
|
jae .not_pressed
|
||||||
|
|
||||||
; ª ª¨¥ ª®¯ª¨ ¦ âë?
|
sub ebx,[workarea.cy]
|
||||||
mov eax,37
|
cmp ebx,0 ; ...¢ëè¥...
|
||||||
mov ebx,2
|
jle .not_pressed
|
||||||
int 0x40
|
cmp ebx,[workarea.sy] ; ...¨¦¥...
|
||||||
|
jae .not_pressed
|
||||||
; ¥á«¨ «¥¢ ï ª®¯ª (â.¥. eax = 1), ⥠¯®©¤ñ¬ ¤ «ìè¥
|
|
||||||
cmp eax,1
|
; ª ª¨¥ ª®¯ª¨ ¦ âë?
|
||||||
je .leftbtn
|
mov eax,37
|
||||||
|
mov ebx,2
|
||||||
.not_pressed:
|
int 0x40
|
||||||
; ‹¥¢ ï ª®¯ª ¥ ¦ â , § ¯®¬¨¬ ⥪ã騥 ª®®à¤¨ âë ¨ ¡ã¤¥¬ ¦¤ âì ᮡëâ¨ï
|
|
||||||
mov [mouse_pressed],0 ; ¬ëèì ¥ ¦ â
|
; ¥á«¨ «¥¢ ï ª®¯ª (â.¥. eax = 1), ⥠¯®©¤ñ¬ ¤ «ìè¥
|
||||||
mov eax,37 ; ¯®«ã稬 ª®®à¤¨ âë
|
cmp eax,1
|
||||||
mov ebx,1
|
je .leftbtn
|
||||||
int 0x40
|
|
||||||
mov ebx,eax
|
.not_pressed:
|
||||||
shr eax,16
|
; ‹¥¢ ï ª®¯ª ¥ ¦ â , § ¯®¬¨¬ ⥪ã騥 ª®®à¤¨ âë ¨ ¡ã¤¥¬ ¦¤ âì ᮡëâ¨ï
|
||||||
and ebx,0xffff
|
mov [mouse_pressed],0 ; ¬ëèì ¥ ¦ â
|
||||||
mov [old_x],eax ; § ¯®¬¨¬ ¨å
|
mov eax,37 ; ¯®«ã稬 ª®®à¤¨ âë
|
||||||
mov [old_y],ebx
|
mov ebx,1
|
||||||
jmp still
|
int 0x40
|
||||||
|
mov ebx,eax
|
||||||
.leftbtn:
|
shr eax,16
|
||||||
; ‹¥¢ ï ª®¯ª ¦ â , ¤® íâ® § ¯¨á âì!
|
and ebx,0xffff
|
||||||
mov [mouse_pressed],1
|
mov [old_x],eax ; § ¯®¬¨¬ ¨å
|
||||||
|
mov [old_y],ebx
|
||||||
; <20>®«ã稬 ª®®à¤¨ âë ªãàá®à ¬ëè¨ (®â®á¨â¥«ì® ®ª )
|
jmp still
|
||||||
mcall 37,1 ; ¯®«ãç¨âì á®áâ®ï¨¥ ¬ëè¨
|
|
||||||
|
.leftbtn:
|
||||||
; <EFBFBD>¥à¥¤¥« ¥¬ ¨å â ª, çâ®¡ë ®¨ ¡ë«¨ ¢ à §ëå ॣ¨áâà å, â.¥. eax ¨ ebx
|
; ‹¥¢ ï ª®¯ª ¦ â , ¤® íâ® § ¯¨á âì!
|
||||||
mov ebx,eax
|
mov [mouse_pressed],1
|
||||||
shr eax,16
|
|
||||||
and ebx,0xffff
|
; <20>®«ã稬 ª®®à¤¨ âë ªãàá®à ¬ëè¨ (®â®á¨â¥«ì® ®ª )
|
||||||
|
mcall 37,1 ; ¯®«ãç¨âì á®áâ®ï¨¥ ¬ëè¨
|
||||||
; <20>®¤£®â®¢¨¬ ¯ à ¬¥âàë ¤«ï äãªæ¨¨ à¨á®¢ ¨ï «¨¨¨
|
|
||||||
mov ecx,[old_x] ; ¤«ï ç « § £à㧨¬ áâ àë¥ ª®®à¤¨ âë
|
; <20>¥à¥¤¥« ¥¬ ¨å â ª, çâ®¡ë ®¨ ¡ë«¨ ¢ à §ëå ॣ¨áâà å, â.¥. eax ¨ ebx
|
||||||
mov edx,[old_y]
|
mov ebx,eax
|
||||||
mov [old_x],eax ; ⥯¥àì á®åà ¨¬ ⥪ã騥 ¢ áâ àë¥
|
shr eax,16
|
||||||
mov [old_y],ebx
|
and ebx,0xffff
|
||||||
shl ecx,16 ; ¢ ¢¥à奥 á«®¢® ç «ìë¥ (⥪ã騥) ª®®à¤¨ âë
|
|
||||||
shl edx,16
|
; <20>®¤£®â®¢¨¬ ¯ à ¬¥âàë ¤«ï äãªæ¨¨ à¨á®¢ ¨ï «¨¨¨
|
||||||
add eax,ecx ; ¢ ¨¦¥¥ á«®¢® ª®¥çë¥, â.¥. áâ àë¥
|
mov ecx,[old_x] ; ¤«ï ç « § £à㧨¬ áâ àë¥ ª®®à¤¨ âë
|
||||||
add ebx,edx
|
mov edx,[old_y]
|
||||||
|
mov [old_x],eax ; ⥯¥àì á®åà ¨¬ ⥪ã騥 ¢ áâ àë¥
|
||||||
mov ecx,ebx ; ¯®¬¥ï¥¬ ॣ¨áâàë â ª, ª ª íâã 㦮 38 äãªæ¨¨
|
mov [old_y],ebx
|
||||||
mov ebx,eax
|
shl ecx,16 ; ¢ ¢¥à奥 á«®¢® ç «ìë¥ (⥪ã騥) ª®®à¤¨ âë
|
||||||
mov eax,38 ; ®¬¥à äãªæ¨¨ ¢ eax
|
shl edx,16
|
||||||
mov edx,[active_color] ; ¢ edx 梥â
|
add eax,ecx ; ¢ ¨¦¥¥ á«®¢® ª®¥çë¥, â.¥. áâ àë¥
|
||||||
int 0x40
|
add ebx,edx
|
||||||
|
|
||||||
; - ¯®¯à®¡ã©â¥ ¯®áâ ¢¨âì ¤à㣨¥ § 票ï (00090001)
|
mov ecx,ebx ; ¯®¬¥ï¥¬ ॣ¨áâàë â ª, ª ª íâã 㦮 38 äãªæ¨¨
|
||||||
mov edi,0x00010001 ; çâ®¡ë «¨¨ï ¥ ¡ë« ᫨誮¬ ⮪®©,
|
mov ebx,eax
|
||||||
add ebx,edi ; à¨á㥬 à冷¬ ¥é¥ 3!
|
mov eax,38 ; ®¬¥à äãªæ¨¨ ¢ eax
|
||||||
int 0x40
|
mov edx,[active_color] ; ¢ edx 梥â
|
||||||
add ecx,edi
|
int 0x40
|
||||||
int 0x40
|
|
||||||
sub ebx,edi
|
; - ¯®¯à®¡ã©â¥ ¯®áâ ¢¨âì ¤à㣨¥ § 票ï (00090001)
|
||||||
int 0x40
|
mov edi,0x00010001 ; çâ®¡ë «¨¨ï ¥ ¡ë« ᫨誮¬ ⮪®©,
|
||||||
|
add ebx,edi ; à¨á㥬 à冷¬ ¥é¥ 3!
|
||||||
sub ebx,edi ; ã ç⮡ë ᬮâ५®áì ᮢᥬ ªàãâ®,
|
int 0x40
|
||||||
int 0x40 ; ¤®à¨á㥬 ¥é¥ 5!
|
add ecx,edi
|
||||||
sub ecx,edi
|
int 0x40
|
||||||
int 0x40
|
sub ebx,edi
|
||||||
sub ecx,edi
|
int 0x40
|
||||||
int 0x40
|
|
||||||
add ebx,edi
|
sub ebx,edi ; ã ç⮡ë ᬮâ५®áì ᮢᥬ ªàãâ®,
|
||||||
int 0x40
|
int 0x40 ; ¤®à¨á㥬 ¥é¥ 5!
|
||||||
add ebx,edi
|
sub ecx,edi
|
||||||
int 0x40
|
int 0x40
|
||||||
|
sub ecx,edi
|
||||||
jmp still
|
int 0x40
|
||||||
|
add ebx,edi
|
||||||
;******************************************************************************
|
int 0x40
|
||||||
|
add ebx,edi
|
||||||
save_canvas:
|
int 0x40
|
||||||
mov eax,[proc_info.box.width]
|
|
||||||
add eax,[workarea.cx]
|
jmp still
|
||||||
mov ebx,[proc_info.box.height]
|
|
||||||
add ebx,[workarea.cy]
|
;******************************************************************************
|
||||||
|
|
||||||
jmp still
|
save_canvas:
|
||||||
|
mov eax,[proc_info.box.width]
|
||||||
;******************************************************************************
|
add eax,[workarea.cx]
|
||||||
|
mov ebx,[proc_info.box.height]
|
||||||
; *********************************************
|
add ebx,[workarea.cy]
|
||||||
; ******* Ž<><C5BD>…„…‹…<E280B9>ˆ… ˆ Ž’<C5BD>ˆ‘ނЀ ŽŠ<C5BD>€ *******
|
|
||||||
; *********************************************
|
jmp still
|
||||||
|
|
||||||
draw_window:
|
;******************************************************************************
|
||||||
|
|
||||||
mcall 48,3,sc,sizeof.system_colors ; <20>Ž„ƒ<E2809E>“†€…Œ ‘ˆ‘’…Œ<E280A6>›… –‚…’€
|
; *********************************************
|
||||||
mcall 12, 1 ; ç «® ®âà¨á®¢ª¨ ®ª
|
; ******* Ž<><C5BD>…„…‹…<E280B9>ˆ… ˆ Ž’<C5BD>ˆ‘ނЀ ŽŠ<C5BD>€ *******
|
||||||
mov edx, [sc.work]
|
; *********************************************
|
||||||
or edx, 0x33000000
|
|
||||||
mcall 0, (100 shl 16)+400, (100 shl 16)+300, , , title ; à¨á㥬 ®ª®
|
draw_window:
|
||||||
mcall 12, 1
|
|
||||||
|
mcall 48,3,sc,sizeof.system_colors ; <20>Ž„ƒ<E2809E>“†€…Œ ‘ˆ‘’…Œ<E280A6>›… –‚…’€
|
||||||
mcall 9,proc_info,-1 ; ¯®«ã稬 ¨ä®à¬ æ¨î ® ᢮¥¬ ¯®â®ª¥
|
mcall 12, 1 ; ç «® ®âà¨á®¢ª¨ ®ª
|
||||||
|
mov edx, [sc.work]
|
||||||
mov eax,[proc_info.box.width] ; áâந¬ à §¬¥à à ¡®ç¥© ®¡« áâ¨
|
or edx, 0x33000000
|
||||||
sub eax,20 ; (å à §¬¥à ®ª - 20)
|
mcall 0, (100 shl 16)+400, (100 shl 16)+300, , , title ; à¨á㥬 ®ª®
|
||||||
mov [workarea.sx],eax
|
mcall 12, 1
|
||||||
mov eax,[proc_info.box.height]
|
|
||||||
sub eax,63 ; (ã à §¬¥à - 63)
|
mcall 9,proc_info,-1 ; ¯®«ã稬 ¨ä®à¬ æ¨î ® ᢮¥¬ ¯®â®ª¥
|
||||||
mov [workarea.sy],eax
|
|
||||||
|
mov eax,[proc_info.box.width] ; áâந¬ à §¬¥à à ¡®ç¥© ®¡« áâ¨
|
||||||
cmp [proc_info.box.height],80
|
sub eax,20 ; (å à §¬¥à ®ª - 20)
|
||||||
jb .finish
|
mov [workarea.sx],eax
|
||||||
|
mov eax,[proc_info.box.height]
|
||||||
mov eax, 8
|
sub eax,63 ; (ã à §¬¥à - 63)
|
||||||
mov edx, 1
|
mov [workarea.sy],eax
|
||||||
; á®§¤ ñ¬ ª®¯ª¨ ¢ë¡®à 梥â :
|
|
||||||
mov ebx,10*65536+15 ; ç «ì ï x ª®®à¤¨ â ¨ à §¬¥à
|
cmp [proc_info.box.height],80
|
||||||
mov ecx, 7*65536+15 ; ç «ì ï y ª®®à¤¨ â & size
|
jb .finish
|
||||||
.new_button:
|
|
||||||
inc edx ; ¨¤¥â¨ä¨ª â®à++;
|
mov eax, 8
|
||||||
mov esi,[btn_colors-8+edx*4] ; 梥⠪®¯ª¨
|
mov edx, 1
|
||||||
int 0x40 ; áâ ¢¨¬ ª®¯ªã
|
; á®§¤ ñ¬ ª®¯ª¨ ¢ë¡®à 梥â :
|
||||||
add ebx,18*65536 ; á«¥¤ãîé ï ª®¯ª ¯à ¢¥¥ 12
|
mov ebx,10*65536+15 ; ç «ì ï x ª®®à¤¨ â ¨ à §¬¥à
|
||||||
cmp edx,9 ; áà ¢¨¢ ¥¬ edx (¨¤¥â¨ä¨ª â®à) á 9
|
mov ecx, 7*65536+15 ; ç «ì ï y ª®®à¤¨ â & size
|
||||||
jbe .new_button ; ¥á«¨ ¬¥ìè¥ ¨«¨ à ¢® -> ¥éñ ®¤ã ª¯®ªã
|
.new_button:
|
||||||
|
inc edx ; ¨¤¥â¨ä¨ª â®à++;
|
||||||
mov eax,13 ; ç¨á⨬ "宫áâ" - ª«¨¥âáªãî ®¡« áâì
|
mov esi,[btn_colors-8+edx*4] ; 梥⠪®¯ª¨
|
||||||
mov ebx,[workarea.cx]
|
int 0x40 ; áâ ¢¨¬ ª®¯ªã
|
||||||
mov ecx,[workarea.cy]
|
add ebx,18*65536 ; á«¥¤ãîé ï ª®¯ª ¯à ¢¥¥ 12
|
||||||
shl ebx,16
|
cmp edx,9 ; áà ¢¨¢ ¥¬ edx (¨¤¥â¨ä¨ª â®à) á 9
|
||||||
shl ecx,16
|
jbe .new_button ; ¥á«¨ ¬¥ìè¥ ¨«¨ à ¢® -> ¥éñ ®¤ã ª¯®ªã
|
||||||
add ebx,[workarea.sx]
|
|
||||||
add ecx,[workarea.sy]
|
mov eax,13 ; ç¨á⨬ "宫áâ" - ª«¨¥âáªãî ®¡« áâì
|
||||||
mov edx,0xffffff
|
mov ebx,[workarea.cx]
|
||||||
mcall 13
|
mov ecx,[workarea.cy]
|
||||||
|
shl ebx,16
|
||||||
.finish:
|
shl ecx,16
|
||||||
ret
|
add ebx,[workarea.sx]
|
||||||
|
add ecx,[workarea.sy]
|
||||||
;******************************************************************************
|
mov edx,0xffffff
|
||||||
; ç «® ®¡« á⨠¨¨æ¨ «¨§¨à®¢ ëå ¤ ëå
|
mcall 13
|
||||||
; ¥á«¨ ªâ® ¥éñ ¥ § ¥â, çâ® § ç¨â "¨¨æ¨ «¨§¨à®¢ ë¥", â® ¯®ïáïî:
|
|
||||||
; í⮠⥠¤ ë¥, ª®â®àë¬ ¯à¨á¢®¥® ç «ì®¥ § 票¥
|
.finish:
|
||||||
|
ret
|
||||||
;data
|
|
||||||
|
;******************************************************************************
|
||||||
title db 'Simple Paint v0.3',0
|
; ç «® ®¡« á⨠¨¨æ¨ «¨§¨à®¢ ëå ¤ ëå
|
||||||
|
; ¥á«¨ ªâ® ¥éñ ¥ § ¥â, çâ® § ç¨â "¨¨æ¨ «¨§¨à®¢ ë¥", â® ¯®ïáïî:
|
||||||
mouse_pressed db 0 ; ¯®ª §ë¢ ¥â, ¦ â «¨ ¡ë« ¬ëèì ¢ ¯à¥¤ë¤ã騩 ¬®¬¥â
|
; í⮠⥠¤ ë¥, ª®â®àë¬ ¯à¨á¢®¥® ç «ì®¥ § 票¥
|
||||||
|
|
||||||
; 梥⠪®¯®ª
|
;data
|
||||||
btn_colors:
|
|
||||||
dd 0xdddddd ; white
|
title db 'Simple Paint v0.3',0
|
||||||
dd 0x444444 ; black
|
|
||||||
dd 0x00dd00 ; green
|
mouse_pressed db 0 ; ¯®ª §ë¢ ¥â, ¦ â «¨ ¡ë« ¬ëèì ¢ ¯à¥¤ë¤ã騩 ¬®¬¥â
|
||||||
dd 0x0000dd ; blue
|
|
||||||
dd 0xdd0000 ; red
|
; 梥⠪®¯®ª
|
||||||
dd 0xdd00dd ; magenta
|
btn_colors:
|
||||||
dd 0xdddd00 ; yellow
|
dd 0xdddddd ; white
|
||||||
dd 0x00dddd ; cyan
|
dd 0x444444 ; black
|
||||||
dd 0x559955 ; warm green
|
dd 0x00dd00 ; green
|
||||||
|
dd 0x0000dd ; blue
|
||||||
; 梥⠪¨á⨠(¢ ⮬ ¦¥ ¯®à浪¥, çâ® ¨ 梥⠪®¯®ª)
|
dd 0xdd0000 ; red
|
||||||
colors:
|
dd 0xdd00dd ; magenta
|
||||||
dd 0xffffff ; ¡¥«ë©
|
dd 0xdddd00 ; yellow
|
||||||
dd 0x000000 ; ç¥àë©
|
dd 0x00dddd ; cyan
|
||||||
dd 0x00ff00 ; §¥«¥ë©
|
dd 0x559955 ; warm green
|
||||||
dd 0x0000ff ; ᨨ©
|
|
||||||
dd 0xff0000 ; ªà áë©
|
; 梥⠪¨á⨠(¢ ⮬ ¦¥ ¯®à浪¥, çâ® ¨ 梥⠪®¯®ª)
|
||||||
dd 0xff00ff ; ¯ãà¯ãàë©
|
colors:
|
||||||
dd 0xffff00 ; ¦¥«âë©
|
dd 0xffffff ; ¡¥«ë©
|
||||||
dd 0x00ffff ; £®«ã¡®©
|
dd 0x000000 ; ç¥àë©
|
||||||
dd 0x77bb77 ; ⥯«ë© §¥«¥ë©
|
dd 0x00ff00 ; §¥«¥ë©
|
||||||
|
dd 0x0000ff ; ᨨ©
|
||||||
;******************************************************************************
|
dd 0xff0000 ; ªà áë©
|
||||||
; ¢®â âãâ ç¨ ¥âáï ®¡« áâì <20>…¨¨æ¨ «¨§¨à®¢ ëå ¤ ëå, â.¥.
|
dd 0xff00ff ; ¯ãà¯ãàë©
|
||||||
; §¤¥áì ¤ ë¬ § ç¥¨ï ¥ ¯à¨á¢®¥ë. ‚ ®â«¨ç¨¥ ®â ¨¨æ., ¥ 㢥«¨ç¨¢ îâ à §¬¥à
|
dd 0xffff00 ; ¦¥«âë©
|
||||||
; ä ©«
|
dd 0x00ffff ; £®«ã¡®©
|
||||||
|
dd 0x77bb77 ; ⥯«ë© §¥«¥ë©
|
||||||
I_END:
|
|
||||||
|
;******************************************************************************
|
||||||
active_color dd ? ; ªâ¨¢ë© 梥â
|
; ¢®â âãâ ç¨ ¥âáï ®¡« áâì <20>…¨¨æ¨ «¨§¨à®¢ ëå ¤ ëå, â.¥.
|
||||||
|
; §¤¥áì ¤ ë¬ § ç¥¨ï ¥ ¯à¨á¢®¥ë. ‚ ®â«¨ç¨¥ ®â ¨¨æ., ¥ 㢥«¨ç¨¢ îâ à §¬¥à
|
||||||
old_x dd ? ; áâ àë¥ ª®®à¤¨ âë ¬ëè¨
|
; ä ©«
|
||||||
old_y dd ?
|
|
||||||
|
I_END:
|
||||||
workarea: ; ª®®à¤¨ âë ¨ à §¬¥àë ª«¨¥â᪮© ®¡« áâ¨
|
|
||||||
.cx dd ? ; c - ª®®¤¨ âë
|
active_color dd ? ; ªâ¨¢ë© 梥â
|
||||||
.cy dd ?
|
|
||||||
.sx dd ? ; s - à §¬¥àë
|
old_x dd ? ; áâ àë¥ ª®®à¤¨ âë ¬ëè¨
|
||||||
.sy dd ?
|
old_y dd ?
|
||||||
|
|
||||||
sc system_colors ; á¨áâ¥¬ë¥ æ¢¥â
|
workarea: ; ª®®à¤¨ âë ¨ à §¬¥àë ª«¨¥â᪮© ®¡« áâ¨
|
||||||
proc_info process_information ; ¨ä®à¬ æ¨ï ® ¯à®æ¥áá¥
|
.cx dd ? ; c - ª®®¤¨ âë
|
||||||
|
.cy dd ?
|
||||||
restflag dd ?
|
.sx dd ? ; s - à §¬¥àë
|
||||||
canvas rb 800*600*3
|
.sy dd ?
|
||||||
|
|
||||||
E_END:
|
sc system_colors ; á¨áâ¥¬ë¥ æ¢¥â
|
||||||
|
proc_info process_information ; ¨ä®à¬ æ¨ï ® ¯à®æ¥áá¥
|
||||||
|
|
||||||
|
restflag dd ?
|
||||||
|
canvas rb 800*600*3
|
||||||
|
|
||||||
|
E_END:
|
@@ -1,5 +1,5 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
add_include(tup.getvariantdir())
|
add_include(tup.getvariantdir())
|
||||||
|
|
@@ -1,73 +1,77 @@
|
|||||||
use32
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
db 'MENUET01'
|
;
|
||||||
dd 1
|
|
||||||
dd start
|
|
||||||
dd i_end
|
use32
|
||||||
dd 0x400
|
db 'MENUET01'
|
||||||
dd 0x400
|
dd 1
|
||||||
dd 0,0
|
dd start
|
||||||
|
dd i_end
|
||||||
include '../../../macros.inc'
|
dd 0x400
|
||||||
|
dd 0x400
|
||||||
start:
|
dd 0,0
|
||||||
mov eax, 55
|
|
||||||
mov ebx, eax
|
include '../../macros.inc'
|
||||||
mov esi, melody2
|
|
||||||
int 0x40
|
start:
|
||||||
mov eax, 5
|
mov eax, 55
|
||||||
mov ebx, 1000
|
mov ebx, eax
|
||||||
int 0x40
|
mov esi, melody2
|
||||||
mov eax, -1
|
int 0x40
|
||||||
int 0x40
|
mov eax, 5
|
||||||
|
mov ebx, 1000
|
||||||
melody1:
|
int 0x40
|
||||||
db 0xE4, 0x35, 0x99, 0x33, 0x99, 0x31, 0x99, 0x33
|
mov eax, -1
|
||||||
db 0xE4, 0x35, 0x99, 0x35, 0x99, 0x36, 0x99, 0x38, 0x99, 0x3A
|
int 0x40
|
||||||
db 0xE4, 0x36, 0xE4, 0x36
|
|
||||||
db 0xB2, 0xFF
|
melody1:
|
||||||
db 0xE4, 0x33, 0x99, 0x31, 0x99, 0x2C, 0x99, 0x31
|
db 0xE4, 0x35, 0x99, 0x33, 0x99, 0x31, 0x99, 0x33
|
||||||
db 0xE4, 0x33, 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
db 0xE4, 0x35, 0x99, 0x35, 0x99, 0x36, 0x99, 0x38, 0x99, 0x3A
|
||||||
db 0xE4, 0x35, 0xE4, 0x35
|
db 0xE4, 0x36, 0xE4, 0x36
|
||||||
db 0xB2, 0xFF
|
db 0xB2, 0xFF
|
||||||
db 0x99, 0x35, 0x99, 0x36
|
db 0xE4, 0x33, 0x99, 0x31, 0x99, 0x2C, 0x99, 0x31
|
||||||
db 0xE4, 0x33, 0x99, 0x35, 0x99, 0x36
|
db 0xE4, 0x33, 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
||||||
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
db 0xE4, 0x35, 0xE4, 0x35
|
||||||
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
db 0xB2, 0xFF
|
||||||
db 0xE4, 0x39, 0xE4, 0x39
|
db 0x99, 0x35, 0x99, 0x36
|
||||||
db 0xB2, 0xFF
|
db 0xE4, 0x33, 0x99, 0x35, 0x99, 0x36
|
||||||
db 0x99, 0x35, 0x99, 0x36
|
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
||||||
db 0xE4, 0x33, 0x99, 0x35, 0x99, 0x36
|
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
||||||
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
db 0xE4, 0x39, 0xE4, 0x39
|
||||||
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
db 0xB2, 0xFF
|
||||||
db 0xE4, 0x35, 0xE4, 0x35
|
db 0x99, 0x35, 0x99, 0x36
|
||||||
db 0
|
db 0xE4, 0x33, 0x99, 0x35, 0x99, 0x36
|
||||||
|
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
||||||
melody2:
|
db 0xB2, 0x33, 0x99, 0x35, 0x99, 0x36
|
||||||
db 0x90, 0x31, 0x90, 0x33, 0x90, 0x35, 0x90, 0x36
|
db 0xE4, 0x35, 0xE4, 0x35
|
||||||
db 0xA0, 0xFF
|
db 0
|
||||||
db 0xA0, 0x06
|
|
||||||
db 0x90, 0xFF
|
melody2:
|
||||||
db 0xA0, 0x06
|
db 0x90, 0x31, 0x90, 0x33, 0x90, 0x35, 0x90, 0x36
|
||||||
db 0x90, 0xFF
|
db 0xA0, 0xFF
|
||||||
db 0x90, 0x33, 0x90, 0x35, 0x90, 0x37, 0x90, 0x38
|
db 0xA0, 0x06
|
||||||
db 0xA0, 0xFF
|
db 0x90, 0xFF
|
||||||
db 0xA0, 0x18
|
db 0xA0, 0x06
|
||||||
db 0x90, 0xFF
|
db 0x90, 0xFF
|
||||||
db 0xA0, 0x18
|
db 0x90, 0x33, 0x90, 0x35, 0x90, 0x37, 0x90, 0x38
|
||||||
db 0x90, 0xFF
|
db 0xA0, 0xFF
|
||||||
db 0x90, 0x33, 0x90, 0x35, 0x90, 0x37, 0x90, 0x38
|
db 0xA0, 0x18
|
||||||
db 0xA0, 0xFF
|
db 0x90, 0xFF
|
||||||
db 0x90, 0x33, 0x90, 0x35, 0x90, 0x37, 0x90, 0x38
|
db 0xA0, 0x18
|
||||||
db 0xA0, 0xFF
|
db 0x90, 0xFF
|
||||||
db 0x90, 0x31, 0x90, 0x33, 0x90, 0x35, 0x90, 0x36
|
db 0x90, 0x33, 0x90, 0x35, 0x90, 0x37, 0x90, 0x38
|
||||||
db 0xA0, 0xFF
|
db 0xA0, 0xFF
|
||||||
db 0xA0, 0x16
|
db 0x90, 0x33, 0x90, 0x35, 0x90, 0x37, 0x90, 0x38
|
||||||
db 0x90, 0xFF
|
db 0xA0, 0xFF
|
||||||
db 0xA0, 0x16
|
db 0x90, 0x31, 0x90, 0x33, 0x90, 0x35, 0x90, 0x36
|
||||||
db 0
|
db 0xA0, 0xFF
|
||||||
|
db 0xA0, 0x16
|
||||||
melody3:
|
db 0x90, 0xFF
|
||||||
db 0x99, 0x31, 0xB2, 0x36, 0x99, 0x3A, 0xB2, 0x36
|
db 0xA0, 0x16
|
||||||
db 0x99, 0x33, 0xB2, 0x28, 0xBC, 0x38
|
db 0
|
||||||
db 0
|
|
||||||
i_end:
|
melody3:
|
||||||
|
db 0x99, 0x31, 0xB2, 0x36, 0x99, 0x3A, 0xB2, 0x36
|
||||||
|
db 0x99, 0x33, 0xB2, 0x28, 0xBC, 0x38
|
||||||
|
db 0
|
||||||
|
i_end:
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 209 B After Width: | Height: | Size: 209 B |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
@@ -1,3 +1,9 @@
|
|||||||
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
|
|
||||||
|
; Text encoded with Code Page 866 - Cyrillic
|
||||||
|
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0
|
org 0
|
||||||
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
||||||
@@ -8,13 +14,13 @@ include '../../../proc32.inc'
|
|||||||
include '../../../KOSfuncs.inc'
|
include '../../../KOSfuncs.inc'
|
||||||
include '../../../load_img.inc'
|
include '../../../load_img.inc'
|
||||||
include '../../../load_lib.mac'
|
include '../../../load_lib.mac'
|
||||||
include '../trunk/str.inc'
|
include '../str.inc'
|
||||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||||
|
|
||||||
vox_offs_tree_table equ 4
|
vox_offs_tree_table equ 4
|
||||||
vox_offs_data equ 12
|
vox_offs_data equ 12
|
||||||
txt_buf rb 8
|
txt_buf rb 8
|
||||||
include '../trunk/vox_rotate.inc'
|
include '../vox_rotate.inc'
|
||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
if lang eq ru_RU
|
if lang eq ru_RU
|
||||||
|
@@ -1,3 +1,9 @@
|
|||||||
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
|
|
||||||
|
; Text encoded with Code Page 866 - Cyrillic
|
||||||
|
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0
|
org 0
|
||||||
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
||||||
@@ -8,9 +14,9 @@ include '../../../proc32.inc'
|
|||||||
include '../../../KOSfuncs.inc'
|
include '../../../KOSfuncs.inc'
|
||||||
include '../../../load_img.inc'
|
include '../../../load_img.inc'
|
||||||
include '../../../load_lib.mac'
|
include '../../../load_lib.mac'
|
||||||
include '../trunk/vox_draw.inc'
|
include '../vox_draw.inc'
|
||||||
include '../trunk/vox_rotate.inc'
|
include '../vox_rotate.inc'
|
||||||
include '../trunk/str.inc'
|
include '../str.inc'
|
||||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
|
@@ -1,3 +1,9 @@
|
|||||||
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
|
|
||||||
|
; Text encoded with Code Page 866 - Cyrillic
|
||||||
|
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0
|
org 0
|
||||||
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
||||||
@@ -11,7 +17,7 @@ include '../../../load_lib.mac'
|
|||||||
include '../../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
|
include '../../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
|
||||||
include '../../../develop/libraries/TinyGL/asm_fork/zbuffer.inc'
|
include '../../../develop/libraries/TinyGL/asm_fork/zbuffer.inc'
|
||||||
include 'vox_3d.inc'
|
include 'vox_3d.inc'
|
||||||
include '../trunk/str.inc'
|
include '../str.inc'
|
||||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
|
@@ -1,429 +1,435 @@
|
|||||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>୮<EFBFBD><E0ADAE><EFBFBD> <20>ᥬ, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD>/ᮢ<>⮬/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ...
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
|
;
|
||||||
use32
|
|
||||||
org 0
|
; Text encoded with Code Page 866 - Cyrillic
|
||||||
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
|
||||||
dd 1, start, i_end, mem, stacktop, file_name, sys_path
|
|
||||||
|
;<3B><><EFBFBD><E0AEAC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>୮<EFBFBD><E0ADAE><EFBFBD> <20>ᥬ, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD>/ᮢ<>⮬/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ...
|
||||||
MAX_COLOR_WORD_LEN equ 40
|
|
||||||
maxChars equ 100002 ;(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD> + 2)
|
use32
|
||||||
BUF_SIZE equ 4096 ;buffer for copy|paste
|
org 0
|
||||||
maxSyntaxFileSize equ 410000
|
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
||||||
TOOLBAR_ICONS_SIZE equ 1200*21
|
dd 1, start, i_end, mem, stacktop, file_name, sys_path
|
||||||
|
|
||||||
include '../../proc32.inc'
|
MAX_COLOR_WORD_LEN equ 40
|
||||||
include '../../macros.inc'
|
maxChars equ 100002 ;(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>㬥<EFBFBD><E3ACA5><EFBFBD> + 2)
|
||||||
include '../../KOSfuncs.inc'
|
BUF_SIZE equ 4096 ;buffer for copy|paste
|
||||||
include '../../load_img.inc'
|
maxSyntaxFileSize equ 410000
|
||||||
include '../../load_lib.mac'
|
TOOLBAR_ICONS_SIZE equ 1200*21
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
|
||||||
include '../../system/skincfg/trunk/kglobals.inc'
|
include '../../proc32.inc'
|
||||||
include '../../system/skincfg/trunk/unpacker.inc'
|
include '../../macros.inc'
|
||||||
include 'lang.inc'
|
include '../../KOSfuncs.inc'
|
||||||
|
include '../../load_img.inc'
|
||||||
include 't_data.inc'
|
include '../../load_lib.mac'
|
||||||
include 't_button.inc'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
include 't_menu.inc'
|
include '../../system/skincfg/trunk/kglobals.inc'
|
||||||
include 'strlen.inc'
|
include '../../system/skincfg/trunk/unpacker.inc'
|
||||||
include 't_draw.inc' ;draw main window functions
|
include 'lang.inc'
|
||||||
include 'wnd_k_words.inc'
|
|
||||||
|
include 't_data.inc'
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
include 't_button.inc'
|
||||||
|
include 't_menu.inc'
|
||||||
align 4
|
include 'strlen.inc'
|
||||||
icon_tl_sys dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
include 't_draw.inc' ;draw main window functions
|
||||||
run_file_70 FileInfoBlock
|
include 'wnd_k_words.inc'
|
||||||
|
|
||||||
align 4
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
start:
|
|
||||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
|
align 4
|
||||||
|
icon_tl_sys dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
run_file_70 FileInfoBlock
|
||||||
or eax,eax
|
|
||||||
jnz @f
|
align 4
|
||||||
call ted_Exit
|
start:
|
||||||
@@:
|
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
|
||||||
|
|
||||||
mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
|
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
||||||
mcall SF_SET_EVENTS_MASK,0xC0000027
|
or eax,eax
|
||||||
|
jnz @f
|
||||||
mov esi,file_name
|
call ted_Exit
|
||||||
stdcall str_len,esi
|
@@:
|
||||||
mov ecx,eax
|
|
||||||
mov edi,openfile_path
|
mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
|
||||||
cld
|
mcall SF_SET_EVENTS_MASK,0xC0000027
|
||||||
rep movsb ;<3B><><EFBFBD><EFBFBD><EFBFBD>㥬 <20><><EFBFBD> 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD> openfile_path
|
|
||||||
|
mov esi,file_name
|
||||||
load_libraries l_libs_start,load_lib_end
|
stdcall str_len,esi
|
||||||
|
mov ecx,eax
|
||||||
;<3B><EFBFBD>ઠ <20><> <>쪮 㤠筮 <20><><EFBFBD>㧨<EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>
|
mov edi,openfile_path
|
||||||
mov ebp,lib0
|
cld
|
||||||
.test_lib_open:
|
rep movsb ;<3B><><EFBFBD><EFBFBD><EFBFBD>㥬 <20><><EFBFBD> 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD> openfile_path
|
||||||
cmp dword [ebp+ll_struc_size-4],0
|
|
||||||
jz @f
|
load_libraries l_libs_start,load_lib_end
|
||||||
mcall SF_TERMINATE_PROCESS ;exit not correct
|
|
||||||
@@:
|
;<3B><EFBFBD>ઠ <20><> <>쪮 㤠筮 <20><><EFBFBD>㧨<EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>
|
||||||
add ebp,ll_struc_size
|
mov ebp,lib0
|
||||||
cmp ebp,load_lib_end
|
.test_lib_open:
|
||||||
jl .test_lib_open
|
cmp dword [ebp+ll_struc_size-4],0
|
||||||
|
jz @f
|
||||||
;---------------------------------------------------------------------
|
mcall SF_TERMINATE_PROCESS ;exit not correct
|
||||||
stdcall [ted_init], tedit0
|
@@:
|
||||||
stdcall [tl_data_init], tree1
|
add ebp,ll_struc_size
|
||||||
option_boxes_set_sys_color sc,opt_grlist1
|
cmp ebp,load_lib_end
|
||||||
init_checkboxes2 check_boxes,check_boxes_end
|
jl .test_lib_open
|
||||||
check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc
|
|
||||||
|
;---------------------------------------------------------------------
|
||||||
; OpenDialog initialisation
|
stdcall [ted_init], tedit0
|
||||||
stdcall [OpenDialog_Init],OpenDialog_data
|
stdcall [tl_data_init], tree1
|
||||||
|
option_boxes_set_sys_color sc,opt_grlist1
|
||||||
; kmenu initialisation
|
init_checkboxes2 check_boxes,check_boxes_end
|
||||||
call tedit_menu_init
|
check_boxes_set_sys_color2 check_boxes,check_boxes_end,sc
|
||||||
|
|
||||||
; init toolbar file
|
; OpenDialog initialisation
|
||||||
include_image_file 'te_icon.png', bmp_icon,,,6 ;6 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
stdcall [OpenDialog_Init],OpenDialog_data
|
||||||
mov eax,[bmp_icon]
|
|
||||||
add eax,TOOLBAR_ICONS_SIZE
|
; kmenu initialisation
|
||||||
stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
|
call tedit_menu_init
|
||||||
;---------------------------------------------------------------------
|
|
||||||
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD>ࠬ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>ﬨ
|
; init toolbar file
|
||||||
include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
|
include_image_file 'te_icon.png', bmp_icon,,,6 ;6 <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mov eax,dword[icon_tl_sys]
|
mov eax,[bmp_icon]
|
||||||
mov dword[tree1.data_img_sys],eax
|
add eax,TOOLBAR_ICONS_SIZE
|
||||||
; <20><><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<><E3A7AB>
|
stdcall img_to_gray, [bmp_icon],eax,(TOOLBAR_ICONS_SIZE)/3
|
||||||
include_image_file 'tl_nod_16.png', icon_tl_sys
|
;---------------------------------------------------------------------
|
||||||
mov eax,dword[icon_tl_sys]
|
; <20><><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD>ࠬ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>ﬨ
|
||||||
mov dword[tree1.data_img],eax
|
include_image_file '..\..\media\log_el\tl_sys_16.png', icon_tl_sys
|
||||||
;------------------------------------------------------------------------------
|
mov eax,dword[icon_tl_sys]
|
||||||
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><>६ <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
mov dword[tree1.data_img_sys],eax
|
||||||
xor eax,eax
|
; <20><><EFBFBD><EFBFBD><EFBFBD>塞 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<><E3A7AB>
|
||||||
mov ecx,4096
|
include_image_file 'tl_nod_16.png', icon_tl_sys
|
||||||
mov edi,file_name
|
mov eax,dword[icon_tl_sys]
|
||||||
repnz scasb
|
mov dword[tree1.data_img],eax
|
||||||
mov byte[edi-2],al ;㡨ࠥ<E3A1A8> '/' <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28>㦭<EFBFBD> <20><><EFBFBD> <20>⥭<EFBFBD><E2A5AD> <20> CD)
|
;------------------------------------------------------------------------------
|
||||||
mcall SF_FILE,tree_file_struct
|
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><>६ <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
||||||
|
xor eax,eax
|
||||||
or ebx,ebx
|
mov ecx,4096
|
||||||
jz .end_dir_init
|
mov edi,file_name
|
||||||
mov eax,dir_mem+32+40
|
repnz scasb
|
||||||
mov ecx,ebx
|
mov byte[edi-2],al ;㡨ࠥ<E3A1A8> '/' <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28>㦭<EFBFBD> <20><><EFBFBD> <20>⥭<EFBFBD><E2A5AD> <20> CD)
|
||||||
@@:
|
mcall SF_FILE,tree_file_struct
|
||||||
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
|
|
||||||
je .filter
|
or ebx,ebx
|
||||||
;0x10000 ;1*2^16 - <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
jz .end_dir_init
|
||||||
stdcall [tl_node_add], tree1,0x10000,eax
|
mov eax,dir_mem+32+40
|
||||||
stdcall [tl_cur_next], tree1
|
mov ecx,ebx
|
||||||
.filter:
|
@@:
|
||||||
add eax,304
|
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
|
||||||
loop @b
|
je .filter
|
||||||
stdcall [tl_cur_beg],tree1 ;<3B>⠢<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><>砫<EFBFBD> ᯨ᪠
|
;0x10000 ;1*2^16 - <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
or dword[tree1.style], tl_cursor_pos_limited ;<3B><>࠭<EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> ᯨ᪠
|
stdcall [tl_node_add], tree1,0x10000,eax
|
||||||
.end_dir_init:
|
stdcall [tl_cur_next], tree1
|
||||||
|
.filter:
|
||||||
;--- load ini file ---
|
add eax,304
|
||||||
copy_path ini_name,sys_path,file_name,0
|
loop @b
|
||||||
;window startup pozition
|
stdcall [tl_cur_beg],tree1 ;<3B>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>砫<EFBFBD> ᯨ᪠
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
|
or dword[tree1.style], tl_cursor_pos_limited ;<3B><>࠭<EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> ᯨ᪠
|
||||||
mov word[wnd_s_pos+2],ax
|
.end_dir_init:
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
|
|
||||||
mov word[wnd_s_pos],ax
|
;--- load ini file ---
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
|
copy_path ini_name,sys_path,file_name,0
|
||||||
mov word[wnd_s_pos+6],ax
|
;window startup pozition
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
|
stdcall [ini_get_int],file_name,ini_sec_window,key_window_l,ini_def_window_l
|
||||||
mov word[wnd_s_pos+4],ax
|
mov word[wnd_s_pos+2],ax
|
||||||
;scrool type
|
stdcall [ini_get_int],file_name,ini_sec_window,key_window_w,ini_def_window_w
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
|
mov word[wnd_s_pos],ax
|
||||||
mov [wScr.type],eax
|
stdcall [ini_get_int],file_name,ini_sec_window,key_window_t,ini_def_window_t
|
||||||
mov [hScr.type],eax
|
mov word[wnd_s_pos+6],ax
|
||||||
mov [ws_dir_lbox.type],eax
|
stdcall [ini_get_int],file_name,ini_sec_window,key_window_h,ini_def_window_h
|
||||||
mov [w_scr_t3.type],eax
|
mov word[wnd_s_pos+4],ax
|
||||||
;symbol size
|
;scrool type
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
|
stdcall [ini_get_int],file_name,ini_sec_window,key_scroll_type,ini_def_scroll_type
|
||||||
mov dword[tedit0.rec.width],eax
|
mov [wScr.type],eax
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
|
mov [hScr.type],eax
|
||||||
mov dword[tedit0.rec.height],eax
|
mov [ws_dir_lbox.type],eax
|
||||||
;lea eax,[eax+eax*2]
|
mov [w_scr_t3.type],eax
|
||||||
;mov dword[tedit0.rec.top],eax
|
;symbol size
|
||||||
;font size
|
stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_w,ini_def_symbol_w
|
||||||
stdcall [ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s
|
mov dword[tedit0.rec.width],eax
|
||||||
shl eax,24
|
stdcall [ini_get_int],file_name,ini_sec_window,key_symbol_h,ini_def_symbol_h
|
||||||
mov dword[tedit0.font_size],eax
|
mov dword[tedit0.rec.height],eax
|
||||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;lea eax,[eax+eax*2]
|
||||||
ini_panel key_but_new, ID_BUT_NEW
|
;mov dword[tedit0.rec.top],eax
|
||||||
ini_panel key_but_open, ID_BUT_OPEN
|
;font size
|
||||||
ini_panel key_but_save, ID_BUT_SAVE
|
stdcall [ini_get_int],file_name,ini_sec_window,key_font_s,ini_def_font_s
|
||||||
ini_panel key_but_save_as,ID_BUT_SAVE_AS
|
shl eax,24
|
||||||
ini_panel key_but_select, ID_BUT_SELECT
|
mov dword[tedit0.font_size],eax
|
||||||
ini_panel key_but_cut, ID_BUT_CUT
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ini_panel key_but_copy, ID_BUT_COPY
|
ini_panel key_but_new, ID_BUT_NEW
|
||||||
ini_panel key_but_paste, ID_BUT_PASTE
|
ini_panel key_but_open, ID_BUT_OPEN
|
||||||
ini_panel key_but_find, ID_BUT_FIND
|
ini_panel key_but_save, ID_BUT_SAVE
|
||||||
ini_panel key_but_replace,ID_BUT_REPLACE
|
ini_panel key_but_save_as,ID_BUT_SAVE_AS
|
||||||
ini_panel key_but_key_words,ID_BUT_KEY_WORDS
|
ini_panel key_but_select, ID_BUT_SELECT
|
||||||
ini_panel key_but_upper, ID_BUT_UPPER
|
ini_panel key_but_cut, ID_BUT_CUT
|
||||||
ini_panel key_but_lower, ID_BUT_LOWER
|
ini_panel key_but_copy, ID_BUT_COPY
|
||||||
ini_panel key_but_reverse,ID_BUT_REVERSE
|
ini_panel key_but_paste, ID_BUT_PASTE
|
||||||
ini_panel key_but_undo, ID_BUT_UNDO
|
ini_panel key_but_find, ID_BUT_FIND
|
||||||
ini_panel key_but_redo, ID_BUT_REDO
|
ini_panel key_but_replace,ID_BUT_REPLACE
|
||||||
ini_panel key_but_invisible,ID_BUT_INVISIBLE
|
ini_panel key_but_key_words,ID_BUT_KEY_WORDS
|
||||||
ini_panel key_but_syntax_list,ID_BUT_SYNTAX_LIST
|
ini_panel key_but_upper, ID_BUT_UPPER
|
||||||
ini_panel key_but_syntax_mode,ID_BUT_SYNTAX_MODE
|
ini_panel key_but_lower, ID_BUT_LOWER
|
||||||
ini_panel key_but_convert_1251_866,ID_BUT_CONVERT_1251_866
|
ini_panel key_but_reverse,ID_BUT_REVERSE
|
||||||
ini_panel key_but_convert_866_1251,ID_BUT_CONVERT_866_1251
|
ini_panel key_but_undo, ID_BUT_UNDO
|
||||||
;䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD>
|
ini_panel key_but_redo, ID_BUT_REDO
|
||||||
xor edx,edx
|
ini_panel key_but_invisible,ID_BUT_INVISIBLE
|
||||||
mov ebx,synt_auto_open
|
ini_panel key_but_syntax_list,ID_BUT_SYNTAX_LIST
|
||||||
@@:
|
ini_panel key_but_syntax_mode,ID_BUT_SYNTAX_MODE
|
||||||
;<3B><>६ <20><><EFBFBD> 䠩<><E4A0A9>
|
ini_panel key_but_convert_1251_866,ID_BUT_CONVERT_1251_866
|
||||||
stdcall [ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
|
ini_panel key_but_convert_866_1251,ID_BUT_CONVERT_866_1251
|
||||||
cmp byte[ebx],0
|
;䠩<><E4A0A9><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD>
|
||||||
je @f
|
xor edx,edx
|
||||||
inc byte[key_synt_file.numb]
|
mov ebx,synt_auto_open
|
||||||
add ebx,32
|
@@:
|
||||||
;<3B><>६ <20><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><EFBFBD>
|
;<3B><>६ <20><><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||||
stdcall [ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
|
stdcall [ini_get_str],file_name,ini_sec_options,key_synt_file,ebx,32,ini_def_synt_f
|
||||||
inc byte[key_synt_ext.numb]
|
cmp byte[ebx],0
|
||||||
add ebx,32
|
je @f
|
||||||
inc edx
|
inc byte[key_synt_file.numb]
|
||||||
cmp edx,max_synt_auto_open
|
add ebx,32
|
||||||
jl @b
|
;<3B><>६ <20><><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><E0A5AD>
|
||||||
@@:
|
stdcall [ini_get_str],file_name,ini_sec_options,key_synt_ext,ebx,32,ini_def_synt_f
|
||||||
|
inc byte[key_synt_ext.numb]
|
||||||
;--- load color option file ---
|
add ebx,32
|
||||||
stdcall open_unpac_synt_file,[fn_col_option]
|
inc edx
|
||||||
|
cmp edx,max_synt_auto_open
|
||||||
;--- get cmd line ---
|
jl @b
|
||||||
cmp byte[openfile_path+3],0 ;openfile_path
|
@@:
|
||||||
je @f ;if file names exist
|
|
||||||
mov esi,openfile_path
|
;--- load color option file ---
|
||||||
stdcall auto_open_syntax,esi
|
stdcall open_unpac_synt_file,[fn_col_option]
|
||||||
call but_no_msg_OpenFile
|
|
||||||
@@:
|
;--- get cmd line ---
|
||||||
|
cmp byte[openfile_path+3],0 ;openfile_path
|
||||||
|
je @f ;if file names exist
|
||||||
|
mov esi,openfile_path
|
||||||
align 16
|
stdcall auto_open_syntax,esi
|
||||||
red_win:
|
call but_no_msg_OpenFile
|
||||||
call draw_window
|
@@:
|
||||||
|
|
||||||
align 16
|
|
||||||
still:
|
|
||||||
mcall SF_WAIT_EVENT
|
align 16
|
||||||
cmp dword[exit_code],1
|
red_win:
|
||||||
jne @f
|
call draw_window
|
||||||
call ted_Exit
|
|
||||||
jmp still
|
align 16
|
||||||
@@:
|
still:
|
||||||
|
mcall SF_WAIT_EVENT
|
||||||
cmp al,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
cmp dword[exit_code],1
|
||||||
jz red_win
|
jne @f
|
||||||
cmp al,2
|
call ted_Exit
|
||||||
jz key
|
jmp still
|
||||||
cmp al,3
|
@@:
|
||||||
jz button
|
|
||||||
cmp al,6 ;<3B><><EFBFBD><EFBFBD>
|
cmp al,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
jne @f
|
jz red_win
|
||||||
call mouse
|
cmp al,2
|
||||||
@@:
|
jz key
|
||||||
jmp still
|
cmp al,3
|
||||||
|
jz button
|
||||||
align 16
|
cmp al,6 ;<3B><><EFBFBD><EFBFBD>
|
||||||
mouse:
|
jne @f
|
||||||
stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
|
call mouse
|
||||||
|
@@:
|
||||||
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
jmp still
|
||||||
cmp word[tedit0.wnd.top],ax
|
|
||||||
jg .no_edit
|
align 16
|
||||||
shr eax,16
|
mouse:
|
||||||
cmp word[tedit0.wnd.left],ax
|
stdcall [kmainmenu_dispatch_cursorevent], [main_menu]
|
||||||
jg .no_edit
|
|
||||||
mcall SF_MOUSE_GET,SSF_BUTTON_EXT
|
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION
|
||||||
bt eax,24 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 饫<><E9A5AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
cmp word[tedit0.wnd.top],ax
|
||||||
jnc @f
|
jg .no_edit
|
||||||
stdcall [ted_but_select_word], tedit0
|
shr eax,16
|
||||||
ret
|
cmp word[tedit0.wnd.left],ax
|
||||||
@@:
|
jg .no_edit
|
||||||
stdcall [ted_mouse], tedit0
|
mcall SF_MOUSE_GET,SSF_BUTTON_EXT
|
||||||
.no_edit:
|
bt eax,24 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 饫<><E9A5AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
jnc @f
|
||||||
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
stdcall [ted_but_select_word], tedit0
|
||||||
cmp byte[tedit0.panel_id],TED_PANEL_FIND
|
ret
|
||||||
jne @f
|
@@:
|
||||||
stdcall [edit_box_mouse], edit_find
|
stdcall [ted_mouse], tedit0
|
||||||
stdcall [option_box_mouse], opt_grlist1
|
.no_edit:
|
||||||
stdcall [check_box_mouse], ch1
|
|
||||||
@@:
|
;<3B><EFBFBD>ઠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
cmp byte[tedit0.panel_id],TED_PANEL_REPLACE
|
cmp byte[tedit0.panel_id],TED_PANEL_FIND
|
||||||
jne @f
|
jne @f
|
||||||
stdcall [edit_box_mouse], edit_find
|
stdcall [edit_box_mouse], edit_find
|
||||||
stdcall [edit_box_mouse], edit_replace
|
stdcall [option_box_mouse], opt_grlist1
|
||||||
stdcall [option_box_mouse], opt_grlist1
|
stdcall [check_box_mouse], ch1
|
||||||
@@:
|
@@:
|
||||||
cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX
|
cmp byte[tedit0.panel_id],TED_PANEL_REPLACE
|
||||||
jne @f
|
jne @f
|
||||||
stdcall [tl_mouse], tree1
|
stdcall [edit_box_mouse], edit_find
|
||||||
@@:
|
stdcall [edit_box_mouse], edit_replace
|
||||||
cmp byte[tedit0.panel_id],TED_PANEL_GOTO
|
stdcall [option_box_mouse], opt_grlist1
|
||||||
jne @f
|
@@:
|
||||||
stdcall [edit_box_mouse], edit_goto
|
cmp byte[tedit0.panel_id],TED_PANEL_SYNTAX
|
||||||
@@:
|
jne @f
|
||||||
ret
|
stdcall [tl_mouse], tree1
|
||||||
;---------------------------------------------------------------------
|
@@:
|
||||||
|
cmp byte[tedit0.panel_id],TED_PANEL_GOTO
|
||||||
;output:
|
jne @f
|
||||||
; ah = symbol
|
stdcall [edit_box_mouse], edit_goto
|
||||||
align 16
|
@@:
|
||||||
proc KeyConvertToASCII uses ebx, table:dword
|
ret
|
||||||
mov ebx,dword[table] ;convert scan to ascii
|
;---------------------------------------------------------------------
|
||||||
shr ax,8
|
|
||||||
add bx,ax
|
;output:
|
||||||
mov ah,byte[ebx]
|
; ah = symbol
|
||||||
ret
|
align 16
|
||||||
endp
|
proc KeyConvertToASCII uses ebx, table:dword
|
||||||
|
mov ebx,dword[table] ;convert scan to ascii
|
||||||
align 16
|
shr ax,8
|
||||||
key:
|
add bx,ax
|
||||||
mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
mov ah,byte[ebx]
|
||||||
xor esi,esi
|
ret
|
||||||
mov ecx,1
|
endp
|
||||||
test al,3 ;[Shift]
|
|
||||||
jz @f
|
align 16
|
||||||
mov cl,2
|
key:
|
||||||
or esi,KM_SHIFT
|
mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@:
|
xor esi,esi
|
||||||
test al,0x0c ;[Ctrl]
|
mov ecx,1
|
||||||
jz @f
|
test al,3 ;[Shift]
|
||||||
or esi,KM_CTRL
|
jz @f
|
||||||
@@:
|
mov cl,2
|
||||||
test al,0x30 ;[Alt]
|
or esi,KM_SHIFT
|
||||||
jz @f
|
@@:
|
||||||
mov cl,3
|
test al,0x0c ;[Ctrl]
|
||||||
or esi,KM_ALT
|
jz @f
|
||||||
@@:
|
or esi,KM_CTRL
|
||||||
test al,0x80 ;[NumLock]
|
@@:
|
||||||
jz @f
|
test al,0x30 ;[Alt]
|
||||||
or esi,KM_NUMLOCK
|
jz @f
|
||||||
@@:
|
mov cl,3
|
||||||
|
or esi,KM_ALT
|
||||||
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
@@:
|
||||||
mcall SF_GET_KEY
|
test al,0x80 ;[NumLock]
|
||||||
stdcall [tl_key], tree1
|
jz @f
|
||||||
|
or esi,KM_NUMLOCK
|
||||||
test word[edit_replace.flags],ed_focus ;<3B> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
@@:
|
||||||
je @f
|
|
||||||
cmp ah,0x80 ;if key up
|
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ja still
|
mcall SF_GET_KEY
|
||||||
cmp ah,42 ;[Shift] (left)
|
stdcall [tl_key], tree1
|
||||||
je still
|
|
||||||
cmp ah,54 ;[Shift] (right)
|
test word[edit_replace.flags],ed_focus ;<3B> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
je still
|
je @f
|
||||||
cmp ah,56 ;[Alt]
|
cmp ah,0x80 ;if key up
|
||||||
je still
|
ja still
|
||||||
cmp ah,29 ;[Ctrl]
|
cmp ah,42 ;[Shift] (left)
|
||||||
je still
|
je still
|
||||||
cmp ah,69 ;[Pause Break]
|
cmp ah,54 ;[Shift] (right)
|
||||||
je still
|
je still
|
||||||
|
cmp ah,56 ;[Alt]
|
||||||
stdcall KeyConvertToASCII, conv_tabl
|
je still
|
||||||
stdcall [edit_box_key], edit_replace
|
cmp ah,29 ;[Ctrl]
|
||||||
jmp still
|
je still
|
||||||
@@:
|
cmp ah,69 ;[Pause Break]
|
||||||
test word[edit_find.flags],ed_focus ;<3B> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
je still
|
||||||
je @f
|
|
||||||
cmp ah,0x80 ;if key up
|
stdcall KeyConvertToASCII, conv_tabl
|
||||||
ja still
|
stdcall [edit_box_key], edit_replace
|
||||||
cmp ah,42 ;[Shift] (left)
|
jmp still
|
||||||
je still
|
@@:
|
||||||
cmp ah,54 ;[Shift] (right)
|
test word[edit_find.flags],ed_focus ;<3B> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
je still
|
je @f
|
||||||
cmp ah,56 ;[Alt]
|
cmp ah,0x80 ;if key up
|
||||||
je still
|
ja still
|
||||||
cmp ah,29 ;[Ctrl]
|
cmp ah,42 ;[Shift] (left)
|
||||||
je still
|
je still
|
||||||
cmp ah,69 ;[Pause Break]
|
cmp ah,54 ;[Shift] (right)
|
||||||
je still
|
je still
|
||||||
|
cmp ah,56 ;[Alt]
|
||||||
stdcall KeyConvertToASCII, conv_tabl
|
je still
|
||||||
stdcall [edit_box_key], edit_find
|
cmp ah,29 ;[Ctrl]
|
||||||
jmp still
|
je still
|
||||||
@@:
|
cmp ah,69 ;[Pause Break]
|
||||||
test word[edit_goto.flags],ed_focus ;<3B> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
je still
|
||||||
je @f
|
|
||||||
cmp ah,0x80 ;if key up
|
stdcall KeyConvertToASCII, conv_tabl
|
||||||
ja still
|
stdcall [edit_box_key], edit_find
|
||||||
cmp ah,42 ;[Shift] (left)
|
jmp still
|
||||||
je still
|
@@:
|
||||||
cmp ah,54 ;[Shift] (right)
|
test word[edit_goto.flags],ed_focus ;<3B> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
je still
|
je @f
|
||||||
cmp ah,56 ;[Alt]
|
cmp ah,0x80 ;if key up
|
||||||
je still
|
ja still
|
||||||
cmp ah,29 ;[Ctrl]
|
cmp ah,42 ;[Shift] (left)
|
||||||
je still
|
je still
|
||||||
cmp ah,69 ;[Pause Break]
|
cmp ah,54 ;[Shift] (right)
|
||||||
je still
|
je still
|
||||||
|
cmp ah,56 ;[Alt]
|
||||||
stdcall KeyConvertToASCII, conv_tabl
|
je still
|
||||||
stdcall [edit_box_key], edit_goto
|
cmp ah,29 ;[Ctrl]
|
||||||
jmp still
|
je still
|
||||||
@@:
|
cmp ah,69 ;[Pause Break]
|
||||||
|
je still
|
||||||
stdcall [ted_key], tedit0, conv_tabl,esi
|
|
||||||
jmp still
|
stdcall KeyConvertToASCII, conv_tabl
|
||||||
|
stdcall [edit_box_key], edit_goto
|
||||||
align 4
|
jmp still
|
||||||
edit_replace edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_replace, mouse_dd, 0
|
@@:
|
||||||
edit_find edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
|
|
||||||
edit_goto edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 10, buf_goto, mouse_dd, 0
|
stdcall [ted_key], tedit0, conv_tabl,esi
|
||||||
|
jmp still
|
||||||
unpac_mem dd 0
|
|
||||||
|
align 4
|
||||||
;library structures
|
edit_replace edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_replace, mouse_dd, 0
|
||||||
l_libs_start:
|
edit_find edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 300, buf_find, mouse_dd, 0
|
||||||
lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib
|
edit_goto edit_box TED_PANEL_WIDTH-1, 0, 20, 0xffffff, 0xff80, 0xff0000, 0xff, 0x4080, 10, buf_goto, mouse_dd, 0
|
||||||
lib1 l_libs lib_name_1, file_name, system_dir_1, import_msgbox_lib
|
|
||||||
lib2 l_libs lib_name_2, file_name, system_dir_2, import_proclib
|
unpac_mem dd 0
|
||||||
lib3 l_libs lib_name_3, file_name, system_dir_3, import_libimg
|
|
||||||
lib4 l_libs lib_name_4, file_name, system_dir_4, import_libini
|
;library structures
|
||||||
lib5 l_libs lib_name_5, file_name, system_dir_5, import_libkmenu
|
l_libs_start:
|
||||||
load_lib_end:
|
lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib
|
||||||
|
lib1 l_libs lib_name_1, file_name, system_dir_1, import_msgbox_lib
|
||||||
IncludeIGlobals
|
lib2 l_libs lib_name_2, file_name, system_dir_2, import_proclib
|
||||||
hed db 'TextEdit '
|
lib3 l_libs lib_name_3, file_name, system_dir_3, import_libimg
|
||||||
i_end:
|
lib4 l_libs lib_name_4, file_name, system_dir_4, import_libini
|
||||||
openfile_path: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD>
|
lib5 l_libs lib_name_5, file_name, system_dir_5, import_libkmenu
|
||||||
rb 4096
|
load_lib_end:
|
||||||
dir_mem rb 32+304*count_of_dir_list_files
|
|
||||||
wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD>
|
IncludeIGlobals
|
||||||
rq 1
|
hed db 'TextEdit '
|
||||||
last_open_synt_file rb 32 ;<3B><><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD><EFBFBD><EFBFBD> 䠩<><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
i_end:
|
||||||
buf rb BUF_SIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>⠢<EFBFBD><EFBFBD>
|
openfile_path: ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ࠡ<><EFBFBD><EFBFBD>
|
||||||
buf_find rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠ ⥪<><E2A5AA><EFBFBD>
|
rb 4096
|
||||||
buf_replace rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
dir_mem rb 32+304*count_of_dir_list_files
|
||||||
buf_goto rb 12 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>室<EFBFBD> <20><> <20><>ப<EFBFBD>
|
wnd_s_pos: ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>樨 <20><><EFBFBD><EFBFBD>
|
||||||
sc system_colors
|
rq 1
|
||||||
IncludeUGlobals
|
last_open_synt_file rb 32 ;<3B><><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD><EFBFBD><EFBFBD> 䠩<><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
||||||
align 16
|
buf rb BUF_SIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20> <20><>⠢<EFBFBD><E2A0A2>
|
||||||
procinfo process_information
|
buf_find rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠ ⥪<><E2A5AA><EFBFBD>
|
||||||
rb 1024
|
buf_replace rb 302 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||||||
thread:
|
buf_goto rb 12 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>室<EFBFBD> <20><> <20><>ப<EFBFBD>
|
||||||
rb 4096
|
sc system_colors
|
||||||
align 16
|
IncludeUGlobals
|
||||||
thread_coords:
|
align 16
|
||||||
rb 4096
|
procinfo process_information
|
||||||
align 16
|
rb 1024
|
||||||
stacktop:
|
thread:
|
||||||
sys_path: ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD>㤠 <20><><EFBFBD><EFBFBD><EFBFBD>⨫<EFBFBD><E2A8AB> <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC> 䠩<>
|
rb 4096
|
||||||
rb 4096
|
align 16
|
||||||
file_name: ;<3B><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᪠
|
thread_coords:
|
||||||
rb 4096
|
rb 4096
|
||||||
syntax_path: ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD><EFBFBD> 䠩<><E4A0A9> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
align 16
|
||||||
rb 4096
|
stacktop:
|
||||||
plugin_path:
|
sys_path: ;<3B><><EFBFBD><EFBFBD> <20><><EFBFBD>㤠 <20><><EFBFBD><EFBFBD><EFBFBD>⨫<EFBFBD><E2A8AB> <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC> 䠩<>
|
||||||
rb 4096
|
rb 4096
|
||||||
text_work_area: ;<3B><><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
file_name: ;<3B><>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᪠
|
||||||
rb 4096
|
rb 4096
|
||||||
filename_area: ;<3B><><EFBFBD> 䠩<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
syntax_path: ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>砥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD> ᨭ⠪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
rb 256
|
rb 4096
|
||||||
file_info:
|
plugin_path:
|
||||||
rb 40
|
rb 4096
|
||||||
mem:
|
text_work_area: ;<3B><><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
|
||||||
|
rb 4096
|
||||||
|
filename_area: ;<3B><><EFBFBD> 䠩<><E4A0A9> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
rb 256
|
||||||
|
file_info:
|
||||||
|
rb 40
|
||||||
|
mem:
|
||||||
|
@@ -1,389 +1,395 @@
|
|||||||
use32
|
; SPDX-License-Identifier: NOASSERTION
|
||||||
org 0
|
;
|
||||||
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
|
||||||
dd 1, start, i_end, mem, stacktop, file_name, sys_path
|
; Text encoded with Code Page 866 - Cyrillic
|
||||||
|
|
||||||
MAX_COLOR_WORD_LEN equ 40
|
|
||||||
BUF_SIZE equ 4096 ;buffer for copy|paste
|
use32
|
||||||
CAPT_PATH_WIDTH equ 50 ;<3B><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>। ⥪<>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>
|
org 0
|
||||||
|
db 'MENUET01' ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20>ᯮ<EFBFBD><E1AFAE>塞<EFBFBD><EFA5AC><EFBFBD> 䠩<><E4A0A9> <20>ᥣ<EFBFBD><E1A5A3> 8 <20><><EFBFBD><EFBFBD>
|
||||||
include '../../macros.inc'
|
dd 1, start, i_end, mem, stacktop, file_name, sys_path
|
||||||
include '../../proc32.inc'
|
|
||||||
include '../../KOSfuncs.inc'
|
MAX_COLOR_WORD_LEN equ 40
|
||||||
include '../../load_img.inc'
|
BUF_SIZE equ 4096 ;buffer for copy|paste
|
||||||
include '../../load_lib.mac'
|
CAPT_PATH_WIDTH equ 50 ;<3B><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>। ⥪<>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
|
||||||
include '../../system/skincfg/trunk/kglobals.inc'
|
include '../../macros.inc'
|
||||||
include '../../system/skincfg/trunk/unpacker.inc'
|
include '../../proc32.inc'
|
||||||
include 'te_data.inc'
|
include '../../KOSfuncs.inc'
|
||||||
include 'te_work.inc' ;text work functions
|
include '../../load_img.inc'
|
||||||
|
include '../../load_lib.mac'
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
|
include '../../system/skincfg/trunk/kglobals.inc'
|
||||||
icon_tl_sys dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
include '../../system/skincfg/trunk/unpacker.inc'
|
||||||
|
include 'te_data.inc'
|
||||||
align 4
|
include 'te_work.inc' ;text work functions
|
||||||
start:
|
|
||||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
|
|
||||||
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
icon_tl_sys dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
or eax,eax
|
|
||||||
jz button.exit
|
align 4
|
||||||
|
start:
|
||||||
mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
|
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
|
||||||
mcall SF_SET_EVENTS_MASK,0xC0000027
|
|
||||||
|
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
||||||
load_libraries l_libs_start,load_lib_end
|
or eax,eax
|
||||||
|
jz button.exit
|
||||||
;<3B><EFBFBD>ઠ <20><> <>쪮 㤠筮 <20><><EFBFBD>㧨<EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>
|
|
||||||
cmp dword[lib0+ll_struc_size-4],0
|
mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code
|
||||||
jz @f
|
mcall SF_SET_EVENTS_MASK,0xC0000027
|
||||||
mcall -1 ;exit not correct
|
|
||||||
@@:
|
load_libraries l_libs_start,load_lib_end
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;<EFBFBD><EFBFBD>ઠ <20><> <>쪮 㤠筮 <20><><EFBFBD>㧨<EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>
|
||||||
stdcall [tl_data_init], tree1
|
cmp dword[lib0+ll_struc_size-4],0
|
||||||
|
jz @f
|
||||||
; <20><>⠥<EFBFBD> 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD>ࠬ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>ﬨ
|
mcall -1 ;exit not correct
|
||||||
include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys
|
@@:
|
||||||
mov eax,[icon_tl_sys]
|
|
||||||
mov [tree1.data_img_sys],eax
|
;---------------------------------------------------------------------
|
||||||
;---------------------------------------------------------------------
|
stdcall [tl_data_init], tree1
|
||||||
; <20><>⠥<EFBFBD> bmp 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<><E3A7AB>
|
|
||||||
include_image_file '..\t_edit\tl_nod_16.png', icon_tl_sys
|
; <20><>⠥<EFBFBD> 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD>ࠬ<EFBFBD> <20> <20><><EFBFBD><EFBFBD>ﬨ
|
||||||
mov eax,[icon_tl_sys]
|
include_image_file '..\..\media\log_el\tl_sys_16.png', icon_tl_sys
|
||||||
mov [tree1.data_img],eax
|
mov eax,[icon_tl_sys]
|
||||||
;------------------------------------------------------------------------------
|
mov [tree1.data_img_sys],eax
|
||||||
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><>६ <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
;---------------------------------------------------------------------
|
||||||
mcall SF_FILE,tree_file_struct
|
; <20><>⠥<EFBFBD> bmp 䠩<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㧫<><E3A7AB>
|
||||||
|
include_image_file '..\t_edit\tl_nod_16.png', icon_tl_sys
|
||||||
cmp ebx,2
|
mov eax,[icon_tl_sys]
|
||||||
jg @f
|
mov [tree1.data_img],eax
|
||||||
notify_window_run file_name ;ᮮ<>饭<EFBFBD><E9A5AD> <20> <20><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
;------------------------------------------------------------------------------
|
||||||
jmp .end_dir_init
|
copy_path fn_syntax_dir,sys_path,file_name,0 ;<3B><>६ <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD><EFBFBD> ᨭ⠪<E1A8AD><E2A0AA><EFBFBD><EFBFBD>
|
||||||
@@:
|
mcall SF_FILE,tree_file_struct
|
||||||
;cmp ebx,0
|
|
||||||
;jle .end_dir_init
|
cmp ebx,2
|
||||||
mov eax,dir_mem+32+40
|
jg @f
|
||||||
mov ecx,ebx
|
notify_window_run file_name ;ᮮ<>饭<EFBFBD><E9A5AD> <20> <20><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
@@:
|
jmp .end_dir_init
|
||||||
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
|
@@:
|
||||||
je .filter
|
;cmp ebx,0
|
||||||
stdcall [tl_node_add],tree1,0x10000,eax ;1*2^16 - <20><><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;jle .end_dir_init
|
||||||
stdcall [tl_cur_next],tree1
|
mov eax,dir_mem+32+40
|
||||||
.filter:
|
mov ecx,ebx
|
||||||
add eax,304
|
@@:
|
||||||
loop @b
|
cmp byte[eax],'.' ;䨫<><E4A8AB><EFBFBD>㥬 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '.' <20> '..'
|
||||||
stdcall [tl_cur_beg],tree1 ;<3B>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>砫<EFBFBD> ᯨ᪠
|
je .filter
|
||||||
or dword[tree1.style], tl_cursor_pos_limited ;<3B><>࠭<EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯨ᪠
|
stdcall [tl_node_add],tree1,0x10000,eax ;1*2^16 - <20><><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
.end_dir_init:
|
stdcall [tl_cur_next],tree1
|
||||||
|
.filter:
|
||||||
xor eax,eax
|
add eax,304
|
||||||
inc eax
|
loop @b
|
||||||
mov [scrol_w1.type],eax
|
stdcall [tl_cur_beg],tree1 ;<3B>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>砫<EFBFBD> ᯨ᪠
|
||||||
mov [scrol_h1.type],eax
|
or dword[tree1.style], tl_cursor_pos_limited ;<3B><>࠭<EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> ᯨ᪠
|
||||||
mov [ws_dir_lbox.type],eax
|
.end_dir_init:
|
||||||
|
|
||||||
;--- load color option file ---
|
xor eax,eax
|
||||||
stdcall [ted_init], tedit0
|
inc eax
|
||||||
mov byte[file_name],0
|
mov [scrol_w1.type],eax
|
||||||
|
mov [scrol_h1.type],eax
|
||||||
align 4
|
mov [ws_dir_lbox.type],eax
|
||||||
red_win:
|
|
||||||
call draw_window
|
;--- load color option file ---
|
||||||
|
stdcall [ted_init], tedit0
|
||||||
align 4
|
mov byte[file_name],0
|
||||||
still:
|
|
||||||
mcall SF_WAIT_EVENT
|
align 4
|
||||||
|
red_win:
|
||||||
cmp al,1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
call draw_window
|
||||||
jz red_win
|
|
||||||
cmp al,2
|
align 4
|
||||||
jz key
|
still:
|
||||||
cmp al,3
|
mcall SF_WAIT_EVENT
|
||||||
jz button
|
|
||||||
cmp al,6
|
cmp al,1 ;<3B><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
jz mouse
|
jz red_win
|
||||||
|
cmp al,2
|
||||||
jmp still
|
jz key
|
||||||
|
cmp al,3
|
||||||
|
jz button
|
||||||
align 4
|
cmp al,6
|
||||||
draw_window:
|
jz mouse
|
||||||
pushad
|
|
||||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
jmp still
|
||||||
|
|
||||||
mov edx,[sc.work]
|
|
||||||
or edx,0x33000000
|
align 4
|
||||||
mov edi,hed
|
draw_window:
|
||||||
mcall SF_CREATE_WINDOW,<10,555>,<10,333>
|
pushad
|
||||||
|
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||||
mcall SF_THREAD_INFO,procinfo,-1
|
|
||||||
mov edi,tedit0 ;<3B><><EFBFBD>祭<EFBFBD><E7A5AD> edi <20>㦭<EFBFBD> <20><><EFBFBD> EvSize <20> ted_wnd_t
|
mov edx,[sc.work]
|
||||||
call EvSize
|
or edx,0x33000000
|
||||||
|
mov edi,hed
|
||||||
mov esi,[sc.work_button];0xd0
|
mcall SF_CREATE_WINDOW,<10,555>,<10,333>
|
||||||
mcall SF_DEFINE_BUTTON,5*65536+90,195*65536+20,200
|
|
||||||
|
mcall SF_THREAD_INFO,procinfo,-1
|
||||||
mov ebx,100*65536+85
|
mov edi,tedit0 ;<3B><><EFBFBD>祭<EFBFBD><E7A5AD> edi <20>㦭<EFBFBD> <20><><EFBFBD> EvSize <20> ted_wnd_t
|
||||||
mov ecx,195*65536+20
|
call EvSize
|
||||||
mov edx,201
|
|
||||||
mov esi,0xd00000
|
mov esi,[sc.work_button];0xd0
|
||||||
mcall
|
mcall SF_DEFINE_BUTTON,5*65536+90,195*65536+20,200
|
||||||
|
|
||||||
mov ecx,[sc.work_button_text]
|
mov ebx,100*65536+85
|
||||||
or ecx,0x80000000
|
mov ecx,195*65536+20
|
||||||
mcall SF_DRAW_TEXT,10*65536+200,,txt_load_f
|
mov edx,201
|
||||||
|
mov esi,0xd00000
|
||||||
mov ecx,0xffff00
|
mcall
|
||||||
or ecx,0x80000000
|
|
||||||
mcall ,105*65536+200,,txt_save_f
|
mov ecx,[sc.work_button_text]
|
||||||
|
or ecx,0x80000000
|
||||||
mov ecx,[sc.work_text]
|
mcall SF_DRAW_TEXT,10*65536+200,,txt_load_f
|
||||||
or ecx,0x80000000
|
|
||||||
mcall ,195*65536+10,,txt_inp_file
|
mov ecx,0xffff00
|
||||||
|
or ecx,0x80000000
|
||||||
add ebx,20
|
mcall ,105*65536+200,,txt_save_f
|
||||||
mov edx,txt_out_file
|
|
||||||
int 0x40
|
mov ecx,[sc.work_text]
|
||||||
|
or ecx,0x80000000
|
||||||
stdcall [PathShow_draw], PathShow_data_1
|
mcall ,195*65536+10,,txt_inp_file
|
||||||
|
|
||||||
stdcall [edit_box_draw], edit1
|
add ebx,20
|
||||||
stdcall [tl_draw], tree1
|
mov edx,txt_out_file
|
||||||
|
int 0x40
|
||||||
;scroll 1
|
|
||||||
mov [ws_dir_lbox.all_redraw],1
|
stdcall [PathShow_draw], PathShow_data_1
|
||||||
stdcall [scrollbar_ver_draw],ws_dir_lbox
|
|
||||||
stdcall [ted_draw], tedit0
|
stdcall [edit_box_draw], edit1
|
||||||
|
stdcall [tl_draw], tree1
|
||||||
mcall SF_REDRAW,SSF_END_DRAW
|
|
||||||
popad
|
;scroll 1
|
||||||
ret
|
mov [ws_dir_lbox.all_redraw],1
|
||||||
|
stdcall [scrollbar_ver_draw],ws_dir_lbox
|
||||||
MIN_M_WND_H equ 100 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
stdcall [ted_draw], tedit0
|
||||||
;input:
|
|
||||||
; edi = pointer to tedit struct
|
mcall SF_REDRAW,SSF_END_DRAW
|
||||||
align 4
|
popad
|
||||||
EvSize:
|
ret
|
||||||
pushad
|
|
||||||
mov ebx,ted_scr_h
|
MIN_M_WND_H equ 100 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
mov esi,ted_scr_w
|
;input:
|
||||||
|
; edi = pointer to tedit struct
|
||||||
m2m ted_wnd_w,[procinfo.client_box.width] ;<3B>⠢<EFBFBD><E2A0A2> <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠢ<><E0A0A2><EFBFBD> <20><>ਭ<EFBFBD> <20>ᥣ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
align 4
|
||||||
mov eax,ted_wnd_l
|
EvSize:
|
||||||
sub ted_wnd_w,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5>
|
pushad
|
||||||
movzx eax,word[esi+sb_offs_size_x]
|
mov ebx,ted_scr_h
|
||||||
sub ted_wnd_w,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
mov esi,ted_scr_w
|
||||||
|
|
||||||
m2m ted_wnd_h,[procinfo.client_box.height] ;<3B>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠢ<><E0A0A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
m2m ted_wnd_w,[procinfo.client_box.width] ;<3B>⠢<EFBFBD><E2A0A2> <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠢ<><E0A0A2><EFBFBD> <20><>ਭ<EFBFBD> <20>ᥣ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
cmp ted_wnd_h,MIN_M_WND_H
|
mov eax,ted_wnd_l
|
||||||
jg @f
|
sub ted_wnd_w,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5>
|
||||||
mov ted_wnd_h,MIN_M_WND_H
|
movzx eax,word[esi+sb_offs_size_x]
|
||||||
@@:
|
sub ted_wnd_w,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
movzx eax,word[ebx+sb_offs_size_y]
|
m2m ted_wnd_h,[procinfo.client_box.height] ;<3B>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠢ<><E0A0A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
sub ted_wnd_h,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ਧ. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
cmp ted_wnd_h,MIN_M_WND_H
|
||||||
mov eax,ted_wnd_t
|
jg @f
|
||||||
sub ted_wnd_h,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>
|
mov ted_wnd_h,MIN_M_WND_H
|
||||||
|
@@:
|
||||||
stdcall [ted_init_scroll_bars], tedit0,2
|
|
||||||
popad
|
movzx eax,word[ebx+sb_offs_size_y]
|
||||||
ret
|
sub ted_wnd_h,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ਧ. <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov eax,ted_wnd_t
|
||||||
align 4
|
sub ted_wnd_h,eax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>
|
||||||
mouse:
|
|
||||||
stdcall [tl_mouse],tree1
|
stdcall [ted_init_scroll_bars], tedit0,2
|
||||||
stdcall [edit_box_mouse],edit1
|
popad
|
||||||
stdcall [ted_mouse], tedit0
|
ret
|
||||||
jmp still
|
|
||||||
|
align 4
|
||||||
;output:
|
mouse:
|
||||||
; ah = symbol
|
stdcall [tl_mouse],tree1
|
||||||
align 4
|
stdcall [edit_box_mouse],edit1
|
||||||
proc KeyConvertToASCII, table:dword
|
stdcall [ted_mouse], tedit0
|
||||||
push ebx
|
jmp still
|
||||||
mov ebx,dword[table] ;convert scan to ascii
|
|
||||||
shr ax,8
|
;output:
|
||||||
add bx,ax
|
; ah = symbol
|
||||||
mov ah,byte[ebx]
|
align 4
|
||||||
pop ebx
|
proc KeyConvertToASCII, table:dword
|
||||||
ret
|
push ebx
|
||||||
endp
|
mov ebx,dword[table] ;convert scan to ascii
|
||||||
|
shr ax,8
|
||||||
align 4
|
add bx,ax
|
||||||
key:
|
mov ah,byte[ebx]
|
||||||
mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
pop ebx
|
||||||
xor esi,esi
|
ret
|
||||||
mov ecx,1
|
endp
|
||||||
test al,3 ;[Shift]
|
|
||||||
jz @f
|
align 4
|
||||||
mov cl,2
|
key:
|
||||||
or esi,KM_SHIFT
|
mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ﭨ<EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@:
|
xor esi,esi
|
||||||
test al,0x0c ;[Ctrl]
|
mov ecx,1
|
||||||
jz @f
|
test al,3 ;[Shift]
|
||||||
or esi,KM_CTRL
|
jz @f
|
||||||
@@:
|
mov cl,2
|
||||||
test al,0x30 ;[Alt]
|
or esi,KM_SHIFT
|
||||||
jz @f
|
@@:
|
||||||
mov cl,3
|
test al,0x0c ;[Ctrl]
|
||||||
or esi,KM_ALT
|
jz @f
|
||||||
@@:
|
or esi,KM_CTRL
|
||||||
test al,0x80 ;[NumLock]
|
@@:
|
||||||
jz @f
|
test al,0x30 ;[Alt]
|
||||||
or esi,KM_NUMLOCK
|
jz @f
|
||||||
@@:
|
mov cl,3
|
||||||
|
or esi,KM_ALT
|
||||||
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
@@:
|
||||||
mcall SF_GET_KEY
|
test al,0x80 ;[NumLock]
|
||||||
stdcall [tl_key],tree1
|
jz @f
|
||||||
|
or esi,KM_NUMLOCK
|
||||||
test word [edit1.flags],10b;ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
@@:
|
||||||
je @f
|
|
||||||
cmp ah,0x80 ;if key up
|
mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ja still
|
mcall SF_GET_KEY
|
||||||
cmp ah,42 ;[Shift] (left)
|
stdcall [tl_key],tree1
|
||||||
je still
|
|
||||||
cmp ah,54 ;[Shift] (right)
|
test word [edit1.flags],10b;ed_focus ; <20> <20><> <20> 䮪<><E4AEAA><EFBFBD>, <20><>室<EFBFBD><E5AEA4>
|
||||||
je still
|
je @f
|
||||||
cmp ah,56 ;[Alt]
|
cmp ah,0x80 ;if key up
|
||||||
je still
|
ja still
|
||||||
cmp ah,29 ;[Ctrl]
|
cmp ah,42 ;[Shift] (left)
|
||||||
je still
|
je still
|
||||||
cmp ah,69 ;[Pause Break]
|
cmp ah,54 ;[Shift] (right)
|
||||||
je still
|
je still
|
||||||
|
cmp ah,56 ;[Alt]
|
||||||
stdcall KeyConvertToASCII, conv_tabl
|
je still
|
||||||
stdcall [edit_box_key],edit1
|
cmp ah,29 ;[Ctrl]
|
||||||
jmp still
|
je still
|
||||||
@@:
|
cmp ah,69 ;[Pause Break]
|
||||||
|
je still
|
||||||
stdcall [ted_key], tedit0, conv_tabl,esi
|
|
||||||
jmp still
|
stdcall KeyConvertToASCII, conv_tabl
|
||||||
|
stdcall [edit_box_key],edit1
|
||||||
align 4
|
jmp still
|
||||||
button:
|
@@:
|
||||||
mcall SF_GET_BUTTON
|
|
||||||
|
stdcall [ted_key], tedit0, conv_tabl,esi
|
||||||
cmp ah,200
|
jmp still
|
||||||
jne @f
|
|
||||||
call but_OpenSyntax
|
align 4
|
||||||
@@:
|
button:
|
||||||
cmp ah,201
|
mcall SF_GET_BUTTON
|
||||||
jne @f
|
|
||||||
call but_SaveSyntax
|
cmp ah,200
|
||||||
@@:
|
jne @f
|
||||||
|
call but_OpenSyntax
|
||||||
cmp ah,1
|
@@:
|
||||||
jne still
|
cmp ah,201
|
||||||
.exit:
|
jne @f
|
||||||
stdcall mem.Free,[options_file]
|
call but_SaveSyntax
|
||||||
stdcall mem.Free,[unpac_mem]
|
@@:
|
||||||
|
|
||||||
stdcall [tl_data_clear], tree1
|
cmp ah,1
|
||||||
stdcall [ted_delete], tedit0
|
jne still
|
||||||
mcall SF_TERMINATE_PROCESS ;<3B><>室 <20><> <20>ணࠬ<E0AEA3><E0A0AC>
|
.exit:
|
||||||
|
stdcall mem.Free,[options_file]
|
||||||
align 4
|
stdcall mem.Free,[unpac_mem]
|
||||||
but_OpenSyntax:
|
|
||||||
push eax
|
stdcall [tl_data_clear], tree1
|
||||||
stdcall [tl_node_get_data],tree1
|
stdcall [ted_delete], tedit0
|
||||||
mov [fn_col_option],eax
|
mcall SF_TERMINATE_PROCESS ;<3B><>室 <20><> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
call InitColText
|
|
||||||
pop eax
|
align 4
|
||||||
ret
|
but_OpenSyntax:
|
||||||
|
push eax
|
||||||
align 4
|
stdcall [tl_node_get_data],tree1
|
||||||
but_SaveSyntax:
|
mov [fn_col_option],eax
|
||||||
stdcall [ted_save_file], tedit0,run_file_70,[edit1.text]
|
call InitColText
|
||||||
ret
|
pop eax
|
||||||
|
ret
|
||||||
;description:
|
|
||||||
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ Ctrl+N,O,F,S,H,G
|
align 4
|
||||||
align 4
|
but_SaveSyntax:
|
||||||
proc ted_but_ctrl_all uses eax, opt_key:dword
|
stdcall [ted_save_file], tedit0,run_file_70,[edit1.text]
|
||||||
mov eax,[opt_key]
|
ret
|
||||||
cmp al,'N' ;Ctrl+N
|
|
||||||
jne @f
|
;description:
|
||||||
call but_ctrl_n
|
; <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⨨ Ctrl+N,O,F,S,H,G
|
||||||
jmp .end0
|
align 4
|
||||||
@@:
|
proc ted_but_ctrl_all uses eax, opt_key:dword
|
||||||
cmp al,'O' ;Ctrl+O
|
mov eax,[opt_key]
|
||||||
jne @f
|
cmp al,'N' ;Ctrl+N
|
||||||
call but_ctrl_o
|
jne @f
|
||||||
@@:
|
call but_ctrl_n
|
||||||
;cmp al,'S' ;Ctrl+S
|
jmp .end0
|
||||||
;cmp al,'F' ;Ctrl+F
|
@@:
|
||||||
;cmp al,'G' ;Ctrl+G
|
cmp al,'O' ;Ctrl+O
|
||||||
;cmp al,'H' ;Ctrl+H
|
jne @f
|
||||||
.end0:
|
call but_ctrl_o
|
||||||
ret
|
@@:
|
||||||
endp
|
;cmp al,'S' ;Ctrl+S
|
||||||
|
;cmp al,'F' ;Ctrl+F
|
||||||
align 4
|
;cmp al,'G' ;Ctrl+G
|
||||||
but_ctrl_o:
|
;cmp al,'H' ;Ctrl+H
|
||||||
push eax
|
.end0:
|
||||||
call get_wnd_in_focus
|
ret
|
||||||
or eax,eax
|
endp
|
||||||
jz @f
|
|
||||||
stdcall [ted_open_file], eax,str_file_70,[edit1.text]
|
align 4
|
||||||
@@:
|
but_ctrl_o:
|
||||||
pop eax
|
push eax
|
||||||
ret
|
call get_wnd_in_focus
|
||||||
|
or eax,eax
|
||||||
;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
jz @f
|
||||||
align 4
|
stdcall [ted_open_file], eax,str_file_70,[edit1.text]
|
||||||
but_ctrl_n:
|
@@:
|
||||||
push eax
|
pop eax
|
||||||
call get_wnd_in_focus
|
ret
|
||||||
or eax,eax
|
|
||||||
jz @f
|
;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
stdcall [ted_clear], eax,1
|
align 4
|
||||||
stdcall [ted_draw], eax
|
but_ctrl_n:
|
||||||
@@:
|
push eax
|
||||||
pop eax
|
call get_wnd_in_focus
|
||||||
ret
|
or eax,eax
|
||||||
|
jz @f
|
||||||
;<3B><>।<EFBFBD><E0A5A4>塞 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䮪<><E4AEAA><EFBFBD>
|
stdcall [ted_clear], eax,1
|
||||||
align 4
|
stdcall [ted_draw], eax
|
||||||
get_wnd_in_focus:
|
@@:
|
||||||
xor eax,eax
|
pop eax
|
||||||
cmp dword[el_focus],tedit0
|
ret
|
||||||
jne @f
|
|
||||||
mov eax,tedit0
|
;<3B><>।<EFBFBD><E0A5A4>塞 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 䮪<><E4AEAA><EFBFBD>
|
||||||
@@:
|
align 4
|
||||||
;cmp dword[el_focus],tedit1
|
get_wnd_in_focus:
|
||||||
;jne @f
|
xor eax,eax
|
||||||
; mov eax,tedit1
|
cmp dword[el_focus],tedit0
|
||||||
;@@:
|
jne @f
|
||||||
ret
|
mov eax,tedit0
|
||||||
|
@@:
|
||||||
hed db 'TextEditor syntax file converter 18.12.20',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
;cmp dword[el_focus],tedit1
|
||||||
conv_tabl rb 128 ; ⠡<><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> scan-<2D><><EFBFBD><EFBFBD> <20> ascii-<2D><><EFBFBD>
|
;jne @f
|
||||||
|
; mov eax,tedit1
|
||||||
txt_load_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0
|
;@@:
|
||||||
txt_save_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0
|
ret
|
||||||
txt_inp_file db '<27><><EFBFBD>. 䠩<>:',0
|
|
||||||
txt_out_file db '<27><><EFBFBD>. 䠩<>:',0
|
hed db 'TextEditor syntax file converter 18.12.20',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
conv_tabl rb 128 ; ⠡<><E2A0A1><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> scan-<2D><><EFBFBD><EFBFBD> <20> ascii-<2D><><EFBFBD>
|
||||||
;library structures
|
|
||||||
l_libs_start:
|
txt_load_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0
|
||||||
lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib
|
txt_save_f db '<27><><EFBFBD><EFBFBD>. 䠩<>',0
|
||||||
lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg
|
txt_inp_file db '<27><><EFBFBD>. 䠩<>:',0
|
||||||
load_lib_end:
|
txt_out_file db '<27><><EFBFBD>. 䠩<>:',0
|
||||||
|
|
||||||
IncludeIGlobals
|
;library structures
|
||||||
|
l_libs_start:
|
||||||
align 16
|
lib0 l_libs lib_name_0, file_name, system_dir_0, import_box_lib
|
||||||
i_end:
|
lib1 l_libs lib_name_1, file_name, system_dir_1, import_libimg
|
||||||
IncludeUGlobals
|
load_lib_end:
|
||||||
procinfo process_information
|
|
||||||
rb 1024
|
IncludeIGlobals
|
||||||
thread:
|
|
||||||
rb 1024
|
align 16
|
||||||
stacktop:
|
i_end:
|
||||||
sys_path rb 4096
|
IncludeUGlobals
|
||||||
file_name rb 4096
|
procinfo process_information
|
||||||
file_name_rez rb 4096
|
rb 1024
|
||||||
mem:
|
thread:
|
||||||
|
rb 1024
|
||||||
|
stacktop:
|
||||||
|
sys_path rb 4096
|
||||||
|
file_name rb 4096
|
||||||
|
file_name_rez rb 4096
|
||||||
|
mem:
|
||||||
|