Compare commits
1 Commits
info3ds-up
...
webview-3.
Author | SHA1 | Date | |
---|---|---|---|
54a8e96984 |
@@ -152,6 +152,9 @@ extra_files = {
|
|||||||
{"HD_Load/USB_boot_old/", SRC_PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
|
{"HD_Load/USB_boot_old/", SRC_PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"},
|
||||||
{"HD_Load/USB_boot_old/", SRC_PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
|
{"HD_Load/USB_boot_old/", SRC_PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"},
|
||||||
{"kolibrios/3D/info3ds/INFO3DS.INI", SRC_PROGS .. "/develop/info3ds/info3ds.ini"},
|
{"kolibrios/3D/info3ds/INFO3DS.INI", SRC_PROGS .. "/develop/info3ds/info3ds.ini"},
|
||||||
|
{"kolibrios/3D/info3ds/OBJECTS.PNG", SRC_PROGS .. "/develop/info3ds/objects.png"},
|
||||||
|
{"kolibrios/3D/info3ds/TOOLBAR.PNG", SRC_PROGS .. "/develop/info3ds/toolbar.png"},
|
||||||
|
{"kolibrios/3D/info3ds/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
|
||||||
{"kolibrios/3D/blocks/blocks.kex", "../programs/bcc32/games/blocks/bin/blocks.kex"},
|
{"kolibrios/3D/blocks/blocks.kex", "../programs/bcc32/games/blocks/bin/blocks.kex"},
|
||||||
{"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/*"},
|
||||||
@@ -425,7 +428,7 @@ tup.append_table(img_files, {
|
|||||||
{"KPACK", VAR_PROGS .. "/other/kpack/trunk/kpack"},
|
{"KPACK", VAR_PROGS .. "/other/kpack/trunk/kpack"},
|
||||||
{"LAUNCHER", VAR_PROGS .. "/system/launcher/trunk/launcher"},
|
{"LAUNCHER", VAR_PROGS .. "/system/launcher/trunk/launcher"},
|
||||||
{"LOADDRV", VAR_PROGS .. "/system/loaddrv/loaddrv"},
|
{"LOADDRV", VAR_PROGS .. "/system/loaddrv/loaddrv"},
|
||||||
{"MAGNIFY", VAR_PROGS .. "/system/magnify/magnify"},
|
{"MAGNIFY", VAR_PROGS .. "/demos/magnify/trunk/magnify"},
|
||||||
{"MGB", VAR_PROGS .. "/testing/mgb/trunk/mgb"},
|
{"MGB", VAR_PROGS .. "/testing/mgb/trunk/mgb"},
|
||||||
{"MOUSEMUL", VAR_PROGS .. "/system/mousemul/trunk/mousemul"},
|
{"MOUSEMUL", VAR_PROGS .. "/system/mousemul/trunk/mousemul"},
|
||||||
{"MADMOUSE", VAR_PROGS .. "/other/madmouse/madmouse"},
|
{"MADMOUSE", VAR_PROGS .. "/other/madmouse/madmouse"},
|
||||||
|
7
programs/demos/magnify/trunk/Tupfile.lua
Normal file
7
programs/demos/magnify/trunk/Tupfile.lua
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
|
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
||||||
|
tup.include(HELPERDIR .. "/use_fasm.lua")
|
||||||
|
add_include(tup.getvariantdir())
|
||||||
|
|
||||||
|
tup.rule("echo lang fix " .. ((tup.getconfig("LANG") == "") and "en_US" or tup.getconfig("LANG")) .. " > %o", {"lang.inc"})
|
||||||
|
tup.rule({"magnify.asm", extra_inputs = {"lang.inc"}}, FASM .. " %f %o " .. tup.getconfig("KPACK_CMD"), "magnify")
|
6
programs/demos/magnify/trunk/build_en.bat
Normal file
6
programs/demos/magnify/trunk/build_en.bat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@erase lang.inc
|
||||||
|
@echo lang fix en_US >lang.inc
|
||||||
|
@fasm magnify.asm magnify
|
||||||
|
@kpack magnify
|
||||||
|
@erase lang.inc
|
||||||
|
@pause
|
6
programs/demos/magnify/trunk/build_ru.bat
Normal file
6
programs/demos/magnify/trunk/build_ru.bat
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@erase lang.inc
|
||||||
|
@echo lang fix ru_RU >lang.inc
|
||||||
|
@fasm magnify.asm magnify
|
||||||
|
@kpack magnify
|
||||||
|
@erase lang.inc
|
||||||
|
@pause
|
156
programs/demos/magnify/trunk/magnify.asm
Normal file
156
programs/demos/magnify/trunk/magnify.asm
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
;---------------------------------------------------------------------
|
||||||
|
; MAGNIFY SCREEN v1.0
|
||||||
|
;
|
||||||
|
; Version for KolibriOS 2005-2011
|
||||||
|
;
|
||||||
|
; Version for Menuet to 2005
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
; last update: 08/18/2011
|
||||||
|
; changed by: Marat Zakiyanov aka Mario79, aka Mario
|
||||||
|
; changes: Checking for "rolled up" window
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
use32
|
||||||
|
org 0x0
|
||||||
|
db 'MENUET01' ; 8 byte id
|
||||||
|
dd 1 ; header version
|
||||||
|
dd START ; program start
|
||||||
|
dd I_END ; program image size
|
||||||
|
dd 0x1000 ; required amount of memory
|
||||||
|
dd 0x1000 ; esp
|
||||||
|
dd 0, 0 ; no parameters, no path
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||||
|
include '..\..\..\macros.inc'
|
||||||
|
delay equ 20
|
||||||
|
|
||||||
|
magnify_width = 40
|
||||||
|
magnify_height = 30
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
START: ; start of execution
|
||||||
|
redraw:
|
||||||
|
call draw_window
|
||||||
|
still:
|
||||||
|
call draw_magnify
|
||||||
|
wtevent:
|
||||||
|
mcall 23,delay ; wait here for event with timeout
|
||||||
|
dec eax
|
||||||
|
js still
|
||||||
|
jz redraw
|
||||||
|
dec eax
|
||||||
|
jnz button
|
||||||
|
; key in buffer
|
||||||
|
mov al, 2
|
||||||
|
mcall
|
||||||
|
jmp wtevent
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
button:
|
||||||
|
; we have only one button, close
|
||||||
|
or eax, -1
|
||||||
|
mcall
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
; ******* WINDOW DEFINITIONS AND DRAW ********
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
draw_window:
|
||||||
|
mcall 12,1
|
||||||
|
|
||||||
|
mov al, 48 ; function 48 : graphics parameters
|
||||||
|
mov bl, 4 ; subfunction 4 : get skin height
|
||||||
|
mcall
|
||||||
|
; DRAW WINDOW
|
||||||
|
mov ebx, 100*65536 + 8*magnify_width + 8
|
||||||
|
lea ecx, [eax + 100*65536 + 8*magnify_height + 3]
|
||||||
|
mov edx, 0x34000000 ; color of work area RRGGBB
|
||||||
|
mov edi, labelt ; header
|
||||||
|
xor eax, eax ; function 0 : define and draw window
|
||||||
|
mcall
|
||||||
|
|
||||||
|
mcall 12,2
|
||||||
|
ret
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
draw_magnify:
|
||||||
|
mcall 9,procinfo,-1
|
||||||
|
mov eax,[procinfo+70] ;status of window
|
||||||
|
test eax,100b
|
||||||
|
jne .end
|
||||||
|
|
||||||
|
mcall 14 ; get screen size
|
||||||
|
movzx ecx, ax
|
||||||
|
inc ecx
|
||||||
|
mov [size_y], ecx
|
||||||
|
shr eax, 16
|
||||||
|
inc eax
|
||||||
|
mov [size_x], eax
|
||||||
|
|
||||||
|
xor ebx, ebx
|
||||||
|
mcall 37 ; get mouse coordinates
|
||||||
|
mov ecx, eax
|
||||||
|
shr ecx, 16 ; ecx = x
|
||||||
|
movzx edx, ax ; edx = y
|
||||||
|
inc ecx
|
||||||
|
mov [m_xe], ecx
|
||||||
|
inc edx
|
||||||
|
mov [m_ye], edx
|
||||||
|
sub ecx, magnify_width
|
||||||
|
sub edx, magnify_height
|
||||||
|
mov [m_x], ecx
|
||||||
|
mov [m_y], edx
|
||||||
|
.loop_y:
|
||||||
|
.loop_x:
|
||||||
|
xor eax, eax ; assume black color for invalid pixels
|
||||||
|
test ecx, ecx
|
||||||
|
js .nopix
|
||||||
|
cmp ecx, [size_x]
|
||||||
|
jge .nopix
|
||||||
|
test edx, edx
|
||||||
|
js .nopix
|
||||||
|
cmp edx, [size_y]
|
||||||
|
jge .nopix
|
||||||
|
mov ebx, edx
|
||||||
|
imul ebx, [size_x]
|
||||||
|
add ebx, ecx
|
||||||
|
mcall 35 ; read pixel
|
||||||
|
.nopix:
|
||||||
|
push ecx edx
|
||||||
|
sub ecx, [m_x]
|
||||||
|
sub edx, [m_y]
|
||||||
|
mov ebx, ecx
|
||||||
|
shl ebx, 3+16
|
||||||
|
mov bl, 8
|
||||||
|
mov ecx, edx
|
||||||
|
shl ecx, 3+16
|
||||||
|
mov cl, 8
|
||||||
|
mov edx, eax
|
||||||
|
mcall 13
|
||||||
|
pop edx ecx
|
||||||
|
inc ecx
|
||||||
|
cmp ecx, [m_xe]
|
||||||
|
jnz .loop_x
|
||||||
|
mov ecx, [m_x]
|
||||||
|
inc edx
|
||||||
|
cmp edx, [m_ye]
|
||||||
|
jnz .loop_y
|
||||||
|
.end:
|
||||||
|
ret
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
; DATA AREA
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
if lang eq ru_RU
|
||||||
|
labelt:
|
||||||
|
db 'Magnifier - <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20>㯠', 0
|
||||||
|
else ; Default to en_US
|
||||||
|
labelt:
|
||||||
|
db 'Magnifier', 0
|
||||||
|
end if
|
||||||
|
|
||||||
|
I_END:
|
||||||
|
align 4
|
||||||
|
m_x dd ?
|
||||||
|
m_y dd ?
|
||||||
|
m_xe dd ?
|
||||||
|
m_ye dd ?
|
||||||
|
size_x dd ?
|
||||||
|
size_y dd ?
|
||||||
|
;---------------------------------------------------------------------
|
||||||
|
procinfo:
|
||||||
|
rb 1024
|
||||||
|
;---------------------------------------------------------------------
|
@@ -2,6 +2,9 @@ if not exist bin mkdir bin
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix en_US >lang.inc
|
@echo lang fix en_US >lang.inc
|
||||||
@copy objects.png bin\objects.png
|
@copy objects.png bin\objects.png
|
||||||
|
if not exist bin\info3ds.ini @copy info3ds.ini bin\info3ds.ini
|
||||||
|
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
|
||||||
|
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||||
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
|
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
|
||||||
@kpack bin\info3ds.kex
|
@kpack bin\info3ds.kex
|
||||||
@fasm.exe -m 16384 info3ds_u.asm bin\info3ds_u.kex
|
@fasm.exe -m 16384 info3ds_u.asm bin\info3ds_u.kex
|
||||||
|
@@ -2,6 +2,9 @@ if not exist bin mkdir bin
|
|||||||
@erase lang.inc
|
@erase lang.inc
|
||||||
@echo lang fix ru_RU >lang.inc
|
@echo lang fix ru_RU >lang.inc
|
||||||
@copy objects.png bin\objects.png
|
@copy objects.png bin\objects.png
|
||||||
|
if not exist bin\info3ds.ini @copy info3ds.ini bin\info3ds.ini
|
||||||
|
if not exist bin\toolbar.png @copy toolbar.png bin\toolbar.png
|
||||||
|
if not exist bin\font8x9.bmp @copy ..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp
|
||||||
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
|
@fasm.exe -m 16384 info3ds.asm bin\info3ds.kex
|
||||||
@kpack bin\info3ds.kex
|
@kpack bin\info3ds.kex
|
||||||
@fasm.exe -m 16384 info3ds_u.asm bin\info3ds_u.kex
|
@fasm.exe -m 16384 info3ds_u.asm bin\info3ds_u.kex
|
||||||
|
@@ -1,10 +1,6 @@
|
|||||||
; SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
; Info3ds - is a program for viewing the structure of *.3ds files
|
|
||||||
; Copyright (C) 2011-2025 KolibriOS team
|
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0
|
org 0
|
||||||
db 'MENUET01'
|
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
|
dd 1, start, i_end, mem, stacktop, file_name, sys_path
|
||||||
|
|
||||||
version_edit equ 1
|
version_edit equ 1
|
||||||
@@ -26,34 +22,36 @@ include 'convert_stl_3ds.inc'
|
|||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
|
|
||||||
ID_ICON_CHUNK_MAIN equ 0 ;main block icon
|
ID_ICON_CHUNK_MAIN equ 0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ID_ICON_CHUNK_NOT_FOUND equ 1 ;unknown block icon
|
ID_ICON_CHUNK_NOT_FOUND equ 1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⭮<EFBFBD><E2ADAE> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ID_ICON_DATA equ 2 ;icon for block data, undefined structure
|
ID_ICON_DATA equ 2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ID_ICON_POINT equ 8
|
ID_ICON_POINT equ 8
|
||||||
ID_ICON_POINT_SEL equ 9
|
ID_ICON_POINT_SEL equ 9
|
||||||
|
|
||||||
FILE_ERROR_CHUNK_SIZE equ -3 ;block size error
|
FILE_ERROR_CHUNK_SIZE equ -3 ;<EFBFBD>訡<EFBFBD><EFBFBD> <20> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
include 'info_o3d.inc'
|
include 'info_o3d.inc'
|
||||||
|
|
||||||
main_wnd_height equ 460 ;height of the main program window
|
main_wnd_height equ 460 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
fl255 dd 255.0
|
fl255 dd 255.0
|
||||||
open_file_data dd 0 ;pointer to memory for opening 3ds files
|
open_file_data dd 0 ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9><EFBFBD> 3ds
|
||||||
open_file_size dd 0
|
open_file_size dd 0 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⮣<EFBFBD> 䠩<><E4A0A9>
|
||||||
image_data_toolbar dd 0
|
image_data_toolbar dd 0
|
||||||
icon_tl_sys dd 0 ;pointer to memory for storing system icons
|
icon_tl_sys dd 0 ;㪠<EFBFBD><EFBFBD>⥥<EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
icon_toolbar dd 0 ;pointer to memory for storing object icons
|
icon_toolbar dd 0 ;㪠<EFBFBD><EFBFBD>⥥<EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ꥪ⮢
|
||||||
|
fn_toolbar db 'toolbar.png',0
|
||||||
level_stack dd 0
|
|
||||||
offs_last_timer dd 0 ;last shift shown in timer function
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
file_3ds: ;variables used when opening a file
|
level_stack dd 0
|
||||||
.offs: dd 0 ;+0 pointer to the beginning of the block
|
offs_last_timer dd 0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᤢ<><E1A4A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㭪樨 ⠩<><E2A0A9><EFBFBD><EFBFBD>
|
||||||
.size: dd 0 ;+4 block size (for 1st parameter = 3ds file size)
|
|
||||||
|
align 4
|
||||||
|
file_3ds: ;<3B><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20>ᯮ<EFBFBD><E1AFAE><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⨨ 䠩<><E4A0A9>
|
||||||
|
.offs: dd 0 ;+0 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><>砫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
.size: dd 0 ;+4 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD> 1-<2D><> <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> = ࠧ<><E0A0A7><EFBFBD> 䠩<><E4A0A9> 3ds)
|
||||||
rb 8*MAX_FILE_LEVEL
|
rb 8*MAX_FILE_LEVEL
|
||||||
|
|
||||||
size_one_list equ 42
|
size_one_list equ 42
|
||||||
@@ -83,7 +81,7 @@ start:
|
|||||||
stosd
|
stosd
|
||||||
|
|
||||||
load_libraries l_libs_start,l_libs_end
|
load_libraries l_libs_start,l_libs_end
|
||||||
;checking how successfully the libraries were loaded
|
;<EFBFBD><EFBFBD>ઠ <20><> <>쪮 㤠筮 <20><><EFBFBD>㧨<EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>
|
||||||
mov ebp,lib_0
|
mov ebp,lib_0
|
||||||
.test_lib_open:
|
.test_lib_open:
|
||||||
cmp dword [ebp+ll_struc_size-4],0
|
cmp dword [ebp+ll_struc_size-4],0
|
||||||
@@ -96,7 +94,7 @@ start:
|
|||||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
|
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
|
||||||
mcall SF_SET_EVENTS_MASK,0xC0000027
|
mcall SF_SET_EVENTS_MASK,0xC0000027
|
||||||
|
|
||||||
stdcall [OpenDialog_Init],OpenDialog_data ;preparation of dialogue
|
stdcall [OpenDialog_Init],OpenDialog_data ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
;kmenu initialisation
|
;kmenu initialisation
|
||||||
stdcall [kmenu_init],sc
|
stdcall [kmenu_init],sc
|
||||||
@@ -145,68 +143,70 @@ start:
|
|||||||
stdcall [tl_data_init], tree1
|
stdcall [tl_data_init], tree1
|
||||||
;<3B><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16*16 <20><><EFBFBD> tree_list
|
;<3B><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16*16 <20><><EFBFBD> tree_list
|
||||||
include_image_file 'tl_sys_16.png', icon_tl_sys
|
include_image_file 'tl_sys_16.png', icon_tl_sys
|
||||||
mov eax,[icon_tl_sys]
|
;<3B> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>뫮<EFBFBD><EBABAE>, <20><> <20> icon_tl_sys <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mov [tree1.data_img_sys],eax
|
;<3B><> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20>訡<EFBFBD><E8A8A1> <20><> <20>㤥<EFBFBD>, <20>. <20>. <20><><EFBFBD><EFBFBD><EFBFBD> <20>㦭<EFBFBD><E3A6AD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD>
|
||||||
|
mov eax,dword[icon_tl_sys]
|
||||||
|
mov dword[tree1.data_img_sys],eax
|
||||||
|
|
||||||
include_image_file 'objects.png', icon_toolbar
|
load_image_file 'objects.png', icon_toolbar
|
||||||
mov eax,[icon_toolbar]
|
mov eax,dword[icon_toolbar]
|
||||||
mov [tree1.data_img],eax
|
mov dword[tree1.data_img],eax
|
||||||
|
|
||||||
stdcall [buf2d_create], buf_0 ;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
stdcall [buf2d_create], buf_0 ;ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
include_image_file '../../fs/kfar/trunk/font8x9.bmp', image_data_toolbar
|
load_image_file 'font8x9.bmp', image_data_toolbar
|
||||||
stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
stdcall [buf2d_conv_24_to_8], buf_1,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA7>筮<EFBFBD><E7ADAE><EFBFBD> 8 <20><><EFBFBD>
|
stdcall [buf2d_conv_24_to_8], buf_1,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA7>筮<EFBFBD><E7ADAE><EFBFBD> 8 <20><><EFBFBD>
|
||||||
stdcall [buf2d_convert_text_matrix], buf_1
|
stdcall [buf2d_convert_text_matrix], buf_1
|
||||||
|
|
||||||
include_image_file 'toolbar.png', image_data_toolbar
|
load_image_file fn_toolbar, image_data_toolbar
|
||||||
|
|
||||||
;ࠡ<><E0A0A1><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
;ࠡ<><E0A0A1><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
copy_path ini_name,sys_path,file_name,0
|
copy_path ini_name,sys_path,file_name,0
|
||||||
mov dword[def_dr_mode],0
|
mov dword[def_dr_mode],0
|
||||||
stdcall [ini_get_int],file_name,ini_sec_w3d,key_dv,1
|
stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_dv,1
|
||||||
or eax,eax
|
or eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
or dword[def_dr_mode], 1 shl bit_vertexes
|
or dword[def_dr_mode], 1 shl bit_vertexes
|
||||||
@@:
|
@@:
|
||||||
stdcall [ini_get_int],file_name,ini_sec_w3d,key_df,1
|
stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_df,1
|
||||||
or eax,eax
|
or eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
or dword[def_dr_mode], 1 shl bit_faces
|
or dword[def_dr_mode], 1 shl bit_faces
|
||||||
@@:
|
@@:
|
||||||
stdcall [ini_get_int],file_name,ini_sec_w3d,key_dff,1
|
stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_dff,1
|
||||||
or eax,eax
|
or eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
or dword[def_dr_mode], 1 shl bit_faces_fill
|
or dword[def_dr_mode], 1 shl bit_faces_fill
|
||||||
@@:
|
@@:
|
||||||
stdcall [ini_get_int],file_name,ini_sec_w3d,key_dl,1
|
stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_dl,1
|
||||||
or eax,eax
|
or eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
or dword[def_dr_mode], 1 shl bit_light
|
or dword[def_dr_mode], 1 shl bit_light
|
||||||
@@:
|
@@:
|
||||||
stdcall [ini_get_int],file_name,ini_sec_w3d,key_ds,1
|
stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_ds,1
|
||||||
or eax,eax
|
or eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
or dword[def_dr_mode], 1 shl bit_smooth
|
or dword[def_dr_mode], 1 shl bit_smooth
|
||||||
@@:
|
@@:
|
||||||
stdcall [ini_get_color],file_name,ini_sec_w3d,key_ox,0x0000ff
|
stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_ox,0x0000ff
|
||||||
mov [color_ox],eax
|
mov [color_ox],eax
|
||||||
stdcall [ini_get_color],file_name,ini_sec_w3d,key_oy,0xff0000
|
stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_oy,0xff0000
|
||||||
mov [color_oy],eax
|
mov [color_oy],eax
|
||||||
stdcall [ini_get_color],file_name,ini_sec_w3d,key_oz,0x00ff00
|
stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_oz,0x00ff00
|
||||||
mov [color_oz],eax
|
mov [color_oz],eax
|
||||||
stdcall [ini_get_color],file_name,ini_sec_w3d,key_bk,0x000000
|
stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_bk,0x000000
|
||||||
mov [color_bk],eax
|
mov [color_bk],eax
|
||||||
shr eax,8
|
shr eax,8
|
||||||
mov [color_bk+4],eax
|
mov [color_bk+4],eax
|
||||||
shr eax,8
|
shr eax,8
|
||||||
mov [color_bk+8],eax
|
mov [color_bk+8],eax
|
||||||
stdcall [ini_get_color],file_name,ini_sec_w3d,key_vert,0xffffff
|
stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_vert,0xffffff
|
||||||
mov [color_vert],eax
|
mov [color_vert],eax
|
||||||
stdcall [ini_get_color],file_name,ini_sec_w3d,key_face,0x808080
|
stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_face,0x808080
|
||||||
mov [color_face],eax
|
mov [color_face],eax
|
||||||
stdcall [ini_get_color],file_name,ini_sec_w3d,key_select,0xffff00
|
stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_select,0xffff00
|
||||||
mov [color_select],eax
|
mov [color_select],eax
|
||||||
finit
|
finit
|
||||||
fild dword[color_bk+8]
|
fild dword[color_bk+8]
|
||||||
@@ -262,19 +262,19 @@ still:
|
|||||||
or eax,eax
|
or eax,eax
|
||||||
jz timer_funct
|
jz timer_funct
|
||||||
|
|
||||||
cmp al,EV_REDRAW
|
cmp al,1
|
||||||
jne @f
|
jne @f
|
||||||
call draw_window
|
call draw_window
|
||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
cmp al,EV_KEY
|
cmp al,2
|
||||||
jz key
|
jz key
|
||||||
cmp al,EV_BUTTON
|
cmp al,3
|
||||||
jz button
|
jz button
|
||||||
cmp al,EV_MOUSE
|
cmp al,6
|
||||||
jne @f
|
jne @f
|
||||||
mcall SF_THREAD_INFO,procinfo,-1
|
mcall SF_THREAD_INFO,procinfo,-1
|
||||||
cmp ax,word[procinfo.window_stack_position]
|
cmp ax,word[procinfo+4]
|
||||||
jne @f ;<3B><><EFBFBD><EFBFBD> <20><> <20><>⨢<EFBFBD><E2A8A2>
|
jne @f ;<3B><><EFBFBD><EFBFBD> <20><> <20><>⨢<EFBFBD><E2A8A2>
|
||||||
call mouse
|
call mouse
|
||||||
@@:
|
@@:
|
||||||
@@ -282,7 +282,7 @@ still:
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
mouse:
|
mouse:
|
||||||
stdcall [tl_mouse], tree1
|
stdcall [tl_mouse], dword tree1
|
||||||
ret
|
ret
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@@ -385,7 +385,7 @@ pushad
|
|||||||
mcall , (20 shl 16)+560, (20 shl 16)+main_wnd_height
|
mcall , (20 shl 16)+560, (20 shl 16)+main_wnd_height
|
||||||
|
|
||||||
mcall SF_THREAD_INFO,procinfo,-1
|
mcall SF_THREAD_INFO,procinfo,-1
|
||||||
mov eax,[procinfo.box.height]
|
mov eax,dword[procinfo.box.height]
|
||||||
cmp eax,250
|
cmp eax,250
|
||||||
jge @f
|
jge @f
|
||||||
mov eax,250
|
mov eax,250
|
||||||
@@ -399,7 +399,7 @@ pushad
|
|||||||
mov dword[offs_last_timer],0 ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ⠩<><E2A0A9><EFBFBD><EFBFBD>
|
mov dword[offs_last_timer],0 ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ⠩<><E2A0A9><EFBFBD><EFBFBD>
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
mov eax,[procinfo.box.width]
|
mov eax,dword[procinfo.box.width]
|
||||||
cmp eax,400
|
cmp eax,400
|
||||||
jge @f
|
jge @f
|
||||||
mov eax,400
|
mov eax,400
|
||||||
@@ -457,7 +457,7 @@ popad
|
|||||||
align 4
|
align 4
|
||||||
key:
|
key:
|
||||||
mcall SF_GET_KEY
|
mcall SF_GET_KEY
|
||||||
stdcall [tl_key], tree1
|
stdcall [tl_key], dword tree1
|
||||||
jmp still
|
jmp still
|
||||||
|
|
||||||
|
|
||||||
@@ -1087,6 +1087,53 @@ l_libs_start:
|
|||||||
lib_6 l_libs lib_name_6, file_name, system_dir_6, import_libini
|
lib_6 l_libs lib_name_6, file_name, system_dir_6, import_libini
|
||||||
l_libs_end:
|
l_libs_end:
|
||||||
|
|
||||||
|
align 4
|
||||||
|
import_libimg:
|
||||||
|
dd alib_init1
|
||||||
|
img_is_img dd aimg_is_img
|
||||||
|
img_info dd aimg_info
|
||||||
|
img_from_file dd aimg_from_file
|
||||||
|
img_to_file dd aimg_to_file
|
||||||
|
img_from_rgb dd aimg_from_rgb
|
||||||
|
img_to_rgb dd aimg_to_rgb
|
||||||
|
img_to_rgb2 dd aimg_to_rgb2
|
||||||
|
img_decode dd aimg_decode
|
||||||
|
img_encode dd aimg_encode
|
||||||
|
img_create dd aimg_create
|
||||||
|
img_destroy dd aimg_destroy
|
||||||
|
img_destroy_layer dd aimg_destroy_layer
|
||||||
|
img_count dd aimg_count
|
||||||
|
img_lock_bits dd aimg_lock_bits
|
||||||
|
img_unlock_bits dd aimg_unlock_bits
|
||||||
|
img_flip dd aimg_flip
|
||||||
|
img_flip_layer dd aimg_flip_layer
|
||||||
|
img_rotate dd aimg_rotate
|
||||||
|
img_rotate_layer dd aimg_rotate_layer
|
||||||
|
img_draw dd aimg_draw
|
||||||
|
|
||||||
|
dd 0,0
|
||||||
|
alib_init1 db 'lib_init',0
|
||||||
|
aimg_is_img db 'img_is_img',0 ;<3B><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||||
|
aimg_info db 'img_info',0
|
||||||
|
aimg_from_file db 'img_from_file',0
|
||||||
|
aimg_to_file db 'img_to_file',0
|
||||||
|
aimg_from_rgb db 'img_from_rgb',0
|
||||||
|
aimg_to_rgb db 'img_to_rgb',0 ;<3B>८<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RGB
|
||||||
|
aimg_to_rgb2 db 'img_to_rgb2',0
|
||||||
|
aimg_decode db 'img_decode',0 ;<3B><>⮬<EFBFBD><E2AEAC><EFBFBD><EFBFBD><EFBFBD>᪨ <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><>ଠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪨<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
aimg_encode db 'img_encode',0
|
||||||
|
aimg_create db 'img_create',0
|
||||||
|
aimg_destroy db 'img_destroy',0
|
||||||
|
aimg_destroy_layer db 'img_destroy_layer',0
|
||||||
|
aimg_count db 'img_count',0
|
||||||
|
aimg_lock_bits db 'img_lock_bits',0
|
||||||
|
aimg_unlock_bits db 'img_unlock_bits',0
|
||||||
|
aimg_flip db 'img_flip',0
|
||||||
|
aimg_flip_layer db 'img_flip_layer',0
|
||||||
|
aimg_rotate db 'img_rotate',0
|
||||||
|
aimg_rotate_layer db 'img_rotate_layer',0
|
||||||
|
aimg_draw db 'img_draw',0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_proclib:
|
import_proclib:
|
||||||
OpenDialog_Init dd aOpenDialog_Init
|
OpenDialog_Init dd aOpenDialog_Init
|
||||||
@@ -1099,9 +1146,122 @@ dd 0,0
|
|||||||
aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0
|
aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0
|
||||||
aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0
|
aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0
|
||||||
|
|
||||||
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
align 4
|
||||||
include '../../develop/libraries/box_lib/import.inc'
|
import_buf2d:
|
||||||
include '../../develop/libraries/buf2d/import.inc'
|
dd sz_init0
|
||||||
|
buf2d_create dd sz_buf2d_create
|
||||||
|
buf2d_create_f_img dd sz_buf2d_create_f_img
|
||||||
|
buf2d_clear dd sz_buf2d_clear
|
||||||
|
buf2d_draw dd sz_buf2d_draw
|
||||||
|
buf2d_delete dd sz_buf2d_delete
|
||||||
|
buf2d_resize dd sz_buf2d_resize
|
||||||
|
buf2d_line dd sz_buf2d_line
|
||||||
|
buf2d_rect_by_size dd sz_buf2d_rect_by_size
|
||||||
|
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
|
||||||
|
buf2d_circle dd sz_buf2d_circle
|
||||||
|
buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
|
||||||
|
buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
|
||||||
|
buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
|
||||||
|
buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
|
||||||
|
buf2d_bit_blt dd sz_buf2d_bit_blt
|
||||||
|
buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
|
||||||
|
buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
|
||||||
|
buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
|
||||||
|
buf2d_draw_text dd sz_buf2d_draw_text
|
||||||
|
buf2d_crop_color dd sz_buf2d_crop_color
|
||||||
|
buf2d_offset_h dd sz_buf2d_offset_h
|
||||||
|
buf2d_set_pixel dd sz_buf2d_set_pixel
|
||||||
|
dd 0,0
|
||||||
|
sz_init0 db 'lib_init',0
|
||||||
|
sz_buf2d_create db 'buf2d_create',0
|
||||||
|
sz_buf2d_create_f_img db 'buf2d_create_f_img',0
|
||||||
|
sz_buf2d_clear db 'buf2d_clear',0
|
||||||
|
sz_buf2d_draw db 'buf2d_draw',0
|
||||||
|
sz_buf2d_delete db 'buf2d_delete',0
|
||||||
|
sz_buf2d_resize db 'buf2d_resize',0
|
||||||
|
sz_buf2d_line db 'buf2d_line',0
|
||||||
|
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
|
||||||
|
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
|
||||||
|
sz_buf2d_circle db 'buf2d_circle',0
|
||||||
|
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
|
||||||
|
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
|
||||||
|
sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
|
||||||
|
sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
|
||||||
|
sz_buf2d_bit_blt db 'buf2d_bit_blt',0
|
||||||
|
sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
|
||||||
|
sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
|
||||||
|
sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
|
||||||
|
sz_buf2d_draw_text db 'buf2d_draw_text',0
|
||||||
|
sz_buf2d_crop_color db 'buf2d_crop_color',0
|
||||||
|
sz_buf2d_offset_h db 'buf2d_offset_h',0
|
||||||
|
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
||||||
|
|
||||||
|
align 4
|
||||||
|
import_box_lib:
|
||||||
|
dd sz_init1
|
||||||
|
edit_box_draw dd sz_edit_box_draw
|
||||||
|
edit_box_key dd sz_edit_box_key
|
||||||
|
edit_box_mouse dd sz_edit_box_mouse
|
||||||
|
edit_box_set_text dd sz_edit_box_set_text
|
||||||
|
scrollbar_ver_draw dd sz_scrollbar_ver_draw
|
||||||
|
scrollbar_hor_draw dd sz_scrollbar_hor_draw
|
||||||
|
|
||||||
|
tl_data_init dd sz_tl_data_init
|
||||||
|
tl_data_clear dd sz_tl_data_clear
|
||||||
|
tl_info_clear dd sz_tl_info_clear
|
||||||
|
tl_key dd sz_tl_key
|
||||||
|
tl_mouse dd sz_tl_mouse
|
||||||
|
tl_draw dd sz_tl_draw
|
||||||
|
tl_info_undo dd sz_tl_info_undo
|
||||||
|
tl_info_redo dd sz_tl_info_redo
|
||||||
|
tl_node_add dd sz_tl_node_add
|
||||||
|
tl_node_set_data dd sz_tl_node_set_data
|
||||||
|
tl_node_get_data dd sz_tl_node_get_data
|
||||||
|
tl_node_delete dd sz_tl_node_delete
|
||||||
|
tl_node_move_up dd sz_tl_node_move_up
|
||||||
|
tl_node_move_down dd sz_tl_node_move_down
|
||||||
|
tl_cur_beg dd sz_tl_cur_beg
|
||||||
|
tl_cur_next dd sz_tl_cur_next
|
||||||
|
tl_cur_perv dd sz_tl_cur_perv
|
||||||
|
tl_node_close_open dd sz_tl_node_close_open
|
||||||
|
tl_node_lev_inc dd sz_tl_node_lev_inc
|
||||||
|
tl_node_lev_dec dd sz_tl_node_lev_dec
|
||||||
|
tl_node_poi_get_info dd sz_tl_node_poi_get_info
|
||||||
|
tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info
|
||||||
|
tl_node_poi_get_data dd sz_tl_node_poi_get_data
|
||||||
|
|
||||||
|
dd 0,0
|
||||||
|
sz_init1 db 'lib_init',0
|
||||||
|
sz_edit_box_draw db 'edit_box_draw',0
|
||||||
|
sz_edit_box_key db 'edit_box_key',0
|
||||||
|
sz_edit_box_mouse db 'edit_box_mouse',0
|
||||||
|
sz_edit_box_set_text db 'edit_box_set_text',0
|
||||||
|
sz_scrollbar_ver_draw db 'scrollbar_v_draw',0
|
||||||
|
sz_scrollbar_hor_draw db 'scrollbar_h_draw',0
|
||||||
|
|
||||||
|
sz_tl_data_init db 'tl_data_init',0
|
||||||
|
sz_tl_data_clear db 'tl_data_clear',0
|
||||||
|
sz_tl_info_clear db 'tl_info_clear',0
|
||||||
|
sz_tl_key db 'tl_key',0
|
||||||
|
sz_tl_mouse db 'tl_mouse',0
|
||||||
|
sz_tl_draw db 'tl_draw',0
|
||||||
|
sz_tl_info_undo db 'tl_info_undo',0
|
||||||
|
sz_tl_info_redo db 'tl_info_redo',0
|
||||||
|
sz_tl_node_add db 'tl_node_add',0
|
||||||
|
sz_tl_node_set_data db 'tl_node_set_data',0
|
||||||
|
sz_tl_node_get_data db 'tl_node_get_data',0
|
||||||
|
sz_tl_node_delete db 'tl_node_delete',0
|
||||||
|
sz_tl_node_move_up db 'tl_node_move_up',0
|
||||||
|
sz_tl_node_move_down db 'tl_node_move_down',0
|
||||||
|
sz_tl_cur_beg db 'tl_cur_beg',0
|
||||||
|
sz_tl_cur_next db 'tl_cur_next',0
|
||||||
|
sz_tl_cur_perv db 'tl_cur_perv',0
|
||||||
|
sz_tl_node_close_open db 'tl_node_close_open',0
|
||||||
|
sz_tl_node_lev_inc db 'tl_node_lev_inc',0
|
||||||
|
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
||||||
|
sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0
|
||||||
|
sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0
|
||||||
|
sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_libkmenu:
|
import_libkmenu:
|
||||||
@@ -1127,7 +1287,23 @@ dd 0,0
|
|||||||
akmenuitem_delete db 'kmenuitem_delete',0
|
akmenuitem_delete db 'kmenuitem_delete',0
|
||||||
akmenuitem_draw db 'kmenuitem_draw',0
|
akmenuitem_draw db 'kmenuitem_draw',0
|
||||||
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/import.inc'
|
align 4
|
||||||
|
import_tinygl:
|
||||||
|
macro E_LIB n
|
||||||
|
{
|
||||||
|
if defined sz_#n
|
||||||
|
n dd sz_#n
|
||||||
|
end if
|
||||||
|
}
|
||||||
|
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||||
|
dd 0,0
|
||||||
|
macro E_LIB n
|
||||||
|
{
|
||||||
|
if used n
|
||||||
|
sz_#n db `n,0
|
||||||
|
end if
|
||||||
|
}
|
||||||
|
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_libini:
|
import_libini:
|
||||||
@@ -1191,9 +1367,9 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ;
|
|||||||
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20>ᢥ饭<E1A2A5><E9A5AD>
|
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20>ᢥ饭<E1A2A5><E9A5AD>
|
||||||
|
|
||||||
if lang eq ru_RU
|
if lang eq ru_RU
|
||||||
capt db 'info 3ds <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 14.07.25',0
|
capt db 'info 3ds <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 04.05.25',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
else ; Default to en_US
|
else ; Default to en_US
|
||||||
capt db 'info 3ds version 14.07.25',0 ;window caption
|
capt db 'info 3ds version 04.05.25',0 ;window caption
|
||||||
end if
|
end if
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
|
@@ -1,7 +1,3 @@
|
|||||||
; SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
; Info3ds_u - is a program for viewing the structure of *.3ds files
|
|
||||||
; Copyright (C) 2015-2025 KolibriOS team
|
|
||||||
|
|
||||||
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>
|
||||||
@@ -16,7 +12,6 @@ include '../../develop/libraries/libs-dev/libimg/libimg.inc'
|
|||||||
include '../../load_img.inc'
|
include '../../load_img.inc'
|
||||||
include '../../load_lib.mac'
|
include '../../load_lib.mac'
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/kosgl.inc'
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc'
|
include '../../develop/libraries/TinyGL/asm_fork/opengl_const.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.
|
||||||
include 'info_fun_float.inc'
|
include 'info_fun_float.inc'
|
||||||
@@ -26,8 +21,8 @@ include 'convert_stl_3ds.inc'
|
|||||||
|
|
||||||
3d_wnd_l equ 205 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> tinygl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5>
|
3d_wnd_l equ 205 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> tinygl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5>
|
||||||
3d_wnd_t equ 47 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> tinygl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>
|
3d_wnd_t equ 47 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> tinygl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>
|
||||||
3d_wnd_w equ 345
|
3d_wnd_w equ 344
|
||||||
3d_wnd_h equ 384
|
3d_wnd_h equ 312
|
||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
|
|
||||||
@@ -48,13 +43,13 @@ list_offs_text equ 14+sizeof.obj_3d ;ᤢ
|
|||||||
include 'info_o3d.inc'
|
include 'info_o3d.inc'
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
fl180 dd 180.0
|
|
||||||
fl255 dd 255.0
|
fl255 dd 255.0
|
||||||
open_file_data dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9><EFBFBD> 3ds
|
open_file_data dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9><EFBFBD> 3ds
|
||||||
open_file_size dd 0 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⮣<EFBFBD> 䠩<><E4A0A9>
|
open_file_size dd 0 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⮣<EFBFBD> 䠩<><E4A0A9>
|
||||||
|
|
||||||
;
|
;
|
||||||
main_wnd_height equ 460 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
main_wnd_height equ 460 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
||||||
|
fn_toolbar db 'toolbar.png',0
|
||||||
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3
|
||||||
image_data_toolbar dd 0
|
image_data_toolbar dd 0
|
||||||
;
|
;
|
||||||
@@ -145,17 +140,17 @@ start:
|
|||||||
mov eax,dword[icon_tl_sys]
|
mov eax,dword[icon_tl_sys]
|
||||||
mov dword[tree1.data_img_sys],eax
|
mov dword[tree1.data_img_sys],eax
|
||||||
|
|
||||||
include_image_file 'objects.png', icon_toolbar
|
load_image_file 'objects.png', icon_toolbar
|
||||||
mov eax,dword[icon_toolbar]
|
mov eax,dword[icon_toolbar]
|
||||||
mov dword[tree1.data_img],eax
|
mov dword[tree1.data_img],eax
|
||||||
|
|
||||||
include_image_file '../../fs/kfar/trunk/font8x9.bmp', image_data_toolbar
|
load_image_file 'font8x9.bmp', image_data_toolbar
|
||||||
stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
stdcall mem.Free,[image_data_toolbar] ;<3B><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
stdcall [buf2d_conv_24_to_8], buf_1,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA7>筮<EFBFBD><E7ADAE><EFBFBD> 8 <20><><EFBFBD>
|
stdcall [buf2d_conv_24_to_8], buf_1,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA7>筮<EFBFBD><E7ADAE><EFBFBD> 8 <20><><EFBFBD>
|
||||||
stdcall [buf2d_convert_text_matrix], buf_1
|
stdcall [buf2d_convert_text_matrix], buf_1
|
||||||
|
|
||||||
include_image_file 'toolbar.png', image_data_toolbar
|
load_image_file fn_toolbar, image_data_toolbar
|
||||||
|
|
||||||
;ࠡ<><E0A0A1><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
;ࠡ<><E0A0A1><EFBFBD> <20> 䠩<><E4A0A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
copy_path ini_name,sys_path,file_name,0
|
copy_path ini_name,sys_path,file_name,0
|
||||||
@@ -228,7 +223,7 @@ start:
|
|||||||
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
|
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
|
||||||
mov [last_time],eax
|
mov [last_time],eax
|
||||||
|
|
||||||
stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,[buf_ogl.w],[buf_ogl.h],ctx1
|
stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,3d_wnd_w,3d_wnd_h,ctx1
|
||||||
stdcall [glEnable], GL_DEPTH_TEST
|
stdcall [glEnable], GL_DEPTH_TEST
|
||||||
stdcall [glEnable], GL_NORMALIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><>ଠ<EFBFBD><E0ACA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稭<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>䠪⮢
|
stdcall [glEnable], GL_NORMALIZE ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><>ଠ<EFBFBD><E0ACA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>稭<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>䠪⮢
|
||||||
stdcall [glClearColor], [color_bk+8],[color_bk+4],[color_bk],0.0
|
stdcall [glClearColor], [color_bk+8],[color_bk+4],[color_bk],0.0
|
||||||
@@ -236,7 +231,7 @@ start:
|
|||||||
call [gluNewQuadric]
|
call [gluNewQuadric]
|
||||||
mov [qObj],eax
|
mov [qObj],eax
|
||||||
|
|
||||||
mov eax,[ctx1.gl_context]
|
mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext
|
||||||
mov eax,[eax] ;eax -> ZBuffer
|
mov eax,[eax] ;eax -> ZBuffer
|
||||||
mov eax,[eax+ZBuffer.pbuf]
|
mov eax,[eax+ZBuffer.pbuf]
|
||||||
mov dword[buf_ogl],eax
|
mov dword[buf_ogl],eax
|
||||||
@@ -262,20 +257,20 @@ still:
|
|||||||
or eax,eax
|
or eax,eax
|
||||||
jz timer_funct
|
jz timer_funct
|
||||||
|
|
||||||
cmp al,EV_REDRAW
|
cmp al,1
|
||||||
jne @f
|
jne @f
|
||||||
call draw_window
|
call draw_window
|
||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
cmp al,EV_KEY
|
cmp al,2
|
||||||
jz key
|
jz key
|
||||||
cmp al,EV_BUTTON
|
cmp al,3
|
||||||
jz button
|
jz button
|
||||||
cmp al,EV_MOUSE
|
cmp al,6
|
||||||
jne @f
|
jne @f
|
||||||
mcall SF_THREAD_INFO,procinfo,-1
|
mcall SF_THREAD_INFO,procinfo,-1
|
||||||
cmp ax,word[procinfo.window_stack_position]
|
cmp ax,word[procinfo+4]
|
||||||
jne @f ;window is not active
|
jne @f ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>⨢<EFBFBD><E2A8A2>
|
||||||
call mouse
|
call mouse
|
||||||
@@:
|
@@:
|
||||||
jmp still
|
jmp still
|
||||||
@@ -306,9 +301,9 @@ mouse:
|
|||||||
mov ebx,3d_wnd_l
|
mov ebx,3d_wnd_l
|
||||||
@@:
|
@@:
|
||||||
sub ebx,3d_wnd_l
|
sub ebx,3d_wnd_l
|
||||||
cmp ebx,[buf_ogl.w]
|
cmp ebx,3d_wnd_w
|
||||||
jle @f
|
jle @f
|
||||||
mov ebx,[buf_ogl.w]
|
mov ebx,3d_wnd_w
|
||||||
@@:
|
@@:
|
||||||
movsx eax,ax ;mouse.y
|
movsx eax,ax ;mouse.y
|
||||||
cmp eax,3d_wnd_t
|
cmp eax,3d_wnd_t
|
||||||
@@ -316,9 +311,9 @@ mouse:
|
|||||||
mov eax,3d_wnd_t
|
mov eax,3d_wnd_t
|
||||||
@@:
|
@@:
|
||||||
sub eax,3d_wnd_t
|
sub eax,3d_wnd_t
|
||||||
cmp eax,[buf_ogl.h]
|
cmp eax,3d_wnd_h
|
||||||
jle @f
|
jle @f
|
||||||
mov eax,[buf_ogl.h]
|
mov eax,3d_wnd_h
|
||||||
@@:
|
@@:
|
||||||
finit
|
finit
|
||||||
fild dword[mouse_y]
|
fild dword[mouse_y]
|
||||||
@@ -356,13 +351,13 @@ mouse:
|
|||||||
cmp ebx,3d_wnd_l
|
cmp ebx,3d_wnd_l
|
||||||
jl .end_d
|
jl .end_d
|
||||||
sub ebx,3d_wnd_l
|
sub ebx,3d_wnd_l
|
||||||
cmp ebx,[buf_ogl.w]
|
cmp ebx,3d_wnd_w
|
||||||
jg .end_d
|
jg .end_d
|
||||||
movsx eax,ax ;mouse.y
|
movsx eax,ax ;mouse.y
|
||||||
cmp eax,3d_wnd_t
|
cmp eax,3d_wnd_t
|
||||||
jl .end_d
|
jl .end_d
|
||||||
sub eax,3d_wnd_t
|
sub eax,3d_wnd_t
|
||||||
cmp eax,[buf_ogl.h]
|
cmp eax,3d_wnd_h
|
||||||
jg .end_d
|
jg .end_d
|
||||||
mov dword[mouse_drag],1
|
mov dword[mouse_drag],1
|
||||||
mov dword[mouse_x],ebx
|
mov dword[mouse_x],ebx
|
||||||
@@ -445,7 +440,16 @@ pushad
|
|||||||
or edx,0x33000000
|
or edx,0x33000000
|
||||||
mcall SF_CREATE_WINDOW, (20 shl 16)+560, (20 shl 16)+main_wnd_height,,, capt
|
mcall SF_CREATE_WINDOW, (20 shl 16)+560, (20 shl 16)+main_wnd_height,,, capt
|
||||||
|
|
||||||
call OnResize
|
mcall SF_THREAD_INFO,procinfo,-1
|
||||||
|
mov eax,dword[procinfo.box.height]
|
||||||
|
cmp eax,250
|
||||||
|
jge @f
|
||||||
|
mov eax,250
|
||||||
|
@@:
|
||||||
|
sub eax,30
|
||||||
|
sub eax,[tree1.box_top]
|
||||||
|
mov [tree1.box_height],eax
|
||||||
|
mov word[w_scr_t1.y_size],ax ;<3B><><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEAB><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
stdcall [kmainmenu_draw], [main_menu]
|
stdcall [kmainmenu_draw], [main_menu]
|
||||||
|
|
||||||
@@ -489,62 +493,6 @@ pushad
|
|||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
align 4
|
|
||||||
OnResize:
|
|
||||||
mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
|
|
||||||
push eax
|
|
||||||
mcall SF_THREAD_INFO,procinfo,-1
|
|
||||||
mov eax,[procinfo.box.height]
|
|
||||||
cmp eax,250
|
|
||||||
jge @f
|
|
||||||
mov eax,250
|
|
||||||
@@:
|
|
||||||
sub eax,[esp]
|
|
||||||
sub eax,5
|
|
||||||
sub eax,[tree1.box_top]
|
|
||||||
mov [tree1.box_height],eax
|
|
||||||
mov word[w_scr_t1.y_size],ax ;new scroll sizes
|
|
||||||
|
|
||||||
cmp [buf_ogl.h],eax
|
|
||||||
je @f
|
|
||||||
mov [buf_ogl.h],eax
|
|
||||||
mov dword[buf_ogl.w],0 ;reset width
|
|
||||||
@@:
|
|
||||||
pop eax
|
|
||||||
movzx eax,word[w_scr_t1.x_size]
|
|
||||||
add eax,[tree1.box_left]
|
|
||||||
add eax,[tree1.box_width]
|
|
||||||
add eax,15 ;5 px * 3 borders
|
|
||||||
sub eax,[procinfo.box.width]
|
|
||||||
neg eax
|
|
||||||
cmp eax,64
|
|
||||||
jge @f
|
|
||||||
mov eax,64
|
|
||||||
@@:
|
|
||||||
cmp [buf_ogl.w],eax
|
|
||||||
je .end
|
|
||||||
mov [buf_ogl.w],eax
|
|
||||||
fild dword[buf_ogl.w]
|
|
||||||
fld st0
|
|
||||||
fdiv dword[fl180]
|
|
||||||
fstp dword[angle_dxm]
|
|
||||||
fidiv dword[buf_ogl.h]
|
|
||||||
fstp dword[ratio]
|
|
||||||
stdcall [glViewport], 0,0, [buf_ogl.w], [buf_ogl.h]
|
|
||||||
|
|
||||||
mov eax,[ctx1.gl_context]
|
|
||||||
mov eax,[eax] ;eax -> ZBuffer
|
|
||||||
mov eax,[eax+ZBuffer.pbuf]
|
|
||||||
mov dword[buf_ogl],eax
|
|
||||||
|
|
||||||
stdcall [tl_node_get_data],tree1
|
|
||||||
or eax,eax
|
|
||||||
jz .end
|
|
||||||
add eax,list_offs_obj3d
|
|
||||||
stdcall draw_3d, eax
|
|
||||||
.end:
|
|
||||||
ret
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
key:
|
key:
|
||||||
mcall SF_GET_KEY
|
mcall SF_GET_KEY
|
||||||
@@ -1204,10 +1152,57 @@ l_libs_start:
|
|||||||
lib_2 l_libs lib_name_2, file_name, system_dir_2, import_box_lib
|
lib_2 l_libs lib_name_2, file_name, system_dir_2, import_box_lib
|
||||||
lib_3 l_libs lib_name_3, file_name, system_dir_3, import_buf2d
|
lib_3 l_libs lib_name_3, file_name, system_dir_3, import_buf2d
|
||||||
lib_4 l_libs lib_name_4, file_name, system_dir_4, import_libkmenu
|
lib_4 l_libs lib_name_4, file_name, system_dir_4, import_libkmenu
|
||||||
lib_5 l_libs lib_name_5, file_name, system_dir_5, import_tinygl
|
lib_5 l_libs lib_name_5, file_name, system_dir_5, import_lib_tinygl
|
||||||
lib_6 l_libs lib_name_6, file_name, system_dir_6, import_libini
|
lib_6 l_libs lib_name_6, file_name, system_dir_6, import_libini
|
||||||
l_libs_end:
|
l_libs_end:
|
||||||
|
|
||||||
|
align 4
|
||||||
|
import_libimg:
|
||||||
|
dd alib_init1
|
||||||
|
img_is_img dd aimg_is_img
|
||||||
|
img_info dd aimg_info
|
||||||
|
img_from_file dd aimg_from_file
|
||||||
|
img_to_file dd aimg_to_file
|
||||||
|
img_from_rgb dd aimg_from_rgb
|
||||||
|
img_to_rgb dd aimg_to_rgb
|
||||||
|
img_to_rgb2 dd aimg_to_rgb2
|
||||||
|
img_decode dd aimg_decode
|
||||||
|
img_encode dd aimg_encode
|
||||||
|
img_create dd aimg_create
|
||||||
|
img_destroy dd aimg_destroy
|
||||||
|
img_destroy_layer dd aimg_destroy_layer
|
||||||
|
img_count dd aimg_count
|
||||||
|
img_lock_bits dd aimg_lock_bits
|
||||||
|
img_unlock_bits dd aimg_unlock_bits
|
||||||
|
img_flip dd aimg_flip
|
||||||
|
img_flip_layer dd aimg_flip_layer
|
||||||
|
img_rotate dd aimg_rotate
|
||||||
|
img_rotate_layer dd aimg_rotate_layer
|
||||||
|
img_draw dd aimg_draw
|
||||||
|
|
||||||
|
dd 0,0
|
||||||
|
alib_init1 db 'lib_init',0
|
||||||
|
aimg_is_img db 'img_is_img',0 ;<3B><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||||
|
aimg_info db 'img_info',0
|
||||||
|
aimg_from_file db 'img_from_file',0
|
||||||
|
aimg_to_file db 'img_to_file',0
|
||||||
|
aimg_from_rgb db 'img_from_rgb',0
|
||||||
|
aimg_to_rgb db 'img_to_rgb',0 ;<3B>८<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RGB
|
||||||
|
aimg_to_rgb2 db 'img_to_rgb2',0
|
||||||
|
aimg_decode db 'img_decode',0 ;<3B><>⮬<EFBFBD><E2AEAC><EFBFBD><EFBFBD><EFBFBD>᪨ <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><>ଠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪨<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
aimg_encode db 'img_encode',0
|
||||||
|
aimg_create db 'img_create',0
|
||||||
|
aimg_destroy db 'img_destroy',0
|
||||||
|
aimg_destroy_layer db 'img_destroy_layer',0
|
||||||
|
aimg_count db 'img_count',0
|
||||||
|
aimg_lock_bits db 'img_lock_bits',0
|
||||||
|
aimg_unlock_bits db 'img_unlock_bits',0
|
||||||
|
aimg_flip db 'img_flip',0
|
||||||
|
aimg_flip_layer db 'img_flip_layer',0
|
||||||
|
aimg_rotate db 'img_rotate',0
|
||||||
|
aimg_rotate_layer db 'img_rotate_layer',0
|
||||||
|
aimg_draw db 'img_draw',0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_proclib:
|
import_proclib:
|
||||||
OpenDialog_Init dd aOpenDialog_Init
|
OpenDialog_Init dd aOpenDialog_Init
|
||||||
@@ -1220,9 +1215,122 @@ dd 0,0
|
|||||||
aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0
|
aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0
|
||||||
aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0
|
aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0
|
||||||
|
|
||||||
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
align 4
|
||||||
include '../../develop/libraries/box_lib/import.inc'
|
import_buf2d:
|
||||||
include '../../develop/libraries/buf2d/import.inc'
|
dd sz_init0
|
||||||
|
buf2d_create dd sz_buf2d_create
|
||||||
|
buf2d_create_f_img dd sz_buf2d_create_f_img
|
||||||
|
buf2d_clear dd sz_buf2d_clear
|
||||||
|
buf2d_draw dd sz_buf2d_draw
|
||||||
|
buf2d_delete dd sz_buf2d_delete
|
||||||
|
buf2d_resize dd sz_buf2d_resize
|
||||||
|
buf2d_line dd sz_buf2d_line
|
||||||
|
buf2d_rect_by_size dd sz_buf2d_rect_by_size
|
||||||
|
buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size
|
||||||
|
buf2d_circle dd sz_buf2d_circle
|
||||||
|
buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2
|
||||||
|
buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2
|
||||||
|
buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8
|
||||||
|
buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32
|
||||||
|
buf2d_bit_blt dd sz_buf2d_bit_blt
|
||||||
|
buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp
|
||||||
|
buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha
|
||||||
|
buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix
|
||||||
|
buf2d_draw_text dd sz_buf2d_draw_text
|
||||||
|
buf2d_crop_color dd sz_buf2d_crop_color
|
||||||
|
buf2d_offset_h dd sz_buf2d_offset_h
|
||||||
|
buf2d_set_pixel dd sz_buf2d_set_pixel
|
||||||
|
dd 0,0
|
||||||
|
sz_init0 db 'lib_init',0
|
||||||
|
sz_buf2d_create db 'buf2d_create',0
|
||||||
|
sz_buf2d_create_f_img db 'buf2d_create_f_img',0
|
||||||
|
sz_buf2d_clear db 'buf2d_clear',0
|
||||||
|
sz_buf2d_draw db 'buf2d_draw',0
|
||||||
|
sz_buf2d_delete db 'buf2d_delete',0
|
||||||
|
sz_buf2d_resize db 'buf2d_resize',0
|
||||||
|
sz_buf2d_line db 'buf2d_line',0
|
||||||
|
sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0
|
||||||
|
sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0
|
||||||
|
sz_buf2d_circle db 'buf2d_circle',0
|
||||||
|
sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0
|
||||||
|
sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0
|
||||||
|
sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
|
||||||
|
sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0
|
||||||
|
sz_buf2d_bit_blt db 'buf2d_bit_blt',0
|
||||||
|
sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0
|
||||||
|
sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0
|
||||||
|
sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0
|
||||||
|
sz_buf2d_draw_text db 'buf2d_draw_text',0
|
||||||
|
sz_buf2d_crop_color db 'buf2d_crop_color',0
|
||||||
|
sz_buf2d_offset_h db 'buf2d_offset_h',0
|
||||||
|
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
||||||
|
|
||||||
|
align 4
|
||||||
|
import_box_lib:
|
||||||
|
dd sz_init1
|
||||||
|
edit_box_draw dd sz_edit_box_draw
|
||||||
|
edit_box_key dd sz_edit_box_key
|
||||||
|
edit_box_mouse dd sz_edit_box_mouse
|
||||||
|
edit_box_set_text dd sz_edit_box_set_text
|
||||||
|
scrollbar_ver_draw dd sz_scrollbar_ver_draw
|
||||||
|
scrollbar_hor_draw dd sz_scrollbar_hor_draw
|
||||||
|
|
||||||
|
tl_data_init dd sz_tl_data_init
|
||||||
|
tl_data_clear dd sz_tl_data_clear
|
||||||
|
tl_info_clear dd sz_tl_info_clear
|
||||||
|
tl_key dd sz_tl_key
|
||||||
|
tl_mouse dd sz_tl_mouse
|
||||||
|
tl_draw dd sz_tl_draw
|
||||||
|
tl_info_undo dd sz_tl_info_undo
|
||||||
|
tl_info_redo dd sz_tl_info_redo
|
||||||
|
tl_node_add dd sz_tl_node_add
|
||||||
|
tl_node_set_data dd sz_tl_node_set_data
|
||||||
|
tl_node_get_data dd sz_tl_node_get_data
|
||||||
|
tl_node_delete dd sz_tl_node_delete
|
||||||
|
tl_node_move_up dd sz_tl_node_move_up
|
||||||
|
tl_node_move_down dd sz_tl_node_move_down
|
||||||
|
tl_cur_beg dd sz_tl_cur_beg
|
||||||
|
tl_cur_next dd sz_tl_cur_next
|
||||||
|
tl_cur_perv dd sz_tl_cur_perv
|
||||||
|
tl_node_close_open dd sz_tl_node_close_open
|
||||||
|
tl_node_lev_inc dd sz_tl_node_lev_inc
|
||||||
|
tl_node_lev_dec dd sz_tl_node_lev_dec
|
||||||
|
tl_node_poi_get_info dd sz_tl_node_poi_get_info
|
||||||
|
tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info
|
||||||
|
tl_node_poi_get_data dd sz_tl_node_poi_get_data
|
||||||
|
|
||||||
|
dd 0,0
|
||||||
|
sz_init1 db 'lib_init',0
|
||||||
|
sz_edit_box_draw db 'edit_box_draw',0
|
||||||
|
sz_edit_box_key db 'edit_box_key',0
|
||||||
|
sz_edit_box_mouse db 'edit_box_mouse',0
|
||||||
|
sz_edit_box_set_text db 'edit_box_set_text',0
|
||||||
|
sz_scrollbar_ver_draw db 'scrollbar_v_draw',0
|
||||||
|
sz_scrollbar_hor_draw db 'scrollbar_h_draw',0
|
||||||
|
|
||||||
|
sz_tl_data_init db 'tl_data_init',0
|
||||||
|
sz_tl_data_clear db 'tl_data_clear',0
|
||||||
|
sz_tl_info_clear db 'tl_info_clear',0
|
||||||
|
sz_tl_key db 'tl_key',0
|
||||||
|
sz_tl_mouse db 'tl_mouse',0
|
||||||
|
sz_tl_draw db 'tl_draw',0
|
||||||
|
sz_tl_info_undo db 'tl_info_undo',0
|
||||||
|
sz_tl_info_redo db 'tl_info_redo',0
|
||||||
|
sz_tl_node_add db 'tl_node_add',0
|
||||||
|
sz_tl_node_set_data db 'tl_node_set_data',0
|
||||||
|
sz_tl_node_get_data db 'tl_node_get_data',0
|
||||||
|
sz_tl_node_delete db 'tl_node_delete',0
|
||||||
|
sz_tl_node_move_up db 'tl_node_move_up',0
|
||||||
|
sz_tl_node_move_down db 'tl_node_move_down',0
|
||||||
|
sz_tl_cur_beg db 'tl_cur_beg',0
|
||||||
|
sz_tl_cur_next db 'tl_cur_next',0
|
||||||
|
sz_tl_cur_perv db 'tl_cur_perv',0
|
||||||
|
sz_tl_node_close_open db 'tl_node_close_open',0
|
||||||
|
sz_tl_node_lev_inc db 'tl_node_lev_inc',0
|
||||||
|
sz_tl_node_lev_dec db 'tl_node_lev_dec',0
|
||||||
|
sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0
|
||||||
|
sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0
|
||||||
|
sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_libkmenu:
|
import_libkmenu:
|
||||||
@@ -1248,7 +1356,19 @@ dd 0,0
|
|||||||
akmenuitem_delete db 'kmenuitem_delete',0
|
akmenuitem_delete db 'kmenuitem_delete',0
|
||||||
akmenuitem_draw db 'kmenuitem_draw',0
|
akmenuitem_draw db 'kmenuitem_draw',0
|
||||||
|
|
||||||
include '../../develop/libraries/TinyGL/asm_fork/import.inc'
|
align 4
|
||||||
|
import_lib_tinygl:
|
||||||
|
macro E_LIB n
|
||||||
|
{
|
||||||
|
n dd sz_#n
|
||||||
|
}
|
||||||
|
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||||
|
dd 0,0
|
||||||
|
macro E_LIB n
|
||||||
|
{
|
||||||
|
sz_#n db `n,0
|
||||||
|
}
|
||||||
|
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_libini:
|
import_libini:
|
||||||
@@ -1307,14 +1427,14 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ;
|
|||||||
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20>ᢥ饭<E1A2A5><E9A5AD>
|
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; <20><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD> 䮭<><E4AEAD><EFBFBD><EFBFBD><EFBFBD> <20>ᢥ饭<E1A2A5><E9A5AD>
|
||||||
|
|
||||||
if lang eq ru_RU
|
if lang eq ru_RU
|
||||||
capt db 'info 3ds [user] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 14.07.25',0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
capt db 'info 3ds [user] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 14.04.25',0 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
else ; Default to en_US
|
else ; Default to en_US
|
||||||
capt db 'info 3ds [user] version 14.07.25',0 ; Window caption
|
capt db 'info 3ds [user] version 14.04.25',0 ; Window caption
|
||||||
end if
|
end if
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
i_end:
|
i_end:
|
||||||
ctx1 TinyGLContext
|
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
||||||
procinfo process_information
|
procinfo process_information
|
||||||
run_file_70 FileInfoBlock
|
run_file_70 FileInfoBlock
|
||||||
sc system_colors
|
sc system_colors
|
||||||
|
@@ -1,19 +1,18 @@
|
|||||||
;
|
;
|
||||||
; This file contains functions needed to create
|
; <EFBFBD> <EFBFBD>⮬ 䠩<EFBFBD><EFBFBD> ᮡ࠭<EFBFBD> <EFBFBD>㭪樨 <EFBFBD>㦭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ᮧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>
|
||||||
; and operate a window with vertex coordinates
|
; ࠡ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD>⠬<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>設
|
||||||
;
|
;
|
||||||
|
|
||||||
3d_wnd_l equ 5 ;tinygl buffer left indent
|
prop_wnd_width equ 340 ;<EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⢠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD><EFBFBD>
|
||||||
3d_wnd_t equ 23 ;tinygl buffer top indent
|
prop_wnd_height equ 460 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⢠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD><EFBFBD>
|
||||||
3d_wnd_w equ 396
|
3d_wnd_l equ 5 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> tinygl <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
||||||
|
3d_wnd_t equ 23 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> tinygl <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
3d_wnd_w equ 320
|
||||||
3d_wnd_h equ 240
|
3d_wnd_h equ 240
|
||||||
SIZE_ONE_FLOAT equ 14
|
SIZE_ONE_FLOAT equ 14
|
||||||
MAX_OBJECT_SIZE equ (4+SIZE_ONE_FLOAT*3+1)
|
MAX_OBJECT_SIZE equ (4+SIZE_ONE_FLOAT*3+1)
|
||||||
|
|
||||||
align 4
|
prop_wnd_run db 0 ;<EFBFBD><EFBFBD>६<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> ⥬ <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1-<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⢠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>६<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
fl180 dd 180.0
|
|
||||||
|
|
||||||
prop_wnd_run db 0 ;variable that ensures that no more than 1 window with properties is launched at the same time
|
|
||||||
|
|
||||||
txt_q db '?',0
|
txt_q db '?',0
|
||||||
txt_space:
|
txt_space:
|
||||||
@@ -174,23 +173,20 @@ prop_still:
|
|||||||
jmp .end
|
jmp .end
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp al,EV_REDRAW
|
cmp al,1 ;<EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
jne @f
|
jne @f
|
||||||
call prop_red_win
|
call prop_red_win
|
||||||
jmp .end
|
jmp .end
|
||||||
@@:
|
@@:
|
||||||
cmp al,EV_KEY
|
cmp al,2
|
||||||
jne @f
|
jne @f
|
||||||
call prop_key
|
call prop_key
|
||||||
jmp .end
|
jmp .end
|
||||||
@@:
|
@@:
|
||||||
cmp al,EV_BUTTON
|
cmp al,3
|
||||||
jz prop_button
|
jz prop_button
|
||||||
cmp al,EV_MOUSE
|
cmp al,6
|
||||||
jne @f
|
jne @f
|
||||||
mcall SF_THREAD_INFO,procinfo,-1
|
|
||||||
cmp ax,word[procinfo.window_stack_position]
|
|
||||||
jne @f ;window is not active
|
|
||||||
call prop_mouse
|
call prop_mouse
|
||||||
@@:
|
@@:
|
||||||
.end:
|
.end:
|
||||||
@@ -202,65 +198,20 @@ prop_red_win:
|
|||||||
pushad
|
pushad
|
||||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||||
|
|
||||||
mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
|
xor eax,eax
|
||||||
push eax
|
|
||||||
mcall SF_THREAD_INFO,procinfo,-1
|
|
||||||
cmp dword[procinfo.box.height],0
|
|
||||||
je .resize_end
|
|
||||||
mov eax,[procinfo.box.height]
|
|
||||||
sub eax,[esp]
|
|
||||||
sub eax,[tree3.box_top]
|
|
||||||
sub eax,5
|
|
||||||
cmp eax,48
|
|
||||||
jge @f
|
|
||||||
mov eax,48 ;min size
|
|
||||||
@@:
|
|
||||||
mov dword[tree3.box_height],eax
|
|
||||||
mov word[w_scr_t3.y_size],ax
|
|
||||||
mov ebx,[procinfo.box.width]
|
|
||||||
sub ebx,37
|
|
||||||
cmp ebx,240
|
|
||||||
jge @f
|
|
||||||
mov ebx,240
|
|
||||||
@@:
|
|
||||||
mov [tree3.box_width],ebx
|
|
||||||
add ebx,[tree3.box_left]
|
|
||||||
mov word[w_scr_t3.x_pos],bx
|
|
||||||
;todo: resize scroll slider
|
|
||||||
|
|
||||||
mov eax,[tree3.box_width]
|
|
||||||
add eax,16
|
|
||||||
cmp [buf_ogl.w],eax
|
|
||||||
je .resize_end
|
|
||||||
mov [buf_ogl.w],eax
|
|
||||||
fild dword[buf_ogl.w]
|
|
||||||
fld st0
|
|
||||||
fdiv dword[fl180]
|
|
||||||
fstp dword[angle_dxm]
|
|
||||||
fidiv dword[buf_ogl.h]
|
|
||||||
fstp dword[ratio]
|
|
||||||
stdcall [glViewport], 0,0, [buf_ogl.w], 3d_wnd_h
|
|
||||||
stdcall obj_set_sizes, o3d
|
|
||||||
.resize_end:
|
|
||||||
|
|
||||||
mov edi,dword[capt_p] ;children window caption
|
mov edi,dword[capt_p] ;children window caption
|
||||||
mov bx,word[procinfo.box.left]
|
mov bx,word[procinfo.box.left]
|
||||||
add bx,word[buf_0.l]
|
add bx,word[buf_0.l]
|
||||||
add bx,5 ;side frame width
|
add bx,5 ;<EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠬ<EFBFBD><EFBFBD>
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,word[tree3.box_width]
|
mov bx,prop_wnd_width
|
||||||
add bx,37
|
|
||||||
mov cx,word[procinfo.box.top]
|
mov cx,word[procinfo.box.top]
|
||||||
add cx,word[buf_0.t]
|
add cx,word[buf_0.t]
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
pop eax
|
mov cx,prop_wnd_height
|
||||||
add eax,[tree3.box_height]
|
|
||||||
add eax,[tree3.box_top]
|
|
||||||
add eax,5
|
|
||||||
mov cx,ax
|
|
||||||
mov edx,[sc.work]
|
mov edx,[sc.work]
|
||||||
or edx,0x33000000
|
or edx,0x33000000
|
||||||
mcall SF_CREATE_WINDOW
|
int 0x40
|
||||||
|
|
||||||
mov esi,[sc.work_button]
|
mov esi,[sc.work_button]
|
||||||
mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (266 shl 16)+20, 0x40000003
|
mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (266 shl 16)+20, 0x40000003
|
||||||
@@ -275,7 +226,7 @@ pushad
|
|||||||
int 0x40
|
int 0x40
|
||||||
|
|
||||||
mov dword[w_scr_t3.all_redraw],1
|
mov dword[w_scr_t3.all_redraw],1
|
||||||
stdcall [scrollbar_v_draw], w_scr_t3
|
stdcall [scrollbar_ver_draw],dword w_scr_t3
|
||||||
stdcall [tl_draw], tree3
|
stdcall [tl_draw], tree3
|
||||||
stdcall [edit_box_draw], edit1
|
stdcall [edit_box_draw], edit1
|
||||||
stdcall [edit_box_draw], edit2
|
stdcall [edit_box_draw], edit2
|
||||||
@@ -365,9 +316,9 @@ prop_mouse:
|
|||||||
mov ebx,3d_wnd_l
|
mov ebx,3d_wnd_l
|
||||||
@@:
|
@@:
|
||||||
sub ebx,3d_wnd_l
|
sub ebx,3d_wnd_l
|
||||||
cmp ebx,[buf_ogl.w]
|
cmp ebx,3d_wnd_w
|
||||||
jle @f
|
jle @f
|
||||||
mov ebx,[buf_ogl.w]
|
mov ebx,3d_wnd_w
|
||||||
@@:
|
@@:
|
||||||
and eax,0xffff ;mouse.y
|
and eax,0xffff ;mouse.y
|
||||||
cmp eax,3d_wnd_t
|
cmp eax,3d_wnd_t
|
||||||
@@ -383,14 +334,14 @@ prop_mouse:
|
|||||||
fild dword[mouse_y]
|
fild dword[mouse_y]
|
||||||
mov [mouse_y],eax
|
mov [mouse_y],eax
|
||||||
fisub dword[mouse_y]
|
fisub dword[mouse_y]
|
||||||
fdiv dword[angle_dym] ;if the cursor moves along the y axis
|
fdiv dword[angle_dxm] ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x
|
||||||
fadd dword[angle_x]
|
fadd dword[angle_x]
|
||||||
fstp dword[angle_x]
|
fstp dword[angle_x]
|
||||||
|
|
||||||
fild dword[mouse_x]
|
fild dword[mouse_x]
|
||||||
mov [mouse_x],ebx
|
mov [mouse_x],ebx
|
||||||
fisub dword[mouse_x]
|
fisub dword[mouse_x]
|
||||||
fdiv dword[angle_dxm] ;if the cursor moves along the x axis
|
fdiv dword[angle_dym] ;<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> x (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> y
|
||||||
fadd dword[angle_y]
|
fadd dword[angle_y]
|
||||||
fstp dword[angle_y]
|
fstp dword[angle_y]
|
||||||
|
|
||||||
@@ -412,7 +363,7 @@ prop_mouse:
|
|||||||
cmp ebx,3d_wnd_l
|
cmp ebx,3d_wnd_l
|
||||||
jl .end_d
|
jl .end_d
|
||||||
sub ebx,3d_wnd_l
|
sub ebx,3d_wnd_l
|
||||||
cmp ebx,[buf_ogl.w]
|
cmp ebx,3d_wnd_w
|
||||||
jg .end_d
|
jg .end_d
|
||||||
and eax,0xffff ;mouse.y
|
and eax,0xffff ;mouse.y
|
||||||
cmp eax,3d_wnd_t
|
cmp eax,3d_wnd_t
|
||||||
@@ -860,7 +811,7 @@ capt_p dd 0
|
|||||||
|
|
||||||
;<EFBFBD><EFBFBD>ॢ<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>ꥪ⠬<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>짮<EFBFBD><EFBFBD>⥫<EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
;<EFBFBD><EFBFBD>ॢ<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>ꥪ⠬<EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD>짮<EFBFBD><EFBFBD>⥫<EFBFBD><EFBFBD> 䠩<EFBFBD><EFBFBD>
|
||||||
tree3 tree_list MAX_OBJECT_SIZE,3, tl_key_no_edit+tl_list_box_mode,\
|
tree3 tree_list MAX_OBJECT_SIZE,3, tl_key_no_edit+tl_list_box_mode,\
|
||||||
16,16, 0xffffff,0xb0d0ff,0x10400040, 5,290,380,140, 16, 4,0, el_focus,\
|
16,16, 0xffffff,0xb0d0ff,0x400040, 5,290,303,140, 16, 4,0, el_focus,\
|
||||||
w_scr_t3,get_point_coords
|
w_scr_t3,get_point_coords
|
||||||
|
|
||||||
edit1 edit_box 80, 76, 269, 0xffd0d0, 0xff, 0x80ff, 0, 0x8000, 32, string1, mouse_dd, 0
|
edit1 edit_box 80, 76, 269, 0xffd0d0, 0xff, 0x80ff, 0, 0x8000, 32, string1, mouse_dd, 0
|
||||||
|
@@ -1,18 +0,0 @@
|
|||||||
align 4
|
|
||||||
import_tinygl:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if defined sz_#n
|
|
||||||
n dd sz_#n
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if used n
|
|
||||||
sz_#n db `n,0
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
@@ -1,117 +0,0 @@
|
|||||||
;
|
|
||||||
; Export functions
|
|
||||||
;
|
|
||||||
|
|
||||||
E_LIB lib_init
|
|
||||||
E_LIB version
|
|
||||||
|
|
||||||
E_LIB edit_box_draw
|
|
||||||
E_LIB edit_box_key
|
|
||||||
E_LIB edit_box_key_safe
|
|
||||||
E_LIB edit_box_mouse
|
|
||||||
E_LIB edit_box_set_text
|
|
||||||
E_LIB version_ed
|
|
||||||
|
|
||||||
E_LIB init_checkbox, init_checkbox2
|
|
||||||
E_LIB check_box_draw, check_box_draw2
|
|
||||||
E_LIB check_box_mouse, check_box_mouse2
|
|
||||||
E_LIB version_ch, version_ch2
|
|
||||||
|
|
||||||
E_LIB option_box_draw
|
|
||||||
E_LIB option_box_mouse
|
|
||||||
E_LIB version_op
|
|
||||||
|
|
||||||
E_LIB scrollbar_v_draw
|
|
||||||
E_LIB scrollbar_v_mouse
|
|
||||||
E_LIB scrollbar_h_draw
|
|
||||||
E_LIB scrollbar_h_mouse
|
|
||||||
E_LIB version_scrollbar
|
|
||||||
|
|
||||||
E_LIB dbutton_draw
|
|
||||||
E_LIB dbutton_mouse
|
|
||||||
E_LIB version_dbutton
|
|
||||||
|
|
||||||
E_LIB menu_bar_draw
|
|
||||||
E_LIB menu_bar_mouse
|
|
||||||
E_LIB menu_bar_activate
|
|
||||||
E_LIB version_menu_bar
|
|
||||||
|
|
||||||
E_LIB FileBrowser_draw
|
|
||||||
E_LIB FileBrowser_mouse
|
|
||||||
E_LIB FileBrowser_key
|
|
||||||
E_LIB version_FileBrowser
|
|
||||||
|
|
||||||
E_LIB tl_data_init
|
|
||||||
E_LIB tl_data_clear
|
|
||||||
E_LIB tl_info_clear
|
|
||||||
E_LIB tl_key
|
|
||||||
E_LIB tl_mouse
|
|
||||||
E_LIB tl_draw
|
|
||||||
E_LIB tl_info_undo
|
|
||||||
E_LIB tl_info_redo
|
|
||||||
E_LIB tl_node_add
|
|
||||||
E_LIB tl_node_set_data
|
|
||||||
E_LIB tl_node_get_data
|
|
||||||
E_LIB tl_node_delete
|
|
||||||
E_LIB tl_cur_beg
|
|
||||||
E_LIB tl_cur_next
|
|
||||||
E_LIB tl_cur_perv
|
|
||||||
E_LIB tl_node_close_open
|
|
||||||
E_LIB tl_node_lev_inc
|
|
||||||
E_LIB tl_node_lev_dec
|
|
||||||
E_LIB tl_node_move_up
|
|
||||||
E_LIB tl_node_move_down
|
|
||||||
E_LIB tl_node_poi_get_info
|
|
||||||
E_LIB tl_node_poi_get_next_info
|
|
||||||
E_LIB tl_node_poi_get_data
|
|
||||||
E_LIB tl_save_mem
|
|
||||||
E_LIB tl_load_mem
|
|
||||||
E_LIB tl_get_mem_size
|
|
||||||
E_LIB version_tree_list
|
|
||||||
|
|
||||||
E_LIB PathShow_prepare
|
|
||||||
E_LIB PathShow_draw
|
|
||||||
E_LIB version_PathShow
|
|
||||||
|
|
||||||
E_LIB ted_but_sumb_upper
|
|
||||||
E_LIB ted_but_sumb_lover
|
|
||||||
E_LIB ted_but_convert_by_table
|
|
||||||
E_LIB ted_can_save
|
|
||||||
E_LIB ted_clear
|
|
||||||
E_LIB ted_delete
|
|
||||||
E_LIB ted_draw
|
|
||||||
E_LIB ted_init
|
|
||||||
E_LIB ted_init_scroll_bars
|
|
||||||
E_LIB ted_init_syntax_file
|
|
||||||
E_LIB ted_is_select
|
|
||||||
E_LIB ted_key
|
|
||||||
E_LIB ted_mouse
|
|
||||||
E_LIB ted_open_file
|
|
||||||
E_LIB ted_save_file
|
|
||||||
E_LIB ted_text_add
|
|
||||||
E_LIB ted_but_select_word
|
|
||||||
E_LIB ted_but_cut
|
|
||||||
E_LIB ted_but_copy
|
|
||||||
E_LIB ted_but_paste
|
|
||||||
E_LIB ted_but_undo
|
|
||||||
E_LIB ted_but_redo
|
|
||||||
E_LIB ted_but_reverse
|
|
||||||
E_LIB ted_but_find
|
|
||||||
E_LIB ted_but_replace
|
|
||||||
E_LIB ted_text_colored
|
|
||||||
E_LIB ted_go_to_position
|
|
||||||
E_LIB version_text_edit
|
|
||||||
|
|
||||||
E_LIB frame_draw
|
|
||||||
E_LIB version_frame
|
|
||||||
|
|
||||||
E_LIB progressbar_draw
|
|
||||||
E_LIB progressbar_progress
|
|
||||||
|
|
||||||
E_LIB tooltip_init
|
|
||||||
E_LIB tooltip_delete
|
|
||||||
E_LIB tooltip_test_show
|
|
||||||
E_LIB tooltip_mouse
|
|
||||||
E_LIB get_font_size
|
|
||||||
|
|
||||||
purge E_LIB
|
|
@@ -1,24 +0,0 @@
|
|||||||
align 4
|
|
||||||
import_box_lib:
|
|
||||||
|
|
||||||
macro E_LIB n, lfn
|
|
||||||
{
|
|
||||||
if n eq lib_init
|
|
||||||
dd strz_#n
|
|
||||||
else if defined sz_#n
|
|
||||||
n dd sz_#n
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n, lfn
|
|
||||||
{
|
|
||||||
if used n
|
|
||||||
if lfn eq
|
|
||||||
sz_#n db `n,0
|
|
||||||
else
|
|
||||||
sz_#n db `lfn,0
|
|
||||||
end if
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
@@ -1,48 +0,0 @@
|
|||||||
;
|
|
||||||
; Export functions
|
|
||||||
;
|
|
||||||
|
|
||||||
E_LIB lib_init
|
|
||||||
E_LIB buf2d_create
|
|
||||||
E_LIB buf2d_create_f_img
|
|
||||||
E_LIB buf2d_clear
|
|
||||||
E_LIB buf2d_draw
|
|
||||||
E_LIB buf2d_delete
|
|
||||||
E_LIB buf2d_resize
|
|
||||||
E_LIB buf2d_rotate
|
|
||||||
E_LIB buf2d_line
|
|
||||||
E_LIB buf2d_line_sm
|
|
||||||
E_LIB buf2d_rect_by_size
|
|
||||||
E_LIB buf2d_filled_rect_by_size
|
|
||||||
E_LIB buf2d_circle
|
|
||||||
E_LIB buf2d_img_hdiv2
|
|
||||||
E_LIB buf2d_img_wdiv2
|
|
||||||
E_LIB buf2d_conv_24_to_8
|
|
||||||
E_LIB buf2d_conv_24_to_32
|
|
||||||
E_LIB buf2d_bit_blt
|
|
||||||
E_LIB buf2d_bit_blt_transp
|
|
||||||
E_LIB buf2d_bit_blt_alpha
|
|
||||||
E_LIB buf2d_curve_bezier
|
|
||||||
E_LIB buf2d_convert_text_matrix
|
|
||||||
E_LIB buf2d_draw_text
|
|
||||||
E_LIB buf2d_crop_color
|
|
||||||
E_LIB buf2d_offset_h
|
|
||||||
E_LIB buf2d_flood_fill
|
|
||||||
E_LIB buf2d_set_pixel
|
|
||||||
E_LIB buf2d_get_pixel
|
|
||||||
E_LIB buf2d_flip_h
|
|
||||||
E_LIB buf2d_flip_v
|
|
||||||
E_LIB buf2d_filter_dither
|
|
||||||
|
|
||||||
E_LIB buf2d_vox_brush_create
|
|
||||||
E_LIB buf2d_vox_brush_delete
|
|
||||||
E_LIB buf2d_vox_obj_get_img_w_3g
|
|
||||||
E_LIB buf2d_vox_obj_get_img_h_3g
|
|
||||||
E_LIB buf2d_vox_obj_draw_1g
|
|
||||||
E_LIB buf2d_vox_obj_draw_3g
|
|
||||||
E_LIB buf2d_vox_obj_draw_3g_scaled
|
|
||||||
E_LIB buf2d_vox_obj_draw_pl
|
|
||||||
E_LIB buf2d_vox_obj_draw_pl_scaled
|
|
||||||
E_LIB buf2d_vox_obj_draw_3g_shadows
|
|
||||||
|
|
||||||
purge E_LIB
|
|
@@ -1,20 +0,0 @@
|
|||||||
align 4
|
|
||||||
import_buf2d:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if n eq lib_init
|
|
||||||
dd strz_#n
|
|
||||||
else if defined sz_#n
|
|
||||||
n dd sz_#n
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if used n
|
|
||||||
sz_#n db `n,0
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
@@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2025. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; HTTP library for KolibriOS ;;
|
;; HTTP library for KolibriOS ;;
|
||||||
@@ -2021,15 +2021,15 @@ str_head db 'HEAD ', 0
|
|||||||
str_post db 'POST ', 0
|
str_post db 'POST ', 0
|
||||||
|
|
||||||
bits_must_escape:
|
bits_must_escape:
|
||||||
; bit 31 <======== ========> bit 0 ; bit 0 ===> bit 31
|
|
||||||
dd 0xffffffff ; 00-1F
|
dd 0xffffffff ; 00-1F
|
||||||
dd 11111100_00000000_10011111_11111111b ; !"#$%&'()*+,/:;<=>?
|
dd 1 shl 0 + 1 shl 2 + 1 shl 3 + 1 shl 5 + 1 shl 28 + 1 shl 30 ; "#%<>
|
||||||
dd 01111000_00000000_00000000_00000001b ;@[\]^
|
dd 1 shl 27 + 1 shl 28 + 1 shl 29 + 1 shl 30 ;[\]^
|
||||||
dd 10111000_00000000_00000000_00000001b ;`{|} DEL
|
dd 1 shl 0 + 1 shl 27 + 1 shl 28 + 1 shl 29 + 1 shl 31 ;`{|} DEL
|
||||||
dd 0xffffffff ;80-9F
|
|
||||||
dd 0xffffffff ;A0-BF
|
dd 0xffffffff
|
||||||
dd 0xffffffff ;C0-DF
|
dd 0xffffffff
|
||||||
dd 0xffffffff ;E0-FF
|
dd 0xffffffff
|
||||||
|
dd 0xffffffff
|
||||||
|
|
||||||
str_hex:
|
str_hex:
|
||||||
db '0123456789ABCDEF'
|
db '0123456789ABCDEF'
|
||||||
|
@@ -1,34 +0,0 @@
|
|||||||
;
|
|
||||||
; Export functions
|
|
||||||
;
|
|
||||||
|
|
||||||
E_LIB lib_init
|
|
||||||
E_LIB version
|
|
||||||
E_LIB img_is_img
|
|
||||||
E_LIB img_info
|
|
||||||
E_LIB img_from_file
|
|
||||||
E_LIB img_to_file
|
|
||||||
E_LIB img_from_rgb
|
|
||||||
E_LIB img_to_rgb
|
|
||||||
E_LIB img_to_rgb2
|
|
||||||
E_LIB img_decode
|
|
||||||
E_LIB img_encode ;supported formats: PNG 24 32, BMP 24 32, PNM 1 8g 24
|
|
||||||
E_LIB img_create
|
|
||||||
E_LIB img_destroy
|
|
||||||
E_LIB img_destroy_layer
|
|
||||||
E_LIB img_count
|
|
||||||
E_LIB img_lock_bits
|
|
||||||
E_LIB img_unlock_bits
|
|
||||||
E_LIB img_flip
|
|
||||||
E_LIB img_flip_layer
|
|
||||||
E_LIB img_rotate
|
|
||||||
E_LIB img_rotate_layer
|
|
||||||
E_LIB img_draw
|
|
||||||
E_LIB img_scale
|
|
||||||
E_LIB img_get_scaled_size
|
|
||||||
E_LIB img_convert
|
|
||||||
E_LIB img_blend
|
|
||||||
E_LIB img_resize_data
|
|
||||||
E_LIB img_formats_table
|
|
||||||
|
|
||||||
purge E_LIB
|
|
@@ -1,20 +0,0 @@
|
|||||||
align 4
|
|
||||||
import_libimg:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if n eq lib_init
|
|
||||||
dd strz_#n
|
|
||||||
else if defined sz_#n
|
|
||||||
n dd sz_#n
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
if used n
|
|
||||||
sz_#n db `n,0
|
|
||||||
end if
|
|
||||||
}
|
|
||||||
include 'export.inc'
|
|
@@ -23,9 +23,6 @@ library_fun_memory_free equ mem_free
|
|||||||
library_fun_memory_realloc equ mem_realloc
|
library_fun_memory_realloc equ mem_realloc
|
||||||
library_fun_dll_load equ dll_load
|
library_fun_dll_load equ dll_load
|
||||||
|
|
||||||
align 4
|
|
||||||
strz_lib_init db 'lib_init',0
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
arrea_xx dd 0
|
arrea_xx dd 0
|
||||||
file_name db '/sys/@notify',0
|
file_name db '/sys/@notify',0
|
||||||
@@ -217,7 +214,7 @@ end if
|
|||||||
jmp i_error
|
jmp i_error
|
||||||
align 4
|
align 4
|
||||||
i_begin:
|
i_begin:
|
||||||
import_some_library myimport
|
import_boxlib myimport
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz i_exit
|
jz i_exit
|
||||||
i_error:
|
i_error:
|
||||||
@@ -237,13 +234,13 @@ macro load_library library_name__, library_path__, system_path__, myimport, poin
|
|||||||
local i_begin
|
local i_begin
|
||||||
local i_error
|
local i_error
|
||||||
local i_exit
|
local i_exit
|
||||||
|
push ebx
|
||||||
if point_dir_name__ eq
|
if point_dir_name__ eq
|
||||||
copy_path library_name__, [32], library_path__,0
|
copy_path library_name__, [32], library_path__,0
|
||||||
else
|
else
|
||||||
;the macros making way /current path a program/ + name system library
|
;the macros making way /current path a program/ + name system library
|
||||||
copy_path library_name__, [32], library_path__,point_dir_name__
|
copy_path library_name__, [32], library_path__,point_dir_name__
|
||||||
end if
|
end if
|
||||||
push ebx
|
|
||||||
mcall SF_SYS_MISC,SSF_LOAD_DLL,library_path__ ; load of alternative
|
mcall SF_SYS_MISC,SSF_LOAD_DLL,library_path__ ; load of alternative
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jnz i_begin
|
jnz i_begin
|
||||||
@@ -254,7 +251,7 @@ end if
|
|||||||
jmp i_error
|
jmp i_error
|
||||||
align 4
|
align 4
|
||||||
i_begin:
|
i_begin:
|
||||||
import_some_library myimport
|
import_boxlib myimport
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz i_exit
|
jz i_exit
|
||||||
i_error:
|
i_error:
|
||||||
@@ -312,7 +309,7 @@ align 4
|
|||||||
align 4
|
align 4
|
||||||
end_steep:
|
end_steep:
|
||||||
mov adr_load_lib,eax ;save adr lib in memory
|
mov adr_load_lib,eax ;save adr lib in memory
|
||||||
import_some_library my_import
|
import_boxlib my_import
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz cycle0n
|
jz cycle0n
|
||||||
or status_lib,2 ; status of code - enable error - import error
|
or status_lib,2 ; status of code - enable error - import error
|
||||||
@@ -390,7 +387,7 @@ align 4
|
|||||||
align 4
|
align 4
|
||||||
end_steep:
|
end_steep:
|
||||||
mov adr_load_lib,eax ;save adr lib in memory
|
mov adr_load_lib,eax ;save adr lib in memory
|
||||||
import_some_library my_import
|
import_boxlib my_import
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz cycle0n
|
jz cycle0n
|
||||||
or status_lib,2 ; status of code - enable error - import error
|
or status_lib,2 ; status of code - enable error - import error
|
||||||
@@ -454,7 +451,7 @@ pop ebx eax
|
|||||||
;output:
|
;output:
|
||||||
; eax - <20> 㤠筮 <20><> 0 <20><><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD> <20>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㧨<EFBFBD><E3A7A8>
|
; eax - <20> 㤠筮 <20><> 0 <20><><EFBFBD> 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD> <20>㭪樨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㧨<EFBFBD><E3A7A8>
|
||||||
; ebx - ࠧ<><E0A0A7>蠥<EFBFBD><E8A0A5><EFBFBD>
|
; ebx - ࠧ<><E0A0A7>蠥<EFBFBD><E8A0A5><EFBFBD>
|
||||||
macro import_some_library myimport
|
macro import_boxlib myimport
|
||||||
{
|
{
|
||||||
local import_loop
|
local import_loop
|
||||||
local import_find
|
local import_find
|
||||||
|
@@ -1,4 +0,0 @@
|
|||||||
if tup.getconfig("NO_FASM") ~= "" then return end
|
|
||||||
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
|
|
||||||
tup.include(HELPERDIR .. "/use_fasm.lua")
|
|
||||||
tup.rule("magnify.asm", FASM .. " -dlang=" .. tup.getconfig("LANG") .. " %f %o" .. tup.getconfig("KPACK_CMD"), "%B")
|
|
@@ -1,229 +0,0 @@
|
|||||||
; SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
;
|
|
||||||
; Magnify - Screen Magnifier
|
|
||||||
; Copyright (C) 2005 MenuetOS
|
|
||||||
; Copyright (C) 2005-2025 KolibriOS team
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
use32
|
|
||||||
org 0x0
|
|
||||||
|
|
||||||
db 'MENUET01'
|
|
||||||
dd 1
|
|
||||||
dd START
|
|
||||||
dd I_END
|
|
||||||
dd MEM
|
|
||||||
dd STACKTOP
|
|
||||||
dd 0, 0
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
include '../../macros.inc'
|
|
||||||
include "../../KOSfuncs.inc"
|
|
||||||
include "../../encoding.inc"
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
START:
|
|
||||||
mcall SF_SET_EVENTS_MASK, EVM_REDRAW or EVM_BUTTON or EVM_MOUSE
|
|
||||||
|
|
||||||
mcall SF_SYS_MISC, SSF_HEAP_INIT
|
|
||||||
|
|
||||||
; initializing MAG_H * MAG_W rect of pixels from screen
|
|
||||||
mcall SF_SYS_MISC, SSF_MEM_ALLOC, MAG_H * MAG_W * 3
|
|
||||||
mov [screen_rect], eax
|
|
||||||
|
|
||||||
call logic_read_screen
|
|
||||||
|
|
||||||
still:
|
|
||||||
mcall SF_WAIT_EVENT_TIMEOUT, DELAY
|
|
||||||
|
|
||||||
cmp eax, EV_REDRAW
|
|
||||||
je redraw
|
|
||||||
|
|
||||||
cmp eax, EV_BUTTON
|
|
||||||
je button
|
|
||||||
|
|
||||||
cmp eax, EV_MOUSE
|
|
||||||
je mouse
|
|
||||||
|
|
||||||
jmp redraw
|
|
||||||
|
|
||||||
redraw:
|
|
||||||
call draw_window
|
|
||||||
call draw_magnify
|
|
||||||
|
|
||||||
jmp still
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
button:
|
|
||||||
; we have only one button, close
|
|
||||||
or eax, SF_TERMINATE_PROCESS
|
|
||||||
mcall
|
|
||||||
|
|
||||||
mouse:
|
|
||||||
mcall SF_MOUSE_GET, SSF_BUTTON
|
|
||||||
|
|
||||||
test ax, 0x0001
|
|
||||||
jnz still
|
|
||||||
|
|
||||||
call logic_read_screen
|
|
||||||
call draw_magnify
|
|
||||||
|
|
||||||
jmp still
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
; ******* WINDOW DEFINITIONS AND DRAW ********
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
draw_window:
|
|
||||||
|
|
||||||
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
|
||||||
|
|
||||||
mcall SF_STYLE_SETTINGS, SSF_GET_SKIN_HEIGHT
|
|
||||||
|
|
||||||
mov ecx, eax
|
|
||||||
add ecx, WIN.Y shl 16 + WIN.H
|
|
||||||
|
|
||||||
mcall SF_CREATE_WINDOW, <WIN.X, WIN.W>, , 0x34181818, , labelt
|
|
||||||
|
|
||||||
mcall SF_REDRAW, SSF_END_DRAW
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
; MAG_H * MAG_W pixels grid
|
|
||||||
draw_magnify:
|
|
||||||
|
|
||||||
mcall SF_THREAD_INFO, procinfo, -1
|
|
||||||
mov al, byte [procinfo.wnd_state]
|
|
||||||
test al, 0x04
|
|
||||||
jne .du_loop_end
|
|
||||||
|
|
||||||
mov eax, SF_DRAW_RECT
|
|
||||||
mov ebx, MAG_S - 1
|
|
||||||
mov ecx, MAG_S - 1
|
|
||||||
mov esi, [screen_rect]
|
|
||||||
mov edi, MAG_W * MAG_H
|
|
||||||
|
|
||||||
.du_loop_rect:
|
|
||||||
mcall , , , dword [esi]
|
|
||||||
add ebx, MAG_S shl 16
|
|
||||||
cmp ebx, MAG_S * MAG_W shl 16
|
|
||||||
jle .du_loop_rect_row
|
|
||||||
mov ebx, MAG_S - 1
|
|
||||||
add ecx, MAG_S shl 16
|
|
||||||
|
|
||||||
.du_loop_rect_row:
|
|
||||||
add esi, 3
|
|
||||||
dec edi
|
|
||||||
jne .du_loop_rect
|
|
||||||
|
|
||||||
.du_loop_end:
|
|
||||||
ret
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
; LOGIC AREA
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
; read array of pixels from screen by mouse coords
|
|
||||||
logic_read_screen:
|
|
||||||
|
|
||||||
mcall SF_MOUSE_GET, SSF_SCREEN_POSITION
|
|
||||||
mov edx, eax
|
|
||||||
|
|
||||||
; clamping mouse coords to stay within the screen
|
|
||||||
mcall SF_GET_SCREEN_SIZE
|
|
||||||
mov ebx, eax
|
|
||||||
call logic_clamp_pixels
|
|
||||||
|
|
||||||
sub edx, (MAG_W / 2) shl 16 + (MAG_H / 2)
|
|
||||||
mcall SF_GET_IMAGE, [screen_rect], <MAG_W, MAG_H>,
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
; clamping mouse coords to stay within the screen
|
|
||||||
logic_clamp_pixels:
|
|
||||||
|
|
||||||
mov eax, edx
|
|
||||||
shr eax, 16
|
|
||||||
mov cx, ax
|
|
||||||
mov ax, dx
|
|
||||||
|
|
||||||
push ax
|
|
||||||
push cx
|
|
||||||
mov ax, bx
|
|
||||||
mov di, ax
|
|
||||||
mov eax, ebx
|
|
||||||
shr eax, 16
|
|
||||||
mov si, ax
|
|
||||||
|
|
||||||
pop cx
|
|
||||||
pop ax
|
|
||||||
|
|
||||||
.check_min_x:
|
|
||||||
cmp cx, MAG_W / 2
|
|
||||||
jge .check_min_y
|
|
||||||
mov cx, MAG_W / 2
|
|
||||||
.check_min_y:
|
|
||||||
cmp ax, MAG_H / 2
|
|
||||||
jge .check_max_x
|
|
||||||
mov ax, MAG_H / 2
|
|
||||||
.check_max_x:
|
|
||||||
mov dx, si
|
|
||||||
sub dx, MAG_W / 2 - 1
|
|
||||||
cmp cx, dx
|
|
||||||
jle .check_max_y
|
|
||||||
mov cx, dx
|
|
||||||
.check_max_y:
|
|
||||||
mov dx, di
|
|
||||||
sub dx, MAG_H / 2 - 1
|
|
||||||
cmp ax, dx
|
|
||||||
jle .combine_coords
|
|
||||||
mov ax, dx
|
|
||||||
|
|
||||||
.combine_coords:
|
|
||||||
mov dx, cx
|
|
||||||
shl edx, 16
|
|
||||||
or dx, ax
|
|
||||||
|
|
||||||
ret
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
; DATA AREA
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
DELAY = 5
|
|
||||||
|
|
||||||
MAG_W = 40
|
|
||||||
MAG_H = 30
|
|
||||||
MAG_S = 8
|
|
||||||
|
|
||||||
WIN RECT 100, 100, MAG_W * MAG_S + 8, MAG_H * MAG_S + 3
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
if lang eq ru_RU
|
|
||||||
labelt cp866 'Magnify - Экранная лупа', 0
|
|
||||||
else if lang eq es_ES
|
|
||||||
labelt db 'Magnify - Lupa de Pantalla', 0
|
|
||||||
else
|
|
||||||
labelt db 'Magnify - Screen Magnifier', 0
|
|
||||||
endf
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
screen_rect dd 0x00000000
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
I_END:
|
|
||||||
rb 512
|
|
||||||
align 512
|
|
||||||
|
|
||||||
STACKTOP:
|
|
||||||
procinfo process_information
|
|
||||||
MEM:
|
|
Reference in New Issue
Block a user