35,18 → 35,18 |
; design by golus |
|
use32 |
org 0x0 |
db 'MENUET01' |
dd 1, START, IM_END, I_END |
dd stacktop, file_path, cur_dir_path |
org 0x0 |
db 'MENUET01' |
dd 1, START, IM_END, I_END |
dd stacktop, file_path, cur_dir_path |
|
include '../../../config.inc' ;for nightbuild |
include '../../../macros.inc' |
include '../../../macros.inc' |
include '../../../proc32.inc' |
include '../../../KOSfuncs.inc' |
include '../../../develop/libraries/box_lib/load_lib.mac' |
include '../../../dll.inc' |
include '../../../libio.inc' |
include '../../../develop/libraries/libs-dev/libio/libio.inc' |
include '../../../develop/libraries/libs-dev/libimg/libimg.inc' |
;include '../../../debug.inc' |
|
80,125 → 80,125 |
; áªà®««¨£¨ |
ci_scroll_dim equ 22 ;à §¬¥àë áªà®««¨£®¢ |
ci_scrollh_coord_x_min equ (ci_edit_wnd_x_pos+3) ;¬¨¨¬ «ì ï ¯®§¨æ¨ï ¯®«§ãª |
;£®à¨§®â «ì®£® áªà®««¨£ |
;£®à¨§®â «ì®£® áªà®««¨£ |
ci_scrollv_coord_y_min equ (ci_edit_wnd_y_pos+3) ;¬¨¨¬ «ì ï ¯®§¨æ¨ï ¯®«§ãª |
;¢¥à⨪ «ì®£® áªà®««¨£ |
;¢¥à⨪ «ì®£® áªà®««¨£ |
;--------------------------------------------------------- |
|
include 'bmplib.inc' |
include 'dialog2.inc' |
include 'design.inc' |
include 'graphlib.inc' |
include 'bmplib.inc' |
include 'dialog2.inc' |
include 'design.inc' |
include 'graphlib.inc' |
|
include 'cursors.inc' |
include 'memory.inc' |
include 'load_from_parameters.inc' |
include 'cursors.inc' |
include 'memory.inc' |
include 'load_from_parameters.inc' |
|
START: |
mcall SF_SYS_MISC,SSF_HEAP_INIT |
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, syscolors, syscolors_end-syscolors |
|
mcall SF_SYS_MISC,SSF_HEAP_INIT |
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, syscolors, syscolors_end-syscolors |
|
load_libraries l_libs_start,end_l_libs |
|
cmp eax,-1 |
jz close |
cmp eax,-1 |
jz close |
|
mcall SF_SET_EVENTS_MASK,0x80000067 ; 1100111b |
mcall SF_SET_EVENTS_MASK,0x80000067 ; 1100111b |
;--------------------------------------------------------- |
;-----------------------init data------------------------- |
;--------------------------------------------------------- |
include 'init_data.inc' |
include 'init_data.inc' |
|
;---------------------------------------------------------- |
;--------get memory and draw window of program------------- |
;---------------------------------------------------------- |
call GetMemory |
mov [Current_instrument],10 ;pencil |
call TakeButtonInstruments ;set startup instrument |
call cleare_work_arrea |
call load_icons |
call init_main_menu |
call GetMemory |
mov [Current_instrument],10 ;pencil |
call TakeButtonInstruments ;set startup instrument |
call cleare_work_arrea |
call load_icons |
call init_main_menu |
|
;load cursors |
mov eax,CursorsID |
call load_cursors |
mov eax,CursorsID |
call load_cursors |
|
;--------------------------------------------------------- |
;---------check loading of file from parameters----------- |
;--------------------------------------------------------- |
mov eax,file_path |
cmp [eax],byte 0 |
jz @f |
call load_picture |
call MovePictureToWorkScreen |
mov eax,file_path |
cmp [eax],byte 0 |
jz @f |
call load_picture |
call MovePictureToWorkScreen |
@@: |
|
;--------------------------------------------------------------------- |
mov edi,filename_area |
mov esi,path4+5 |
call copy_str_1 |
mov edi,filename_area |
mov esi,path4+5 |
call copy_str_1 |
|
mov edi,file_path |
cmp [edi],byte 0 |
jne @f |
mov esi,path4 |
call copy_str_1 |
mov edi,file_path |
cmp [edi],byte 0 |
jne @f |
mov esi,path4 |
call copy_str_1 |
@@: |
;OpenDialog initialisation |
stdcall [OpenDialog_Init], OpenDialog_data |
;OpenDialog initialisation |
stdcall [OpenDialog_Init], OpenDialog_data |
;--------------------------------------------------------------------- |
|
align 4 |
red: |
call drawwin |
call drawwin |
;---------------------------------------------------------- |
;---------------------main loop---------------------------- |
;---------------------------------------------------------- |
align 4 |
still: |
mcall SF_WAIT_EVENT |
mcall SF_WAIT_EVENT |
|
cmp eax,1 |
je red |
cmp eax,1 |
je red |
|
cmp eax,2 |
je keys |
cmp eax,2 |
je keys |
|
cmp eax,3 |
je buttons |
cmp eax,3 |
je buttons |
|
cmp eax,6 |
je mouse |
cmp eax,6 |
je mouse |
|
jmp still |
|
jmp still |
|
;--------------------------------------------------------------------- |
copy_str_1: |
xor eax,eax |
cld |
xor eax,eax |
cld |
@@: |
lodsb |
stosb |
test eax,eax |
jnz @b |
ret |
lodsb |
stosb |
test eax,eax |
jnz @b |
ret |
;--------------------------------------------------------------------- |
include 'events.inc' |
include 'events_of_window.inc' |
include 'events_of_keys.inc' |
include 'events_of_buttons.inc' |
include 'events_of_mouse.inc' |
include 'panel_engen.inc' |
include 'screen.inc' |
include 'events.inc' |
include 'events_of_window.inc' |
include 'events_of_keys.inc' |
include 'events_of_buttons.inc' |
include 'events_of_mouse.inc' |
include 'panel_engen.inc' |
include 'screen.inc' |
include 'menu_instruments.inc' |
include 'icons_instruments.inc' |
include 'icons.inc' |
include 'sprites.inc' |
include 'string.inc' |
include 'palette.inc' |
include 'files.inc' |
include 'time.inc' |
include 'menu.inc' |
include 'icons_instruments.inc' |
include 'icons.inc' |
include 'sprites.inc' |
include 'string.inc' |
include 'palette.inc' |
include 'files.inc' |
include 'time.inc' |
include 'menu.inc' |
;----------------------------------------------------------- |
;------------variables and data of program------------------ |
;----------------------------------------------------------- |
205,11 → 205,11 |
;sound_havent_memory db 150,64,0 |
|
include 'lib_data.inc' |
include 'panel_data.inc' |
include 'palitra256.inc' |
include 'brushes.inc' |
include 'spray.inc' |
include 'width_lines.inc' |
include 'panel_data.inc' |
include 'palitra256.inc' |
include 'brushes.inc' |
include 'spray.inc' |
include 'width_lines.inc' |
;---------------------------------------------------------- |
;-------------------icon's picture------------------------- |
;---------------------------------------------------------- |
244,117 → 244,117 |
;----------------------------------------------------------- |
;------------variables and data of program------------------ |
;----------------------------------------------------------- |
time rd 1 |
PosX rd 1 ;scroll x file position |
PosY rd 1 ;scroll y file position |
PointerToIcons rd 1 |
ScreenPointer rd 1 |
PointerToPicture rd 1 |
PointerToCopyPicture rd 1 |
PointerToCopyPicture2 rd 1 |
PointerToEditBufer rd 1 |
PointerToSpriteBufer rd 1 |
PointerToPalette rd 1 ;㪠§ â¥«ì ¯¨«¨âàã (㦥 ¤«ï á®åà ¥¨ï ¢ *.bmp) |
Color rd 1 |
SColor rd 1 |
Number_Brush rd 1 |
Brush_SizeX rd 1 |
Brush_SizeY rd 1 |
Current_instrument rd 1 |
Last_instrument rd 1 |
OldX rd 1 |
OldY rd 1 |
time rd 1 |
PosX rd 1 ;scroll x file position |
PosY rd 1 ;scroll y file position |
PointerToIcons rd 1 |
ScreenPointer rd 1 |
PointerToPicture rd 1 |
PointerToCopyPicture rd 1 |
PointerToCopyPicture2 rd 1 |
PointerToEditBufer rd 1 |
PointerToSpriteBufer rd 1 |
PointerToPalette rd 1 ;㪠§ â¥«ì ¯¨«¨âàã (㦥 ¤«ï á®åà ¥¨ï ¢ *.bmp) |
Color rd 1 |
SColor rd 1 |
Number_Brush rd 1 |
Brush_SizeX rd 1 |
Brush_SizeY rd 1 |
Current_instrument rd 1 |
Last_instrument rd 1 |
OldX rd 1 |
OldY rd 1 |
|
MouseX rd 1 |
MouseY rd 1 |
MouseBut rd 1 ;ᮡëâ¨ï ®â ª®¯®ª ¬ëè¨ |
Window_SizeX rd 1 |
Window_SizeY rd 1 |
Window_CordinatX rd 1 |
Window_CordinatY rd 1 |
Picture_SizeX rd 1 |
Picture_SizeY rd 1 |
ScreenX rd 1 ;ª®®à¤¨ â x ªãàá®à á ãç¥â®¬ ¬ áèâ ¡ |
ScreenY rd 1 ;ª®®à¤¨ â y ªãàá®à á ãç¥â®¬ ¬ áèâ ¡ |
WorkScreen_SizeX rd 1 ;è¨à¨ à ¡®ç¥£® íªà |
WorkScreen_SizeY rd 1 ;¢ëá®â à ¡®ç¥£® íªà |
MaxWorkScreen_SizeX rd 1 |
MaxWorkScreen_SizeY rd 1 |
k rd 1 ;¬ áèâ ¡ |
MouseX rd 1 |
MouseY rd 1 |
MouseBut rd 1 ;ᮡëâ¨ï ®â ª®¯®ª ¬ëè¨ |
Window_SizeX rd 1 |
Window_SizeY rd 1 |
Window_CordinatX rd 1 |
Window_CordinatY rd 1 |
Picture_SizeX rd 1 |
Picture_SizeY rd 1 |
ScreenX rd 1 ;ª®®à¤¨ â x ªãàá®à á ãç¥â®¬ ¬ áèâ ¡ |
ScreenY rd 1 ;ª®®à¤¨ â y ªãàá®à á ãç¥â®¬ ¬ áèâ ¡ |
WorkScreen_SizeX rd 1 ;è¨à¨ à ¡®ç¥£® íªà |
WorkScreen_SizeY rd 1 ;¢ëá®â à ¡®ç¥£® íªà |
MaxWorkScreen_SizeX rd 1 |
MaxWorkScreen_SizeY rd 1 |
k rd 1 ;¬ áèâ ¡ |
|
ReserveArray rd 1 ;㪠§ â¥«ì ¯ ¬ïâì ¨á¯®«ì§ã¥¬ãî ¯à¨ à¨á®¢ ¨¨ 䨣ãà |
;¤«ï á®åà ¥¨ï ãç á⪮¢ ä® ¯®¤ 䨣ãà ¬¨, â ª¦¥ ¤«ï § «¨¢ª¨ |
CounterX rd 1 ;ç¨á«® ¯¨ªá¥«¥© ¨§®¡à ¦¥¨ï ¯® è¨à¨¥, ª®â®àë¥ ¯®¯ ¤ îâ |
;¢ íªà à ¡®ç¥© ®¡« áâ¨, á ãç¥â®¬ ⥪ã饣® ¬ áèâ ¡ |
CounterY rd 1 |
OffsetYPicture rd 1 ;ᤢ¨£ ¯® ®á¨ y ¢ ¡ãä¥à¥ ¨§®¡à ¦¥¨ï ¯à¨ à¨á®¢ ¨¨ |
;á«¥¤ãî饩 «¨¨¨ ¨§®¡à ¦¥¨ï |
OffsetYWorkScreen rd 1 ;ᤢ¨£ ¯® ®á¨ y ¢ ¡ãä¥à¥ à ¡®ç¥© ®¡« á⨠¯à¨ |
;à¨á®¢ ¨¨ á«¥¤ãî饩 «¨¨¨ ¯¨ªá¥«¥©. ¥¬ ¡®«ìè¥ ¬ áèâ ¡, ⥬ ¨¦¥ |
;㦮 ®¯ã᪠âìáï ¯® à ¡®ç¥© ®¡« áâ¨. |
OffsetYBigPixel rd 1 ;ᤢ¨£ ¯® ®á¨ y ¤«ï à¨á®¢ ¨ï ¯¨ªá¥«¥© ¡®«ì讬 |
;¬ áèâ ¡¥. ¨áã¥âáï 1-ï ¯®«®á ¯¨ªá¥«ï, ¯®â®¬ 㦮 ¯¥à¥©â¨ ¢¨§ ¨ |
;¢«¥¢® ¤«ï à¨á®¢ ¨ï á«¥¤ãî饩 ¯®«®áë. |
ReserveArray rd 1 ;㪠§ â¥«ì ¯ ¬ïâì ¨á¯®«ì§ã¥¬ãî ¯à¨ à¨á®¢ ¨¨ 䨣ãà |
;¤«ï á®åà ¥¨ï ãç á⪮¢ ä® ¯®¤ 䨣ãà ¬¨, â ª¦¥ ¤«ï § «¨¢ª¨ |
CounterX rd 1 ;ç¨á«® ¯¨ªá¥«¥© ¨§®¡à ¦¥¨ï ¯® è¨à¨¥, ª®â®àë¥ ¯®¯ ¤ îâ |
;¢ íªà à ¡®ç¥© ®¡« áâ¨, á ãç¥â®¬ ⥪ã饣® ¬ áèâ ¡ |
CounterY rd 1 |
OffsetYPicture rd 1 ;ᤢ¨£ ¯® ®á¨ y ¢ ¡ãä¥à¥ ¨§®¡à ¦¥¨ï ¯à¨ à¨á®¢ ¨¨ |
;á«¥¤ãî饩 «¨¨¨ ¨§®¡à ¦¥¨ï |
OffsetYWorkScreen rd 1 ;ᤢ¨£ ¯® ®á¨ y ¢ ¡ãä¥à¥ à ¡®ç¥© ®¡« á⨠¯à¨ |
;à¨á®¢ ¨¨ á«¥¤ãî饩 «¨¨¨ ¯¨ªá¥«¥©. ¥¬ ¡®«ìè¥ ¬ áèâ ¡, ⥬ ¨¦¥ |
;㦮 ®¯ã᪠âìáï ¯® à ¡®ç¥© ®¡« áâ¨. |
OffsetYBigPixel rd 1 ;ᤢ¨£ ¯® ®á¨ y ¤«ï à¨á®¢ ¨ï ¯¨ªá¥«¥© ¡®«ì讬 |
;¬ áèâ ¡¥. ¨áã¥âáï 1-ï ¯®«®á ¯¨ªá¥«ï, ¯®â®¬ 㦮 ¯¥à¥©â¨ ¢¨§ ¨ |
;¢«¥¢® ¤«ï à¨á®¢ ¨ï á«¥¤ãî饩 ¯®«®áë. |
|
Icon_X rd 1 |
Icon_Y rd 1 |
counter rd 1 |
counter2 rd 1 |
number_panel rd 1 |
number_menu rd 1 |
Icon_X rd 1 |
Icon_Y rd 1 |
counter rd 1 |
counter2 rd 1 |
number_panel rd 1 |
number_menu rd 1 |
|
Scroll1CoordinatX rd 1 ;scroll x screen position |
Scroll1CoordinatY rd 1 ;scroll y screen position |
Scroll1MaxSizeX rd 1 |
Scroll1MaxSizeY rd 1 |
Scroll1SizeX rd 1 ;scroll polzunok size |
Scroll1FreeX rd 1 |
Scroll1CoordinatX rd 1 ;scroll x screen position |
Scroll1CoordinatY rd 1 ;scroll y screen position |
Scroll1MaxSizeX rd 1 |
Scroll1MaxSizeY rd 1 |
Scroll1SizeX rd 1 ;scroll polzunok size |
Scroll1FreeX rd 1 |
|
Scroll2CoordinatX rd 1 |
Scroll2CoordinatY rd 1 |
Scroll2MaxSizeX rd 1 |
Scroll2MaxSizeY rd 1 |
Scroll2SizeY rd 1 |
Scroll2FreeY rd 1 |
Scroll2CoordinatX rd 1 |
Scroll2CoordinatY rd 1 |
Scroll2MaxSizeX rd 1 |
Scroll2MaxSizeY rd 1 |
Scroll2SizeY rd 1 |
Scroll2FreeY rd 1 |
|
x rd 1 |
y rd 1 |
x rd 1 |
y rd 1 |
|
Radius rd 1 |
Dx_ rd 1 |
Dy_ rd 1 |
line_width rd 1 |
a_ellips rd 1 |
b_ellips rd 1 |
Radius rd 1 |
Dx_ rd 1 |
Dy_ rd 1 |
line_width rd 1 |
a_ellips rd 1 |
b_ellips rd 1 |
|
used_OldX rd 1 ;for draw hard contour |
used_OldY rd 1 |
used_OldX rd 1 ;for draw hard contour |
used_OldY rd 1 |
paste_img_w rd 1 ;è¨à¨ ¢áâ ¢«ï¥¬®£® ¨§®¡à ¦¥¨ï |
paste_img_h rd 1 ;¢ëá®â ¢áâ ¢«ï¥¬®£® ¨§®¡à ¦¥¨ï |
crossing_old_x rd 1 ; ç «ì ï ª®®à¤. x ®¡« á⨠ª®¯¨à®¢ ¨ï |
crossing_old_y rd 1 ; ç «ì ï ª®®à¤. y ®¡« á⨠ª®¯¨à®¢ ¨ï |
rectangular_shade_x rd 1 ;ª®¥ç ï ª®®à¤. x ®¡« á⨠ª®¯¨à®¢ ¨ï |
rectangular_shade_y rd 1 ;ª®¥ç ï ª®®à¤. y ®¡« á⨠ª®¯¨à®¢ ¨ï |
crossing rd 1 ;0 - ¢ë¤¥«¥¨ï ¥â, 1 - ¨¤¥â ¯à®æ¥á ¢ë¤¥«¥¨ï, |
;2 - ¢ë¤¥«¥¨¥ § ¢¥à襮, 3 - ®¡« áâì ¢ë¤¥«¥¨ï ¯¥à¥¬¥é ¥âáï |
number_undo rd 1 |
SpriteSizeX rd 1 ;??? |
SpriteSizeY rd 1 ;??? |
SpriteCoordinatX rd 1 |
SpriteCoordinatY rd 1 |
SpriteOldCoordinatX rd 1 |
SpriteOldCoordinatY rd 1 |
crossing_old_x rd 1 ; ç «ì ï ª®®à¤. x ®¡« á⨠ª®¯¨à®¢ ¨ï |
crossing_old_y rd 1 ; ç «ì ï ª®®à¤. y ®¡« á⨠ª®¯¨à®¢ ¨ï |
rectangular_shade_x rd 1 ;ª®¥ç ï ª®®à¤. x ®¡« á⨠ª®¯¨à®¢ ¨ï |
rectangular_shade_y rd 1 ;ª®¥ç ï ª®®à¤. y ®¡« á⨠ª®¯¨à®¢ ¨ï |
crossing rd 1 ;0 - ¢ë¤¥«¥¨ï ¥â, 1 - ¨¤¥â ¯à®æ¥á ¢ë¤¥«¥¨ï, |
;2 - ¢ë¤¥«¥¨¥ § ¢¥à襮, 3 - ®¡« áâì ¢ë¤¥«¥¨ï ¯¥à¥¬¥é ¥âáï |
number_undo rd 1 |
SpriteSizeX rd 1 ;??? |
SpriteSizeY rd 1 ;??? |
SpriteCoordinatX rd 1 |
SpriteCoordinatY rd 1 |
SpriteOldCoordinatX rd 1 |
SpriteOldCoordinatY rd 1 |
|
CursorsID rd 10 |
CursorsID rd 10 |
|
Activate_instrument rb 1 ;¥á«¨ à ¢® 0 - â® ª®¯¨à®¢ ¨¥ ⥪ã饣® ¡ãä¥à |
;¤«ï ¥£® । ªâ¨à®¢ ¨ï, ¥á«¨ 1 - ⥪ã騩 ¡ãä¥à ¥ ª®¯¨àã¥âáï |
save_flag rb 1 |
exit_from_work_arrea rb 1 |
lastik_is_active rb 1 |
instrument_used rb 1 |
DrawSprite_flag rb 1 |
Paste_flag rb 1 |
Activate_instrument rb 1 ;¥á«¨ à ¢® 0 - â® ª®¯¨à®¢ ¨¥ ⥪ã饣® ¡ãä¥à |
;¤«ï ¥£® । ªâ¨à®¢ ¨ï, ¥á«¨ 1 - ⥪ã騩 ¡ãä¥à ¥ ª®¯¨àã¥âáï |
save_flag rb 1 |
exit_from_work_arrea rb 1 |
lastik_is_active rb 1 |
instrument_used rb 1 |
DrawSprite_flag rb 1 |
Paste_flag rb 1 |
;--------------------------------------------------------------------- |
IncludeUGlobals |
;--------------------------------------------------------------------- |
370,7 → 370,7 |
syscolors_end: |
;--------------------------------------------------------------------- |
align 4 |
rb 4096 |
rb 4096 |
stacktop: |
;--------------------------------------------------------------------- |
I_END: |