1,10 → 1,13 |
;******************************************************* |
;**************GRAPHICS EDITOR ANIMAGE ***************** |
;******************************************************* |
|
|
; version: 1.2 |
; last update: 30/09/2010 |
; written by: Marat Zakiyanov aka Mario79, aka Mario |
; changes: Program used function 68 instead 64 is now, |
; select path with OpenDialog |
;-------------------------------------------------------- |
; version 1.1 year 9.12.2006 |
|
; AUTORS: |
; programming by andrew_programmer |
; design by golus |
15,17 → 18,20 |
db 'MENUET01' |
dd 0x1 |
dd START |
dd I_END |
dd 0x19000;100 kb |
dd 0x19000; |
dd parameters,0x0 |
dd IM_END |
dd I_END ;0x19000;100 kb |
dd stacktop ;0x19000; |
dd file_path ;parameters |
dd cur_dir_path |
|
|
include '..\..\..\macros.inc' |
include '../../../develop/libraries/box_lib/load_lib.mac' |
@use_library |
COLOR_ORDER equ MENUETOS |
include 'gif_lite.inc' |
include 'bmplib.inc' |
include 'dialog.inc' |
;include 'dialog.inc' |
include 'dialog2.inc' |
include 'design.inc' |
include 'graphlib.inc' |
35,17 → 41,21 |
include 'load_from_parameters.inc' |
|
START: |
mcall 68,11 |
|
load_libraries l_libs_start,end_l_libs |
|
cmp eax,-1 |
jz close |
;-------------------------------------------------------- |
;---------------set events mask-------------------------- |
;-------------------------------------------------------- |
mov eax,40 |
mov ebx,1100111b |
mcall |
mcall 40,1100111b |
;--------------------------------------------------------- |
;-----------------------init data------------------------- |
;--------------------------------------------------------- |
include 'init_data.inc' |
|
;---------------------------------------------------------- |
;--------get memory and draw window of program------------- |
;---------------------------------------------------------- |
61,19 → 71,35 |
;--------------------------------------------------------- |
;---------Check loading of file from psrsmeters----------- |
;--------------------------------------------------------- |
; mov eax,parameters |
; mov ebx,file_path |
; call check_loading_from_parameters |
mov eax,file_path |
cmp [eax],byte 0 |
jz @f |
call load_picture |
@@: |
|
mov eax,parameters |
mov ebx,file_path |
call check_loading_from_parameters |
;--------------------------------------------------------------------- |
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 |
@@: |
;OpenDialog initialisation |
push dword OpenDialog_data |
call [OpenDialog_Init] |
;--------------------------------------------------------------------- |
;---------------------------------------------------------- |
;---------------------MAIN LOOP---------------------------- |
;---------------------------------------------------------- |
|
still: |
|
call event |
|
cmp eax,1 |
jne no_redraw_window |
|
81,7 → 107,6 |
jmp still |
|
no_redraw_window: |
|
cmp eax,2 |
je keys |
|
92,10 → 117,21 |
je mouse |
|
jmp still |
|
;--------------------------------------------------------------------- |
copy_str_1: |
xor eax,eax |
cld |
@@: |
lodsb |
stosb |
test eax,eax |
jnz @b |
ret |
;--------------------------------------------------------------------- |
;--------------------------------------------------------- |
;--------------------------------------------------------- |
;--------------------------------------------------------- |
|
include 'events.inc' |
include 'events_of_window.inc' |
include 'events_of_keys.inc' |
112,127 → 148,11 |
include 'files.inc' |
include 'time.inc' |
include 'memory.inc' |
|
;----------------------------------------------------------- |
;------------variables and data of program------------------ |
;----------------------------------------------------------- |
|
CursorsID rd 10 |
|
parameters rb 257 |
|
file_path: |
times 1024+16 db 0 |
|
time dd 0 |
sound_havent_memory db 150,64,0 |
PosX dd 0 |
PosY dd 0 |
PointerToIcons dd 0 |
ScreenPointer dd 0 |
PointerToPicture dd 0 |
PointerToCopyPicture dd 0 |
PointerToCopyPicture2 dd 0 |
PointerToEditBufer dd 0 |
PointerToSpriteBufer dd 0 |
PointerToPalette dd 0 |
Color dd 0 |
Number_Brush dd 0 |
Brush_SizeX dd 0 |
Brush_SizeY dd 0 |
Current_instrument dd 0 |
Last_instrument dd 0 |
Activate_instrument db 0 |
SColor dd 0 |
OldX dd 0 |
OldY dd 0 |
|
MouseX dd 0 |
MouseY dd 0 |
Window_SizeX dd 0 |
Window_SizeY dd 0 |
Window_CordinatX dd 0 |
Window_CordinatY dd 0 |
Picture_SizeX dd 0 |
Picture_SizeY dd 0 |
ScreenX dd 0 |
ScreenY dd 0 |
WorkScreen_SizeX dd 0 |
WorkScreen_SizeY dd 0 |
MaxWorkScreen_SizeX dd 0 |
MaxWorkScreen_SizeY dd 0 |
k dd 0 |
IPC_table rd 256 |
ReserveArray dd 0 |
register dd 0 |
CounterX dd 0 |
CounterY dd 0 |
OffsetYPicture dd 0 |
OffsetYWorkScreen dd 0 |
OffsetYBigPixel dd 0 |
|
Icon_X dd 0 |
Icon_Y dd 0 |
counter dd 0 |
counter2 dd 0 |
Icon_text_x dd 0 |
Icon_text_y dd 0 |
Panel_flag db 0 |
counter_menu dd 0 |
menu_coordinat_x dd 0 |
menu_size_x dd 0 |
menu_counter dd 0 |
counter_11 dd 0 |
number_panel dd 0 |
number_menu dd 0 |
|
Scroll1CoordinatX dd 0 |
Scroll1CoordinatY dd 0 |
Scroll1MaxSizeX dd 0 |
Scroll1MaxSizeY dd 0 |
Scroll1SizeX dd 0 |
Scroll1FreeX dd 0 |
|
Scroll2CoordinatX dd 0 |
Scroll2CoordinatY dd 0 |
Scroll2MaxSizeX dd 0 |
Scroll2MaxSizeY dd 0 |
Scroll2SizeY dd 0 |
Scroll2FreeY dd 0 |
|
extended_memory dd 0 |
type dw 0 |
x dd 0 |
y dd 0 |
save_flag db 0 |
exit_from_work_arrea db 0 |
|
Radius dd 0 |
Dx_ dd 0 |
Dy_ dd 0 |
line_width dd 0 |
lastik_is_active db 0 |
a_ellips dd 0 |
b_ellips dd 0 |
instrument_used db 0 |
used_OldX dd 0 |
used_OldY dd 0 |
rectangular_shade_x dd 0 |
rectangular_shade_y dd 0 |
crossing_old_x dd 0 |
crossing_old_y dd 0 |
crossing dd 0 |
finishing_crossing dd 0 |
number_undo dd 0 |
DrawSprite_flag db 0 |
Paste_flag db 0 |
SpriteSizeX dd 0 |
SpriteSizeY dd 0 |
SpriteCoordinatX dd 0 |
SpriteCoordinatY dd 0 |
SpriteOldCoordinatX dd 0 |
SpriteOldCoordinatY dd 0 |
|
include 'lib_data.inc' |
include 'panel_data.inc' |
include 'palitra256.inc' |
include 'brushes.inc' |
242,37 → 162,183 |
;-------------------ICON"S picture------------------------- |
;---------------------------------------------------------- |
dd 0 |
|
panel_picture: |
file 'panel_buttons.gif' |
|
;****************cursors****************** |
brush_cursor: |
file 'brush.cur' |
|
;---------------------------------------------------------- |
flood_fill_cursor: |
file 'flood_fill.cur' |
|
;---------------------------------------------------------- |
lastik_cursor: |
file 'lastik.cur' |
|
;---------------------------------------------------------- |
other_cursor: |
file 'other.cur' |
|
;---------------------------------------------------------- |
pencil_cursor: |
file 'pencil.cur' |
|
;---------------------------------------------------------- |
pipette_cursor: |
file 'pipette.cur' |
|
;---------------------------------------------------------- |
spray_cursor: |
file 'spray.cur' |
|
;---------------------------------------------------------- |
zoom_cursor: |
file 'zoom.cur' |
|
;---------------------------------------------------------- |
IM_END: |
;----------------------------------------------------------- |
;------------variables and data of program------------------ |
;----------------------------------------------------------- |
time rd 1 |
PosX rd 1 |
PosY rd 1 |
PointerToIcons rd 1 |
ScreenPointer rd 1 |
PointerToPicture rd 1 |
PointerToCopyPicture rd 1 |
PointerToCopyPicture2 rd 1 |
PointerToEditBufer rd 1 |
PointerToSpriteBufer rd 1 |
PointerToPalette rd 1 |
Color rd 1 |
Number_Brush rd 1 |
Brush_SizeX rd 1 |
Brush_SizeY rd 1 |
Current_instrument rd 1 |
Last_instrument rd 1 |
Activate_instrument rb 1 |
SColor rd 1 |
OldX rd 1 |
OldY rd 1 |
|
I_END: |
MouseX rd 1 |
MouseY 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 |
ScreenY rd 1 |
WorkScreen_SizeX rd 1 |
WorkScreen_SizeY rd 1 |
MaxWorkScreen_SizeX rd 1 |
MaxWorkScreen_SizeY rd 1 |
k rd 1 |
|
ReserveArray rd 1 |
register rd 1 |
CounterX rd 1 |
CounterY rd 1 |
OffsetYPicture rd 1 |
OffsetYWorkScreen rd 1 |
OffsetYBigPixel rd 1 |
|
Icon_X rd 1 |
Icon_Y rd 1 |
counter rd 1 |
counter2 rd 1 |
Icon_text_x rd 1 |
Icon_text_y rd 1 |
Panel_flag rb 1 |
counter_menu rd 1 |
menu_coordinat_x rd 1 |
menu_size_x rd 1 |
menu_counter rd 1 |
counter_11 rd 1 |
number_panel rd 1 |
number_menu rd 1 |
|
Scroll1CoordinatX rd 1 |
Scroll1CoordinatY rd 1 |
Scroll1MaxSizeX rd 1 |
Scroll1MaxSizeY rd 1 |
Scroll1SizeX rd 1 |
Scroll1FreeX rd 1 |
|
Scroll2CoordinatX rd 1 |
Scroll2CoordinatY rd 1 |
Scroll2MaxSizeX rd 1 |
Scroll2MaxSizeY rd 1 |
Scroll2SizeY rd 1 |
Scroll2FreeY rd 1 |
|
;extended_memory rd 1 |
type rw 1 |
x rd 1 |
y rd 1 |
save_flag rb 1 |
exit_from_work_arrea rb 1 |
|
Radius rd 1 |
Dx_ rd 1 |
Dy_ rd 1 |
line_width rd 1 |
lastik_is_active rb 1 |
a_ellips rd 1 |
b_ellips rd 1 |
instrument_used rb 1 |
used_OldX rd 1 |
used_OldY rd 1 |
rectangular_shade_x rd 1 |
rectangular_shade_y rd 1 |
crossing_old_x rd 1 |
crossing_old_y rd 1 |
crossing rd 1 |
finishing_crossing rd 1 |
number_undo rd 1 |
DrawSprite_flag rb 1 |
Paste_flag rb 1 |
SpriteSizeX rd 1 |
SpriteSizeY rd 1 |
SpriteCoordinatX rd 1 |
SpriteCoordinatY rd 1 |
SpriteOldCoordinatX rd 1 |
SpriteOldCoordinatY rd 1 |
;--------------------------------------------------------------------- |
IncludeUGlobals |
;--------------------------------------------------------------------- |
align 4 |
CursorsID rd 10 |
;--------------------------------------------------------------------- |
;align 4 |
;parameters |
; rb 257 |
;--------------------------------------------------------------------- |
align 4 |
file_path: |
rb 4096 ;rb 1024+16 |
;--------------------------------------------------------------------- |
align 4 |
filename_area: |
rb 256 |
;--------------------------------------------------------------------- |
align 4 |
temp_dir_pach: |
rb 4096 |
;--------------------------------------------------------------------- |
align 4 |
library_path: |
rb 4096 |
;--------------------------------------------------------------------- |
align 4 |
cur_dir_path: |
rb 4096 |
;--------------------------------------------------------------------- |
align 4 |
procinfo: |
rb 1024 |
;--------------------------------------------------------------------- |
align 4 |
IPC_table rd 256 |
;--------------------------------------------------------------------- |
align 4 |
rb 4096 |
stacktop: |
;--------------------------------------------------------------------- |
I_END: |