Compare commits
5 Commits
blocks-add
...
rewrite_id
Author | SHA1 | Date | |
---|---|---|---|
b96437334b | |||
bff8f4e5a5 | |||
e423bfb2d1 | |||
1483ec8462 | |||
e8121c66f8 |
@@ -69,6 +69,7 @@ img_files = {
|
|||||||
{"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
|
{"SETTINGS/SYSTEM.INI", "common/settings/system.ini"},
|
||||||
{"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
|
{"SETTINGS/TASKBAR.INI", "common/settings/taskbar.ini"},
|
||||||
{"SETTINGS/SYSTEM.ENV", "common/settings/system.env"},
|
{"SETTINGS/SYSTEM.ENV", "common/settings/system.env"},
|
||||||
|
{"SETTINGS/USBDRV.DAT",VAR_DRVS .. "/usb/usbother/usbdrv.dat"},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- For russian build, add russian-only files.
|
-- For russian build, add russian-only files.
|
||||||
@@ -567,6 +568,7 @@ tup.append_table(img_files, {
|
|||||||
{"DRIVERS/OHCI.SYS", VAR_DRVS .. "/usb/ohci.sys"},
|
{"DRIVERS/OHCI.SYS", VAR_DRVS .. "/usb/ohci.sys"},
|
||||||
{"DRIVERS/EHCI.SYS", VAR_DRVS .. "/usb/ehci.sys"},
|
{"DRIVERS/EHCI.SYS", VAR_DRVS .. "/usb/ehci.sys"},
|
||||||
{"DRIVERS/USBHID.SYS", VAR_DRVS .. "/usb/usbhid/usbhid.sys"},
|
{"DRIVERS/USBHID.SYS", VAR_DRVS .. "/usb/usbhid/usbhid.sys"},
|
||||||
|
{"DRIVERS/USBOTHER.SYS",VAR_DRVS .. "/usb/usbother/usbother.sys"},
|
||||||
{"DRIVERS/USBSTOR.SYS", VAR_DRVS .. "/usb/usbstor.sys"},
|
{"DRIVERS/USBSTOR.SYS", VAR_DRVS .. "/usb/usbstor.sys"},
|
||||||
{"DRIVERS/RDC.SYS", VAR_DRVS .. "/video/rdc.sys"},
|
{"DRIVERS/RDC.SYS", VAR_DRVS .. "/video/rdc.sys"},
|
||||||
{"DRIVERS/COMMOUSE.SYS", VAR_DRVS .. "/mouse/commouse.sys"},
|
{"DRIVERS/COMMOUSE.SYS", VAR_DRVS .. "/mouse/commouse.sys"},
|
||||||
|
4
drivers/usb/usbother/Tupfile.lua
Normal file
4
drivers/usb/usbother/Tupfile.lua
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
if tup.getconfig("NO_FASM") ~= "" then return end
|
||||||
|
ROOT = "../../.."
|
||||||
|
tup.rule("usbother.asm", "fasm %f %o " .. tup.getconfig("PESTRIP_CMD") .. tup.getconfig("KPACK_CMD"), "%B.sys")
|
||||||
|
tup.rule("usbdrv.asm", "fasm %f %o ", "%B.dat")
|
214
drivers/usb/usbother/usbdrv.asm
Normal file
214
drivers/usb/usbother/usbdrv.asm
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
;*****************************************************************************;
|
||||||
|
; Copyright (C) 2025, Mikhail Frolov aka Doczom . All rights reserved. ;
|
||||||
|
; Distributed under terms of the 3-Clause BSD License. ;
|
||||||
|
;*****************************************************************************;
|
||||||
|
; File of usb drivers
|
||||||
|
; base = 0
|
||||||
|
; offset | Size | Name | Description
|
||||||
|
;=======================|=======|===============|=============================
|
||||||
|
; base + 0 | 4 | ID_drv_table | offset to dev_ven drv array
|
||||||
|
; base + 4 | 4 | Class_table | offset to class drv array
|
||||||
|
;
|
||||||
|
; n = 0 .. count driver with ID table
|
||||||
|
; nt = count driver with ID table
|
||||||
|
; ID_drv_table + 0*(n-1)| 4 | ID_TABLE | offset from base to table VID:PID
|
||||||
|
; ID_drv_table + 4*(n-1)| 4 | DRV_NAME | offset from base to name of driver
|
||||||
|
; ID_drv_table + 8*nt | 8 | __ZERO | terminaror of list
|
||||||
|
|
||||||
|
; k = 0 .. count driver on class code
|
||||||
|
; kt = count driver on class code
|
||||||
|
; Class_table + 0*(k-1) | 1 | LENGTH_CLASS | length of class code 1..3
|
||||||
|
; Class_table + 1*(k-1) | 1 | USB_CLASS | main usb class code (M)
|
||||||
|
; Class_table + 2*(k-1) | 1 | USB_SUBCLASS | USB subclass code or zero(V)
|
||||||
|
; Class_table + 2*(k-1) | 1 | USB_PROTOCOL | USB protocol code or zero(V)
|
||||||
|
; Class_table + 4*(k-1) | 4 | DRV_NAME | offset from base to name of driver
|
||||||
|
; Class_table + 8*kt | 8 | __ZERO | terminaror of list
|
||||||
|
|
||||||
|
; i = 0 .. count VID:PID
|
||||||
|
; it = count VID:PID
|
||||||
|
; ID_TABLE + 0*(i-1) | 2 | VID | Vendor id
|
||||||
|
; ID_TABLE + 2*(i-1) | 2 | PID | Product id
|
||||||
|
; ID_TABLE + 4*it | 4 | __ZERO | terminaror of list
|
||||||
|
|
||||||
|
|
||||||
|
macro INIT_USBDRV_FILE {
|
||||||
|
local ..id_list, ..class_list
|
||||||
|
|
||||||
|
format binary as 'dat'
|
||||||
|
use32
|
||||||
|
org 0
|
||||||
|
dd ..id_list
|
||||||
|
dd ..class_list
|
||||||
|
|
||||||
|
|
||||||
|
macro ID_DRV_TABLE \{
|
||||||
|
dd 0, 0
|
||||||
|
\}
|
||||||
|
|
||||||
|
macro CLASS_TABLE \{
|
||||||
|
dd 0, 0
|
||||||
|
\}
|
||||||
|
macro ID_TABLE \{
|
||||||
|
\}
|
||||||
|
macro DRV_NAME_LIST \{
|
||||||
|
\}
|
||||||
|
postpone \{
|
||||||
|
..id_list: ID_DRV_TABLE
|
||||||
|
..class_list: CLASS_TABLE
|
||||||
|
ID_TABLE
|
||||||
|
DRV_NAME_LIST
|
||||||
|
\}
|
||||||
|
}
|
||||||
|
|
||||||
|
macro ADD_CLASS drv_name, class, subclass, protocol {
|
||||||
|
|
||||||
|
local ..length, ..class_code, ..drv_name
|
||||||
|
|
||||||
|
..length = 3
|
||||||
|
|
||||||
|
match =X, class \{
|
||||||
|
err 'Class is mandatory argument'
|
||||||
|
\}
|
||||||
|
match =X, protocol \{
|
||||||
|
..length = 2
|
||||||
|
\}
|
||||||
|
match =X, subclass \{
|
||||||
|
..length = 1
|
||||||
|
\}
|
||||||
|
|
||||||
|
..class_code = ..length or (class shl 8)
|
||||||
|
|
||||||
|
if ..length = 3
|
||||||
|
..class_code = ..class_code or (protocol shl 24)
|
||||||
|
end if
|
||||||
|
if ..length = 2
|
||||||
|
..class_code = ..class_code or (subclass shl 16)
|
||||||
|
end if
|
||||||
|
|
||||||
|
|
||||||
|
; add in list
|
||||||
|
|
||||||
|
macro DRV_NAME_LIST \{
|
||||||
|
..drv_name: db drv_name, 0
|
||||||
|
DRV_NAME_LIST
|
||||||
|
\}
|
||||||
|
|
||||||
|
macro CLASS_TABLE \{
|
||||||
|
dd ..class_code, ..drv_name
|
||||||
|
CLASS_TABLE
|
||||||
|
\}
|
||||||
|
}
|
||||||
|
|
||||||
|
macro ADD_ID drv_name, [device_id] {
|
||||||
|
common
|
||||||
|
local ..drv_name, ..id_table
|
||||||
|
|
||||||
|
macro ID_TABLE \{
|
||||||
|
ID_TABLE
|
||||||
|
..id_table:
|
||||||
|
\}
|
||||||
|
|
||||||
|
reverse
|
||||||
|
local vid_pid
|
||||||
|
match VID:PID, device_id \{
|
||||||
|
vid_pid = (PID shl 16) + VID
|
||||||
|
\}
|
||||||
|
|
||||||
|
|
||||||
|
macro ID_TABLE \{
|
||||||
|
ID_TABLE
|
||||||
|
dd vid_pid
|
||||||
|
\}
|
||||||
|
|
||||||
|
common
|
||||||
|
macro ID_TABLE \{
|
||||||
|
ID_TABLE
|
||||||
|
dd 0
|
||||||
|
\}
|
||||||
|
macro DRV_NAME_LIST \{
|
||||||
|
..drv_name: db drv_name, 0
|
||||||
|
DRV_NAME_LIST
|
||||||
|
\}
|
||||||
|
macro ID_DRV_TABLE \{
|
||||||
|
dd ..id_table, ..drv_name
|
||||||
|
ID_DRV_TABLE
|
||||||
|
\}
|
||||||
|
}
|
||||||
|
|
||||||
|
; ADD ID driver Linux
|
||||||
|
macro ADD_IDL drv_name, [vendor_id, device_id] {
|
||||||
|
common
|
||||||
|
local ..drv_name, ..id_table
|
||||||
|
|
||||||
|
macro ID_TABLE \{
|
||||||
|
ID_TABLE
|
||||||
|
..id_table:
|
||||||
|
\}
|
||||||
|
|
||||||
|
reverse
|
||||||
|
local vid_pid
|
||||||
|
vid_pid = (device_id shl 16) + vendor_id
|
||||||
|
|
||||||
|
macro ID_TABLE \{
|
||||||
|
ID_TABLE
|
||||||
|
dd vid_pid
|
||||||
|
\}
|
||||||
|
|
||||||
|
common
|
||||||
|
macro ID_TABLE \{
|
||||||
|
ID_TABLE
|
||||||
|
dd 0
|
||||||
|
\}
|
||||||
|
macro DRV_NAME_LIST \{
|
||||||
|
..drv_name: db drv_name, 0
|
||||||
|
DRV_NAME_LIST
|
||||||
|
\}
|
||||||
|
macro ID_DRV_TABLE \{
|
||||||
|
dd ..id_table, ..drv_name
|
||||||
|
ID_DRV_TABLE
|
||||||
|
\}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
INIT_USBDRV_FILE
|
||||||
|
|
||||||
|
;ADD_CLASS 'usbcdc-ctrl' , 0x02, X , X
|
||||||
|
;ADD_CLASS 'usbimage' , 0x06, 1 , 1
|
||||||
|
;ADD_CLASS 'usbcdc-data' , 0x0A, X , X
|
||||||
|
;ADD_CLASS 'ccid' , 0x0B, X , X
|
||||||
|
;ADD_CLASS 'uvd' , 0x0E, X , X
|
||||||
|
;ADD_CLASS 'uvd_2' , 0x0E, 0x02, X
|
||||||
|
;ADD_CLASS 'usb_bluetooth' , 0xE0, 0x01, X
|
||||||
|
;ADD_CLASS 'usb_wifi' , 0xE0, 0x02, X
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ADD_ID 'usbftdi',\
|
||||||
|
0x0403:0 ; Any FTDI device
|
||||||
|
|
||||||
|
;https://github.com/avrdudes/avrdude/blob/main/src/usbdevs.h#L51
|
||||||
|
;ADD_ID 'usbasp',\
|
||||||
|
; 0x16c0:0x05dc,\ ; VOTI Obdev's free shared PID
|
||||||
|
; 0x03e8:0xc7b4,\ ; ATMEL (unofficial) USBasp
|
||||||
|
; 0x16c0:0x092f ; VOTI NIBObee PID
|
||||||
|
|
||||||
|
;https://github.com/WCHSoftGroup/ch341par_linux/blob/main/driver/ch34x_pis.c
|
||||||
|
;ADD_IDL 'ch341par',\
|
||||||
|
; 0x1a86, 0x5512,\ ; ch341a default
|
||||||
|
; 0x1a86, 0x55db,\ ; CH347T Mode1 SPI+IIC+UART
|
||||||
|
; 0x1a86, 0x55dd,\ ; CH347T Mode3 JTAG+UART
|
||||||
|
; 0x1a86, 0x55de,\ ; CH347F
|
||||||
|
; 0x1a86, 0x55e7 ; CH339W
|
||||||
|
|
||||||
|
;https://github.com/openbsd/src/blob/master/sys/dev/usb/uchcom.c
|
||||||
|
;https://github.com/WCHSoftGroup/ch341ser_linux/blob/main/driver/ch341.c
|
||||||
|
;ADD_IDL 'ch341ser',\
|
||||||
|
; 0x1a86, 0x7523,\ ; ch340 chip
|
||||||
|
; 0x1a86, 0x7522,\ ; ch340k chip
|
||||||
|
; 0x1a86, 0x5523,\ ; ch341 chip
|
||||||
|
; 0x1a86, 0xe523,\ ; ch330 chip
|
||||||
|
; 0x4348, 0x5523 ; ch340 custom chip
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
523
drivers/usb/usbother/usbother.asm
Normal file
523
drivers/usb/usbother/usbother.asm
Normal file
@@ -0,0 +1,523 @@
|
|||||||
|
;*****************************************************************************;
|
||||||
|
; Copyright (C) 2025, Mikhail Frolov aka Doczom . All rights reserved. ;
|
||||||
|
; Distributed under terms of the 3-Clause BSD License. ;
|
||||||
|
; ;
|
||||||
|
; usbother is a driver for loading USB drivers of a certain class and vendor. ;
|
||||||
|
; ;
|
||||||
|
; Version 0.1.1, 24 May 2025 ;
|
||||||
|
; ;
|
||||||
|
;*****************************************************************************;
|
||||||
|
format PE native 0.05
|
||||||
|
entry START
|
||||||
|
; const
|
||||||
|
|
||||||
|
DRV_VERSION = 0x0101 ; 0.1.1
|
||||||
|
|
||||||
|
|
||||||
|
; struct
|
||||||
|
include '../../struct.inc'
|
||||||
|
|
||||||
|
; USB device descriptor
|
||||||
|
struct DEVICE_DESCR
|
||||||
|
bLength db ?
|
||||||
|
bDescriptorType db ?
|
||||||
|
bcdUSB dw ?
|
||||||
|
bDeviceClass db ?
|
||||||
|
bDeviceSubClass db ?
|
||||||
|
bDeviceProtocol db ?
|
||||||
|
bMaxPacketSize0 db ?
|
||||||
|
idVendor dw ?
|
||||||
|
idProduct dw ?
|
||||||
|
bcdDevice dw ?
|
||||||
|
iManufacturer db ?
|
||||||
|
iProduct db ?
|
||||||
|
iSerialNumber db ?
|
||||||
|
bNumConfigurations db ?
|
||||||
|
ends
|
||||||
|
|
||||||
|
struct INTERFACE_DESCR
|
||||||
|
bLength db ?
|
||||||
|
bDescriptorType db ?
|
||||||
|
bInterfaceNumber db ?
|
||||||
|
bAlternateSetting db ?
|
||||||
|
bNumEndpoints db ?
|
||||||
|
bInterfaceClass db ?
|
||||||
|
bInterfaceSubClass db ?
|
||||||
|
bInterfaceProtocol db ?
|
||||||
|
iInterface db ?
|
||||||
|
ends
|
||||||
|
|
||||||
|
|
||||||
|
struct SRV
|
||||||
|
srv_name rb 16 ;ASCIIZ string
|
||||||
|
magic dd ? ;+0x10 ;'SRV '
|
||||||
|
size dd ? ;+0x14 ;size of structure SRV
|
||||||
|
fd dd ? ;+0x18 ;next SRV descriptor
|
||||||
|
bk dd ? ;+0x1C ;prev SRV descriptor
|
||||||
|
base dd ? ;+0x20 ;service base address
|
||||||
|
entry dd ? ;+0x24 ;service START function
|
||||||
|
srv_proc dd ? ;+0x28 ;user mode service handler
|
||||||
|
srv_proc_ex dd ? ;+0x2C ;kernel mode service handler
|
||||||
|
ends
|
||||||
|
|
||||||
|
struct USBSRV
|
||||||
|
srv SRV
|
||||||
|
usb_func dd ?
|
||||||
|
ends
|
||||||
|
|
||||||
|
struct USBFUNC
|
||||||
|
strucsize dd ?
|
||||||
|
add_device dd ?
|
||||||
|
device_disconnect dd ?
|
||||||
|
ends
|
||||||
|
|
||||||
|
USBDRV_TYPE_NOLOCK = 0 ; usb device not controlled (native driver
|
||||||
|
; not found and IOCTL not opened device)
|
||||||
|
USBDRV_TYPE_NATIVE = 1 ; native PE kernel driver for usb
|
||||||
|
USBDRV_TYPE_IOCTL = 2 ; usb device is controlled by IOCTL service
|
||||||
|
; (driver or userspace process/threads)
|
||||||
|
USBDRV_IOCTL_BLOCKED = 4 ; blocked IOCTL interface, device disconnected
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
struct DRV_CONTEXT
|
||||||
|
next dd ?
|
||||||
|
prev dd ?
|
||||||
|
drv_hand dd ?
|
||||||
|
drv_pdata dd ?
|
||||||
|
flags dd ?
|
||||||
|
|
||||||
|
config_descr dd ?
|
||||||
|
interface_descr dd ?
|
||||||
|
ep rd 64 ; 32 IN + 32 OUT endpoints' pipes
|
||||||
|
ends
|
||||||
|
DRV_CONTEXT.ep0 fix (DRV_CONTEXT.ep + 0)
|
||||||
|
|
||||||
|
|
||||||
|
section '.flat' code readable writable executable
|
||||||
|
|
||||||
|
include '../../proc32.inc'
|
||||||
|
include '../../peimport.inc'
|
||||||
|
include '../../macros.inc'
|
||||||
|
|
||||||
|
|
||||||
|
proc START c, state:dword, cmdline:dword
|
||||||
|
|
||||||
|
cmp [state], DRV_ENTRY
|
||||||
|
jne .end
|
||||||
|
; init
|
||||||
|
|
||||||
|
mov ecx, drv_list_lock
|
||||||
|
invoke MutexInit
|
||||||
|
|
||||||
|
mov ecx, interface_list_lock
|
||||||
|
invoke MutexInit
|
||||||
|
|
||||||
|
; load drv_list
|
||||||
|
stdcall load_drv_list, default_list
|
||||||
|
test eax, eax
|
||||||
|
jnz .end
|
||||||
|
|
||||||
|
; reg driver
|
||||||
|
invoke RegUSBDriver, drv_name, service_proc, usb_functions
|
||||||
|
ret
|
||||||
|
.end:
|
||||||
|
xor eax, eax
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
proc load_drv_list stdcall, .path:dword
|
||||||
|
|
||||||
|
push ebx
|
||||||
|
mov ecx, drv_list_lock
|
||||||
|
invoke MutexLock
|
||||||
|
; load file
|
||||||
|
invoke LoadFile, [.path]
|
||||||
|
test eax, eax
|
||||||
|
push eax
|
||||||
|
jnz @f
|
||||||
|
mov dword[esp], -1
|
||||||
|
jmp .exit
|
||||||
|
@@:
|
||||||
|
cmp [drv_list], 0
|
||||||
|
jz @f
|
||||||
|
|
||||||
|
invoke KernelFree, [drv_list]
|
||||||
|
@@:
|
||||||
|
mov eax,[esp]
|
||||||
|
mov [drv_list], eax
|
||||||
|
mov dword[esp], 0
|
||||||
|
.exit:
|
||||||
|
mov ecx, drv_list_lock
|
||||||
|
invoke MutexUnlock
|
||||||
|
pop eax
|
||||||
|
pop ebx
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
|
||||||
|
proc service_proc stdcall, .ioctl:dword
|
||||||
|
|
||||||
|
push esi
|
||||||
|
or eax, -1
|
||||||
|
mov esi, [.ioctl]
|
||||||
|
|
||||||
|
mov ecx, [esi + IOCTL.io_code]
|
||||||
|
cmp ecx, .count_ioctl_codes
|
||||||
|
jae .fail
|
||||||
|
|
||||||
|
jmp dword[.table_subfunction + ecx*4]
|
||||||
|
|
||||||
|
.table_subfunction:
|
||||||
|
dd .get_version
|
||||||
|
dd .update_list
|
||||||
|
dd .get_array_dev
|
||||||
|
dd .get_full_dev_data
|
||||||
|
dd .open_dev
|
||||||
|
dd .close_dev
|
||||||
|
dd .control_transfer
|
||||||
|
dd .bulk_transfer
|
||||||
|
dd .interrupt_transfer
|
||||||
|
;dd .control_transfer_async
|
||||||
|
;dd .bulk_transfer_async
|
||||||
|
;dd .interrupt_transfer_async
|
||||||
|
.count_ioctl_codes = ($ - .table_subfunction)/4
|
||||||
|
|
||||||
|
.get_version:
|
||||||
|
mov eax, [esi + IOCTL.output]
|
||||||
|
cmp [esi + IOCTL.out_size], 4
|
||||||
|
jne .fail
|
||||||
|
|
||||||
|
mov dword[eax], DRV_VERSION
|
||||||
|
xor eax, eax
|
||||||
|
jmp .exit
|
||||||
|
|
||||||
|
.update_list:
|
||||||
|
; update list
|
||||||
|
mov ecx, [esi + IOCTL.input]
|
||||||
|
cmp [esi + IOCTL.inp_size], 0
|
||||||
|
jnz @f
|
||||||
|
|
||||||
|
mov ecx, default_list
|
||||||
|
@@:
|
||||||
|
stdcall load_drv_list, ecx
|
||||||
|
|
||||||
|
.exit:
|
||||||
|
pop esi
|
||||||
|
ret
|
||||||
|
|
||||||
|
.get_array_dev:
|
||||||
|
.get_full_dev_data:
|
||||||
|
.open_dev:
|
||||||
|
.close_dev:
|
||||||
|
;
|
||||||
|
.control_transfer:
|
||||||
|
.bulk_transfer:
|
||||||
|
.interrupt_transfer:
|
||||||
|
|
||||||
|
.fail:
|
||||||
|
or eax, -1
|
||||||
|
jmp .exit
|
||||||
|
endp
|
||||||
|
|
||||||
|
|
||||||
|
proc AddDevice stdcall, .config_pipe:dword, \
|
||||||
|
.config_descr:dword,\
|
||||||
|
.interface:dword
|
||||||
|
|
||||||
|
push esi edi
|
||||||
|
mov eax, sizeof.DRV_CONTEXT
|
||||||
|
invoke Kmalloc
|
||||||
|
test eax, eax
|
||||||
|
jz .err_init
|
||||||
|
|
||||||
|
mov esi, eax
|
||||||
|
|
||||||
|
mov ecx, interface_list_lock
|
||||||
|
invoke MutexLock
|
||||||
|
|
||||||
|
mov edx, [usb_interface_list] ; next
|
||||||
|
mov [esi + DRV_CONTEXT.next], edx
|
||||||
|
mov [esi + DRV_CONTEXT.prev], usb_interface_list
|
||||||
|
mov [usb_interface_list], esi
|
||||||
|
mov [edx + DRV_CONTEXT.prev], esi
|
||||||
|
|
||||||
|
mov ecx, interface_list_lock
|
||||||
|
invoke MutexUnlock
|
||||||
|
|
||||||
|
and [esi + DRV_CONTEXT.drv_hand], 0
|
||||||
|
mov [esi + DRV_CONTEXT.flags], USBDRV_TYPE_NOLOCK
|
||||||
|
|
||||||
|
; lock mutex
|
||||||
|
mov ecx, drv_list_lock
|
||||||
|
invoke MutexLock
|
||||||
|
|
||||||
|
; save device context data
|
||||||
|
mov eax, [.config_pipe]
|
||||||
|
mov [esi + DRV_CONTEXT.ep0], eax
|
||||||
|
mov eax, [.config_descr]
|
||||||
|
mov [esi + DRV_CONTEXT.config_descr], eax
|
||||||
|
mov eax, [.interface]
|
||||||
|
mov [esi + DRV_CONTEXT.interface_descr], eax
|
||||||
|
|
||||||
|
; get pointer to list
|
||||||
|
mov edx, [drv_list]
|
||||||
|
test edx, edx
|
||||||
|
jz .err_exit
|
||||||
|
|
||||||
|
mov edi, edx
|
||||||
|
add edi, [edx]
|
||||||
|
|
||||||
|
; get in ecx VID:PID code
|
||||||
|
invoke USBGetParam, [.config_pipe], 0
|
||||||
|
mov ecx, dword[eax + DEVICE_DESCR.idVendor]
|
||||||
|
|
||||||
|
.loop_id_drv:
|
||||||
|
cmp dword[edi], 0
|
||||||
|
jz .end_loop_id_drv
|
||||||
|
|
||||||
|
mov edx, [drv_list]
|
||||||
|
add edx, [edi] ; ID_TABLE
|
||||||
|
.loop_id:
|
||||||
|
cmp dword[edx], 0
|
||||||
|
jz .end_loop_id
|
||||||
|
|
||||||
|
; check id
|
||||||
|
mov eax, ecx
|
||||||
|
test word[edx + 2], 0xffff
|
||||||
|
jne @f
|
||||||
|
; driver for all devices of VID
|
||||||
|
and eax, 0xffff
|
||||||
|
@@:
|
||||||
|
cmp [edx], eax ; check VID:PID
|
||||||
|
je @f
|
||||||
|
|
||||||
|
add edx, 4
|
||||||
|
jmp .loop_id
|
||||||
|
@@: ; found
|
||||||
|
call .load_drv
|
||||||
|
jnz .exit
|
||||||
|
|
||||||
|
add edx, 4
|
||||||
|
jmp .loop_id
|
||||||
|
.end_loop_id:
|
||||||
|
add edi, 8
|
||||||
|
jmp .loop_id_drv
|
||||||
|
|
||||||
|
.end_loop_id_drv:
|
||||||
|
|
||||||
|
|
||||||
|
push esi
|
||||||
|
mov esi, str_1
|
||||||
|
invoke SysMsgBoardStr
|
||||||
|
pop esi
|
||||||
|
|
||||||
|
|
||||||
|
; get in ecx class code
|
||||||
|
mov eax, [.interface]
|
||||||
|
mov ecx, dword[eax + INTERFACE_DESCR.bInterfaceClass] ; 24-31 bits
|
||||||
|
|
||||||
|
mov edi, [drv_list]
|
||||||
|
add edi, [edi + 4]
|
||||||
|
.loop_class:
|
||||||
|
cmp dword[edi], 0
|
||||||
|
jz .end_loop_class
|
||||||
|
|
||||||
|
; check class
|
||||||
|
movzx eax, byte[edi] ; length
|
||||||
|
and eax, 11b ; protect - max length = 3
|
||||||
|
lea eax, [eax*8] ; 1 = 8; 2 = 16; 3 = 24
|
||||||
|
xor edx, edx
|
||||||
|
bts edx, eax
|
||||||
|
dec edx ; bitmask
|
||||||
|
|
||||||
|
mov eax, [edi]
|
||||||
|
shr eax, 8
|
||||||
|
and eax, edx ; good class in list
|
||||||
|
|
||||||
|
and edx, ecx ; good class of device
|
||||||
|
|
||||||
|
cmp eax, edx
|
||||||
|
je @f
|
||||||
|
|
||||||
|
add edi, 8
|
||||||
|
jmp .loop_class
|
||||||
|
@@: ; found
|
||||||
|
call .load_drv
|
||||||
|
jnz .exit
|
||||||
|
|
||||||
|
add edi, 8
|
||||||
|
jmp .loop_class
|
||||||
|
|
||||||
|
; IN: edi - item list of driver
|
||||||
|
; esi - DRV_CONTEXT
|
||||||
|
; OUT: ZF - not found zF - found
|
||||||
|
; function save drv handl in DRV_CONTEXT.drv_hand
|
||||||
|
; and pdata in DRV_CONTEXT.drv_pdata
|
||||||
|
.load_drv:
|
||||||
|
push ecx edx
|
||||||
|
; load driver
|
||||||
|
push esi
|
||||||
|
mov esi, str_2
|
||||||
|
invoke SysMsgBoardStr
|
||||||
|
pop esi
|
||||||
|
|
||||||
|
mov ecx, [drv_list]
|
||||||
|
add ecx, [edi + 4]
|
||||||
|
|
||||||
|
pusha
|
||||||
|
mov esi, ecx
|
||||||
|
invoke SysMsgBoardStr
|
||||||
|
mov esi, str_newline
|
||||||
|
invoke SysMsgBoardStr
|
||||||
|
popa
|
||||||
|
|
||||||
|
invoke GetService, ecx
|
||||||
|
test eax, eax
|
||||||
|
jz @f
|
||||||
|
|
||||||
|
mov [esi + DRV_CONTEXT.drv_hand], eax
|
||||||
|
; get function list
|
||||||
|
mov ecx, [eax + USBSRV.usb_func]
|
||||||
|
|
||||||
|
; call AddDevice of driver
|
||||||
|
stdcall [ecx + USBFUNC.add_device], [.config_pipe], \
|
||||||
|
[.config_descr],\
|
||||||
|
[.interface]
|
||||||
|
mov [esi + DRV_CONTEXT.drv_pdata], eax
|
||||||
|
test eax, eax
|
||||||
|
jnz .load_drv.good
|
||||||
|
|
||||||
|
push esi
|
||||||
|
mov esi, str_4
|
||||||
|
invoke SysMsgBoardStr
|
||||||
|
pop esi
|
||||||
|
|
||||||
|
and [esi + DRV_CONTEXT.drv_hand], 0
|
||||||
|
@@:
|
||||||
|
pushf
|
||||||
|
push esi
|
||||||
|
mov esi, str_5
|
||||||
|
invoke SysMsgBoardStr
|
||||||
|
pop esi
|
||||||
|
popf
|
||||||
|
|
||||||
|
pop edx ecx
|
||||||
|
retn
|
||||||
|
.load_drv.good:
|
||||||
|
pushf
|
||||||
|
push esi
|
||||||
|
mov esi, str_3
|
||||||
|
invoke SysMsgBoardStr
|
||||||
|
pop esi
|
||||||
|
popf
|
||||||
|
|
||||||
|
mov [esi + DRV_CONTEXT.flags], USBDRV_TYPE_NATIVE
|
||||||
|
pop edx ecx
|
||||||
|
retn
|
||||||
|
|
||||||
|
|
||||||
|
.err_exit:
|
||||||
|
mov eax, esi
|
||||||
|
invoke Kfree
|
||||||
|
xor esi, esi
|
||||||
|
.end_loop_class:
|
||||||
|
.exit:
|
||||||
|
; driver not found - Added libusb driver
|
||||||
|
|
||||||
|
; unlock mutex
|
||||||
|
mov ecx, drv_list_lock
|
||||||
|
invoke MutexUnlock
|
||||||
|
|
||||||
|
mov eax, esi
|
||||||
|
pop edi esi
|
||||||
|
ret
|
||||||
|
.err_init:
|
||||||
|
xor eax, eax
|
||||||
|
pop edi esi
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
|
||||||
|
proc DeviceDisconnected stdcall, .pdata:dword
|
||||||
|
|
||||||
|
mov eax, [.pdata]
|
||||||
|
|
||||||
|
test [eax + DRV_CONTEXT.flags], USBDRV_TYPE_NATIVE
|
||||||
|
jz .no_native
|
||||||
|
|
||||||
|
cmp [eax + DRV_CONTEXT.drv_hand], 0
|
||||||
|
jz .free
|
||||||
|
|
||||||
|
; call device disconnected
|
||||||
|
mov ecx, [eax + DRV_CONTEXT.drv_hand]
|
||||||
|
|
||||||
|
mov edx, [ecx + USBSRV.usb_func]
|
||||||
|
cmp dword[edx], USBFUNC.device_disconnect
|
||||||
|
jbe .free ; TODO: check
|
||||||
|
|
||||||
|
stdcall [edx + USBFUNC.device_disconnect], [eax + DRV_CONTEXT.drv_pdata]
|
||||||
|
.free:
|
||||||
|
; clear list of DRV_CONTENT
|
||||||
|
mov ecx, interface_list_lock
|
||||||
|
invoke MutexLock
|
||||||
|
|
||||||
|
mov eax, [.pdata]
|
||||||
|
mov edx, [eax + DRV_CONTEXT.prev]
|
||||||
|
mov ecx, [eax + DRV_CONTEXT.next]
|
||||||
|
mov [edx + DRV_CONTEXT.next], ecx
|
||||||
|
mov [ecx + DRV_CONTEXT.prev], edx
|
||||||
|
|
||||||
|
mov ecx, interface_list_lock
|
||||||
|
invoke MutexUnlock
|
||||||
|
|
||||||
|
; free context
|
||||||
|
mov eax, [.pdata]
|
||||||
|
invoke Kfree
|
||||||
|
ret
|
||||||
|
.no_native:
|
||||||
|
test [eax + DRV_CONTEXT.flags], USBDRV_TYPE_IOCTL
|
||||||
|
jz .free
|
||||||
|
|
||||||
|
; set state for block user api and clear struct
|
||||||
|
or [eax + DRV_CONTEXT.flags], USBDRV_IOCTL_BLOCKED
|
||||||
|
xor ecx, ecx
|
||||||
|
;mov [eax + DRV_CONTEXT.drv_hand], ecx
|
||||||
|
;mov [eax + DRV_CONTEXT.drv_pdata], ecx
|
||||||
|
mov [eax + DRV_CONTEXT.config_descr], ecx
|
||||||
|
mov [eax + DRV_CONTEXT.interface_descr], ecx
|
||||||
|
mov [eax + DRV_CONTEXT.ep0], ecx
|
||||||
|
; TODO
|
||||||
|
jmp .free
|
||||||
|
endp
|
||||||
|
|
||||||
|
; data
|
||||||
|
drv_list_lock MUTEX
|
||||||
|
|
||||||
|
drv_list dd ?
|
||||||
|
|
||||||
|
interface_list_lock MUTEX
|
||||||
|
usb_interface_list:
|
||||||
|
dd usb_interface_list
|
||||||
|
dd usb_interface_list
|
||||||
|
|
||||||
|
|
||||||
|
usb_functions:
|
||||||
|
dd .end - usb_functions
|
||||||
|
dd AddDevice
|
||||||
|
dd DeviceDisconnected
|
||||||
|
.end:
|
||||||
|
|
||||||
|
drv_name db 'usbother', 0
|
||||||
|
|
||||||
|
default_list: db '/sys/settings/usbdrv.dat', 0
|
||||||
|
|
||||||
|
str_1: db 'USBOTHER: Driver for this ID not found', 13, 10, 0
|
||||||
|
str_2: db 'USBOTHER: Check found driver: ', 0, 13, 10, 0
|
||||||
|
str_3: db 'USBOTHER: Device driver is good', 13, 10, 0
|
||||||
|
str_4: db 'USBOTHER: Device driver fail prob', 13, 10, 0
|
||||||
|
str_5: db 'USBOTHER: Device driver load error', 13, 10, 0
|
||||||
|
str_newline: db 13,10,0
|
||||||
|
|
||||||
|
data fixups
|
||||||
|
end data
|
@@ -12,13 +12,6 @@
|
|||||||
; Source code author - Kulakov Vladimir Gennadievich.
|
; Source code author - Kulakov Vladimir Gennadievich.
|
||||||
; Adaptation and improvement - Mario79.
|
; Adaptation and improvement - Mario79.
|
||||||
|
|
||||||
give_back_application_data_1:
|
|
||||||
mov esi, FDD_BUFF;FDD_DataBuffer ;0x40000
|
|
||||||
mov ecx, 128
|
|
||||||
cld
|
|
||||||
rep movsd
|
|
||||||
ret
|
|
||||||
|
|
||||||
take_data_from_application_1:
|
take_data_from_application_1:
|
||||||
mov edi, FDD_BUFF;FDD_DataBuffer ;0x40000
|
mov edi, FDD_BUFF;FDD_DataBuffer ;0x40000
|
||||||
mov ecx, 128
|
mov ecx, 128
|
||||||
@@ -717,18 +710,38 @@ endg
|
|||||||
; This function is called in boot process.
|
; This function is called in boot process.
|
||||||
; It creates filesystems /fd and/or /fd2, if the system has one/two floppy drives.
|
; It creates filesystems /fd and/or /fd2, if the system has one/two floppy drives.
|
||||||
proc floppy_init
|
proc floppy_init
|
||||||
|
; search for FDDs and add them to the list of disks
|
||||||
|
; author - Mario79
|
||||||
|
mov al, 0x10
|
||||||
|
out 0x70, al
|
||||||
|
mov cx, 0xff
|
||||||
|
.wait_cmos:
|
||||||
|
dec cx
|
||||||
|
test cx, cx
|
||||||
|
jnz .wait_cmos
|
||||||
|
in al, 0x71
|
||||||
|
test al, al
|
||||||
|
jz .no_fdd
|
||||||
|
|
||||||
|
push eax ; b[esp]=al [esp+1..3]- ??
|
||||||
|
|
||||||
|
stdcall attach_int_handler, 6, FDCInterrupt, 0
|
||||||
|
DEBUGF 1, "K : Set Floppy IRQ6 return code %x\n", eax
|
||||||
|
|
||||||
mov ecx, floppy_mutex
|
mov ecx, floppy_mutex
|
||||||
call mutex_init
|
call mutex_init
|
||||||
; First floppy is present if [DRIVE_DATA] and 0xF0 is nonzero.
|
; First floppy is present if [esp] and 0xF0 is nonzero.
|
||||||
test byte [DRIVE_DATA], 0xF0
|
test byte [esp], 0xF0
|
||||||
jz .no1
|
jz .no1
|
||||||
stdcall disk_add, floppy_functions, floppy1_name, 1, DISK_NO_INSERT_NOTIFICATION
|
stdcall disk_add, floppy_functions, floppy1_name, 1, DISK_NO_INSERT_NOTIFICATION
|
||||||
.no1:
|
.no1:
|
||||||
; Second floppy is present if [DRIVE_DATA] and 0x0F is nonzero.
|
; Second floppy is present if [esp] and 0x0F is nonzero.
|
||||||
test byte [DRIVE_DATA], 0x0F
|
test byte [esp], 0x0F
|
||||||
jz .no2
|
jz .no2
|
||||||
stdcall disk_add, floppy_functions, floppy2_name, 2, DISK_NO_INSERT_NOTIFICATION
|
stdcall disk_add, floppy_functions, floppy2_name, 2, DISK_NO_INSERT_NOTIFICATION
|
||||||
.no2:
|
.no2:
|
||||||
|
add esp, 4
|
||||||
|
.no_fdd:
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
@@ -878,37 +878,6 @@ struct PCIDEV
|
|||||||
owner dd ? ; pointer to SRV or 0
|
owner dd ? ; pointer to SRV or 0
|
||||||
ends
|
ends
|
||||||
|
|
||||||
struct IDE_DATA
|
|
||||||
ProgrammingInterface dd ?
|
|
||||||
Interrupt dw ?
|
|
||||||
RegsBaseAddres dw ?
|
|
||||||
BAR0_val dw ?
|
|
||||||
BAR1_val dw ?
|
|
||||||
BAR2_val dw ?
|
|
||||||
BAR3_val dw ?
|
|
||||||
dma_hdd_channel_1 db ?
|
|
||||||
dma_hdd_channel_2 db ?
|
|
||||||
pcidev dd ? ; pointer to corresponding PCIDEV structure
|
|
||||||
ends
|
|
||||||
|
|
||||||
struct IDE_CACHE
|
|
||||||
pointer dd ?
|
|
||||||
size dd ? ; not use
|
|
||||||
data_pointer dd ?
|
|
||||||
system_data_size dd ? ; not use
|
|
||||||
appl_data_size dd ? ; not use
|
|
||||||
system_data dd ?
|
|
||||||
appl_data dd ?
|
|
||||||
system_sad_size dd ?
|
|
||||||
appl_sad_size dd ?
|
|
||||||
search_start dd ?
|
|
||||||
appl_search_start dd ?
|
|
||||||
ends
|
|
||||||
|
|
||||||
struct IDE_DEVICE
|
|
||||||
UDMA_possible_modes db ?
|
|
||||||
UDMA_set_mode db ?
|
|
||||||
ends
|
|
||||||
|
|
||||||
; The following macro assume that we are on uniprocessor machine.
|
; The following macro assume that we are on uniprocessor machine.
|
||||||
; Serious work is needed for multiprocessor machines.
|
; Serious work is needed for multiprocessor machines.
|
||||||
|
@@ -1,36 +0,0 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;
|
|
||||||
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
|
||||||
;; ;;
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
|
|
||||||
;***************************************************
|
|
||||||
; clear the DRIVE_DATA table,
|
|
||||||
; search for FDDs and add them into the table
|
|
||||||
; author - Mario79
|
|
||||||
;***************************************************
|
|
||||||
xor eax, eax
|
|
||||||
mov edi, DRIVE_DATA
|
|
||||||
mov ecx, DRIVE_DATA_SIZE/4
|
|
||||||
cld
|
|
||||||
rep stosd
|
|
||||||
|
|
||||||
mov al, 0x10
|
|
||||||
out 0x70, al
|
|
||||||
mov cx, 0xff
|
|
||||||
wait_cmos:
|
|
||||||
dec cx
|
|
||||||
test cx, cx
|
|
||||||
jnz wait_cmos
|
|
||||||
in al, 0x71
|
|
||||||
mov [DRIVE_DATA], al
|
|
||||||
test al, al
|
|
||||||
jz @f
|
|
||||||
|
|
||||||
stdcall attach_int_handler, 6, FDCInterrupt, 0
|
|
||||||
DEBUGF 1, "K : Set IDE IRQ6 return code %x\n", eax
|
|
||||||
call floppy_init
|
|
||||||
@@:
|
|
||||||
|
|
@@ -1,13 +0,0 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; ;;
|
|
||||||
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
|
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
|
||||||
;; ;;
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
|
|
||||||
include 'dev_fd.inc'
|
|
||||||
include 'dev_hdcd.inc'
|
|
||||||
include 'getcache.inc'
|
|
||||||
include 'sear_par.inc'
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@@ -754,7 +754,7 @@ end if
|
|||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
mov esi, boot_detectfloppy
|
mov esi, boot_detectfloppy
|
||||||
call boot_log
|
call boot_log
|
||||||
include 'detect/dev_fd.inc'
|
call floppy_init
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
; create pci-devices list
|
; create pci-devices list
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
|
@@ -60412,67 +60412,6 @@ dd -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0
|
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0
|
||||||
@@:
|
@@:
|
||||||
db 'r1x3x1',0
|
|
||||||
align 4
|
|
||||||
dd (@f-$)/24 ;points
|
|
||||||
dd -1.95, -1.95, 0.0, -1.95, 9.95, 3.0, -1.95, 9.95,\
|
|
||||||
0.0, -1.95, 9.95, 3.0, -1.95, -1.95, 0.0, -1.95, -1.95,\
|
|
||||||
3.0, -1.95, 9.95, 3.0, 1.95, -1.95, 3.0, 1.95, 9.95,\
|
|
||||||
3.0, 1.95, -1.95, 3.0, -1.95, 9.95, 3.0, -1.95, -1.95,\
|
|
||||||
3.0, 1.95, -1.95, 3.0, 1.95, 9.95, 0.0, 1.95, 9.95,\
|
|
||||||
3.0, 1.95, 9.95, 0.0, 1.95, -1.95, 3.0, 1.95, -1.95,\
|
|
||||||
0.0, 1.95, -1.95, 0.0, 1.25, -1.25, 0.0, 1.95, 9.95,\
|
|
||||||
0.0, 1.95, -1.95, 0.0, -1.25, -1.25, 0.0, 1.25, -1.25,\
|
|
||||||
0.0, -1.25, -1.25, 0.0, -1.95, -1.95, 0.0, -1.25, 9.25,\
|
|
||||||
0.0, -1.95, -1.95, 0.0, -1.25, -1.25, 0.0, 1.95, -1.95,\
|
|
||||||
0.0, 1.25, 9.25, 0.0, 1.95, 9.95, 0.0, 1.25, -1.25,\
|
|
||||||
0.0, -1.25, 9.25, 0.0, 1.95, 9.95, 0.0, 1.25, 9.25,\
|
|
||||||
0.0, -1.25, 9.25, 0.0, -1.95, 9.95, 0.0, 1.95, 9.95,\
|
|
||||||
0.0, -1.95, 9.95, 0.0, -1.25, 9.25, 0.0, -1.95, -1.95,\
|
|
||||||
0.0, -1.95, -1.95, 0.0, 1.95, -1.95, 3.0, -1.95, -1.95,\
|
|
||||||
3.0, 1.95, -1.95, 3.0, -1.95, -1.95, 0.0, 1.95, -1.95,\
|
|
||||||
0.0, 1.95, 9.95, 0.0, -1.95, 9.95, 3.0, 1.95, 9.95,\
|
|
||||||
3.0, -1.95, 9.95, 3.0, 1.95, 9.95, 0.0, -1.95, 9.95,\
|
|
||||||
0.0, -1.25, -1.25, 1.999, -1.25, 9.25, 0.0, -1.25, 9.25,\
|
|
||||||
1.999, -1.25, 9.25, 0.0, -1.25, -1.25, 1.999, -1.25, -1.25,\
|
|
||||||
0.0, -1.25, -1.25, 1.999, 1.25, 9.25, 1.999, 1.25, -1.25,\
|
|
||||||
1.999, 1.25, 9.25, 1.999, -1.25, -1.25, 1.999, -1.25, 9.25,\
|
|
||||||
1.999, 1.25, -1.25, 0.0, 1.25, 9.25, 1.999, 1.25, 9.25,\
|
|
||||||
0.0, 1.25, 9.25, 1.999, 1.25, -1.25, 0.0, 1.25, -1.25,\
|
|
||||||
1.999, -1.25, 9.25, 0.0, 1.25, 9.25, 1.999, -1.25, 9.25,\
|
|
||||||
1.999, 1.25, 9.25, 1.999, -1.25, 9.25, 0.0, 1.25, 9.25,\
|
|
||||||
0.0, 1.25, -1.25, 0.0, -1.25, -1.25, 1.999, 1.25, -1.25,\
|
|
||||||
1.999, -1.25, -1.25, 1.999, 1.25, -1.25, 0.0, -1.25, -1.25,\
|
|
||||||
0.0
|
|
||||||
dd -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0,\
|
|
||||||
0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0,\
|
|
||||||
1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0,\
|
|
||||||
1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0,\
|
|
||||||
1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0
|
|
||||||
@@:
|
|
||||||
db 'f1x2x1',0
|
db 'f1x2x1',0
|
||||||
align 4
|
align 4
|
||||||
dd (@f-$)/24 ;points
|
dd (@f-$)/24 ;points
|
||||||
@@ -65937,76 +65876,6 @@ dd 0.32144, -0.94693, 0.0, 0.13052, -0.99145, 0.0, 0.44229, -0.89687, 0.0,\
|
|||||||
-0.7071, -0.70711, 0.0, -0.38269, -0.92388, 0.0, -0.70711, -0.70711, 0.0,\
|
-0.7071, -0.70711, 0.0, -0.38269, -0.92388, 0.0, -0.70711, -0.70711, 0.0,\
|
||||||
-0.38268, -0.92388, 0.0, -0.70711, -0.70711, 0.0, -0.38268, -0.92388, 0.0
|
-0.38268, -0.92388, 0.0, -0.70711, -0.70711, 0.0, -0.38268, -0.92388, 0.0
|
||||||
@@:
|
@@:
|
||||||
db 'a1x1x2',0
|
|
||||||
align 4
|
|
||||||
dd (@f-$)/24 ;points
|
|
||||||
dd -1.95, -1.95, 0.0, -1.95, 1.95, 3.0, -1.95, 1.95,\
|
|
||||||
0.0, -1.95, 1.95, 3.0, -1.95, -1.95, 0.0, -1.95, -1.94994,\
|
|
||||||
6.0, -1.95, -1.94994, 6.0, -1.95, -1.95, 0.0, -1.95, -1.95,\
|
|
||||||
6.0, -1.95, -1.94994, 6.0, 1.95, -1.95, 6.0, 1.95, -1.94994,\
|
|
||||||
6.0, 1.95, -1.95, 6.0, -1.95, -1.94994, 6.0, -1.95, -1.95,\
|
|
||||||
6.0, 1.95, -1.95, 0.0, 1.95, 1.95, 3.0, 1.95, -1.94994,\
|
|
||||||
6.0, 1.95, -1.95, 0.0, 1.95, -1.94994, 6.0, 1.95, -1.95,\
|
|
||||||
6.0, 1.95, 1.95, 3.0, 1.95, -1.95, 0.0, 1.95, 1.95,\
|
|
||||||
0.0, -1.95, -1.95, 0.0, 1.95, -1.95, 6.0, -1.95, -1.95,\
|
|
||||||
6.0, 1.95, -1.95, 6.0, -1.95, -1.95, 0.0, 1.95, -1.95,\
|
|
||||||
0.0, 1.95, 1.95, 0.0, -1.95, 1.95, 3.0, 1.95, 1.95,\
|
|
||||||
3.0, -1.95, 1.95, 3.0, 1.95, 1.95, 0.0, -1.95, 1.95,\
|
|
||||||
0.0, -1.95, 1.95, 3.0, 1.95, -1.94994, 6.0, 1.95, 1.95,\
|
|
||||||
3.0, 1.95, -1.94994, 6.0, -1.95, 1.95, 3.0, -1.95, -1.94994,\
|
|
||||||
6.0, 1.95, -1.95, 0.0, 1.25, -1.25, 0.0, 1.95, 1.95,\
|
|
||||||
0.0, 1.95, -1.95, 0.0, -1.25, -1.25, 0.0, 1.25, -1.25,\
|
|
||||||
0.0, -1.25, -1.25, 0.0, -1.95, -1.95, 0.0, -1.25, 1.25,\
|
|
||||||
0.0, -1.95, -1.95, 0.0, -1.25, -1.25, 0.0, 1.95, -1.95,\
|
|
||||||
0.0, 1.25, 1.25, 0.0, 1.95, 1.95, 0.0, 1.25, -1.25,\
|
|
||||||
0.0, -1.25, 1.25, 0.0, 1.95, 1.95, 0.0, 1.25, 1.25,\
|
|
||||||
0.0, -1.25, 1.25, 0.0, -1.95, 1.95, 0.0, 1.95, 1.95,\
|
|
||||||
0.0, -1.95, 1.95, 0.0, -1.25, 1.25, 0.0, -1.95, -1.95,\
|
|
||||||
0.0, -1.25, -1.25, 1.999, -1.25, 1.25, 0.0, -1.25, 1.25,\
|
|
||||||
1.999, -1.25, 1.25, 0.0, -1.25, -1.25, 1.999, -1.25, -1.25,\
|
|
||||||
0.0, -1.25, -1.25, 1.999, 1.25, 1.25, 1.999, 1.25, -1.25,\
|
|
||||||
1.999, 1.25, 1.25, 1.999, -1.25, -1.25, 1.999, -1.25, 1.25,\
|
|
||||||
1.999, 1.25, -1.25, 0.0, 1.25, 1.25, 1.999, 1.25, 1.25,\
|
|
||||||
0.0, 1.25, 1.25, 1.999, 1.25, -1.25, 0.0, 1.25, -1.25,\
|
|
||||||
1.999, -1.25, 1.25, 0.0, 1.25, 1.25, 1.999, -1.25, 1.25,\
|
|
||||||
1.999, 1.25, 1.25, 1.999, -1.25, 1.25, 0.0, 1.25, 1.25,\
|
|
||||||
0.0, 1.25, -1.25, 0.0, -1.25, -1.25, 1.999, 1.25, -1.25,\
|
|
||||||
1.999, -1.25, -1.25, 1.999, 1.25, -1.25, 0.0, -1.25, -1.25,\
|
|
||||||
0.0
|
|
||||||
dd -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0,\
|
|
||||||
1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0,\
|
|
||||||
1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0,\
|
|
||||||
0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0,\
|
|
||||||
0.0, 0.0, 0.60972, 0.79262, 0.0, 0.60972, 0.79262, 0.0, 0.60972,\
|
|
||||||
0.79262, 0.0, 0.60972, 0.79262, 0.0, 0.60972, 0.79262, 0.0, 0.60972,\
|
|
||||||
0.79262, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0,\
|
|
||||||
0.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0,\
|
|
||||||
-1.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0,\
|
|
||||||
0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0,\
|
|
||||||
0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0,\
|
|
||||||
0.0
|
|
||||||
@@:
|
|
||||||
db 'a1x2x2',0
|
db 'a1x2x2',0
|
||||||
align 4
|
align 4
|
||||||
dd (@f-$)/24 ;points
|
dd (@f-$)/24 ;points
|
||||||
|
@@ -1,170 +0,0 @@
|
|||||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
|
||||||
|
|
||||||
const m1=6740181;
|
|
||||||
const m2=6650840;
|
|
||||||
const m3=16777215;
|
|
||||||
const m4=16757993;
|
|
||||||
const m5=8454144;
|
|
||||||
|
|
||||||
model_list=[
|
|
||||||
['b1x6x1', m1, 0, 0, -4, 0, 0,0,90],
|
|
||||||
['b2x6x1', m1, 0, 0, 0, 0, 0,0,90],
|
|
||||||
['b2x6x1', m1, 0, 0,-12, 0, 0,0,90],
|
|
||||||
['b2x4x1', m1, 0, 16, 0, 0, 0,0,90],
|
|
||||||
['b2x4x1', m1, 0, 16,-12, 0, 0,0,90],
|
|
||||||
['b1x4x1', m1, 0, 16, -4, 0, 0,0,90],
|
|
||||||
['u1x2x1', m1, 0,-24, -4, 0, 0,0,90],
|
|
||||||
['u1x2x1', m1, 0,-24, 0, 0, 0,0,90],
|
|
||||||
['u1x2x1', m1, 0,-24, -8, 0, 0,0,90],
|
|
||||||
['b2x3x1', m1, 0, 20, -8, 0, 0,0,0],
|
|
||||||
['t2x3x1', m1, 0, 28, -4, 0, 0,0,0],
|
|
||||||
['b1x3x1', m2, 0, -8,-16, 0, 0,0,90],
|
|
||||||
['b1x3x1', m2, 0, -8, 8, 0, 0,0,90],
|
|
||||||
['b1x3x1', m2, 0, 16, 8, 0, 0,0,90],
|
|
||||||
['b1x3x1', m2, 0, 16,-16, 0, 0,0,90],
|
|
||||||
['b1x3x1', m2, 0, 36, -8, 0, 0,0,0],
|
|
||||||
['b1x2x1', m2, 0, -8, 12, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0, -8,-20, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0, 20, 12, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0, 20,-20, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0, 16,-24, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0, 16, 16, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0,-12, 16, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0,-12,-24, 0, 0,0,90],
|
|
||||||
['t2x3x1', m2, 0, 40, -4, 0, 0,0,0],
|
|
||||||
['a1x2x2', m3, 0,-16,-20, 0, 0,0,90],
|
|
||||||
['a1x2x2', m3, 0,-16, 12, 0, 0,0,90],
|
|
||||||
['a1x2x2', m3, 0, 12, 12, 0, 0,0,90],
|
|
||||||
['a1x2x2', m3, 0, 12,-20, 0, 0,0,90],
|
|
||||||
['u1x2x2', m1, 1,-28, 0, 3, 0,0,90],
|
|
||||||
['u1x2x2', m1, 1,-28, -4, 3, 0,0,90],
|
|
||||||
['u1x2x2', m1, 1,-28, -8, 3, 0,0,90],
|
|
||||||
['b2x3x1', m1, 1,-24, -8, 3, 0,0,0],
|
|
||||||
['l2x2x1', m1, 1,-16, 4, 3, 0,0,180],
|
|
||||||
['l2x2x1', m1, 1,-16,-12, 3, 0,0,90],
|
|
||||||
['b2x3x1', m1, 1,-12, -8, 3, 0,0,0],
|
|
||||||
['t2x3x1', m1, 1, -8, 4, 3, 0,0,90],
|
|
||||||
['t2x3x1', m1, 1,-12, 12, 3, 0,0,180],
|
|
||||||
['t2x3x1', m1, 1,-12,-20, 3, 0,0,180],
|
|
||||||
['t2x3x1', m1, 1, -8,-12, 3, 0,0,-90],
|
|
||||||
['b2x3x1', m1, 1, 0, -8, 3, 0,0,0],
|
|
||||||
['b2x3x1', m1, 1, 8, -8, 3, 0,0,0],
|
|
||||||
['b1x2x1', m1, 1, 4, 4, 3, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 4,-12, 3, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 8,-16, 3, 0,0,0],
|
|
||||||
['b1x2x1', m1, 1, 8, 4, 3, 0,0,0],
|
|
||||||
['b1x4x1', m1, 1, 12, 4, 3, 0,0,0],
|
|
||||||
['b1x4x1', m1, 1, 12,-24, 3, 0,0,0],
|
|
||||||
['b1x2x1', m1, 1, 20, 0, 3, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 20, -8, 3, 0,0,90],
|
|
||||||
['b1x4x1', m2, 1, 28, -4, 3, 0,0,90],
|
|
||||||
['b1x3x1', m1, 1, 40, -4, 3, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2,-28, -8, 6, 0,0,0],
|
|
||||||
['t2x3x1', m1, 2,-20, -4, 6, 0,0,0],
|
|
||||||
['b2x3x1', m1, 2, -8, 0, 6, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, -8,-12, 6, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, 4,-16, 6, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, 4, 4, 6, 0,0,90],
|
|
||||||
['l2x2x1', m1, 2, 8, 0, 6, 0,0,90],
|
|
||||||
['l2x2x1', m1, 2, 8, -8, 6, 0,0,180],
|
|
||||||
['t2x3x1', m1, 2, 12, -4, 6, 0,0,0],
|
|
||||||
['u1x2x2', m1, 3,-32, -4, 9, 0,0,90],
|
|
||||||
['u1x2x2', m1, 3,-32, -8, 9, 0,0,90],
|
|
||||||
['u1x2x2', m1, 3,-32, 0, 9, 0,0,90],
|
|
||||||
['a1x2x3', m1, 3,-28, 0, 9, 0,0,-90],
|
|
||||||
['a1x2x3', m1, 3,-28, -8, 9, 0,0,-90],
|
|
||||||
['b1x3x1', m1, 3,-20, -4, 9, 0,0,90],
|
|
||||||
['b2x3x1', m1, 3,-16, -8, 9, 0,0,0],
|
|
||||||
['b2x3x1', m1, 3, -8, -8, 9, 0,0,0],
|
|
||||||
['b2x3x1', m1, 3, 0, 4, 9, 0,0,90],
|
|
||||||
['b2x3x1', m1, 3, 0,-16, 9, 0,0,90],
|
|
||||||
['b1x1x1', m1, 3,-12, 4, 9, 0,0,0],
|
|
||||||
['b1x1x1', m1, 3,-12,-12, 9, 0,0,0],
|
|
||||||
['l2x2x1', m1, 3, 4, 0, 9, 0,0,90],
|
|
||||||
['t2x3x1', m1, 3, 8, -4, 9, 0,0,0],
|
|
||||||
['t2x3x1', m1, 3, 4, -8, 9, 0,0,-180],
|
|
||||||
['b2x3x1', m1, 4,-32, -8, 12, 0,0,0],
|
|
||||||
['b1x1x1', m1, 4,-24, -4, 12, 0,0,0],
|
|
||||||
['b2x3x1', m1, 4,-12, -8, 12, 0,0,0],
|
|
||||||
['b1x1x1', m1, 4,-12, 4, 12, 0,0,0],
|
|
||||||
['b1x2x1', m1, 4, -4, 0, 12, 0,0,0],
|
|
||||||
['b1x3x1', m1, 4, -4,-12, 12, 0,0,0],
|
|
||||||
['b1x3x1', m1, 4, 4, -8, 12, 0,0,0],
|
|
||||||
['b1x4x1', m2, 4, 0,-12, 12, 0,0,0],
|
|
||||||
['b1x1x1', m2, 4, 8, -4, 12, 0,0,0],
|
|
||||||
['b1x1x1', m2, 4, 0, 4, 12, 0,0,0],
|
|
||||||
['b1x1x1', m2, 4, -8, 4, 12, 0,0,0],
|
|
||||||
['b1x1x1', m2, 4,-16, -4, 12, 0,0,0],
|
|
||||||
['b1x1x1', m2, 4, -8,-12, 12, 0,0,0],
|
|
||||||
['b2x3x1', m1, 5,-36, -8, 15, 0,0,0],
|
|
||||||
['t2x3x1', m1, 5,-28, -4, 15, 0,0,0],
|
|
||||||
['b1x3x1', m1, 5, -4, -8, 15, 0,0,0],
|
|
||||||
['b1x1x1', m2, 5, 0, -4, 15, 0,0,0],
|
|
||||||
['b1x3x1', m2, 5, -8, -8, 15, 0,0,0],
|
|
||||||
['b2x3x1', m1, 6,-36, -8, 18, 0,0,0],
|
|
||||||
['t2x3x1', m1, 6,-28, -4, 18, 0,0,0],
|
|
||||||
['l2x2x1', m1, 7,-36, -8, 21, 0,0,-90],
|
|
||||||
['l2x2x1', m1, 7,-36, 0, 21, 0,0,0],
|
|
||||||
['b1x4x1', m1, 7,-36, -4, 21, 0,0,-90],
|
|
||||||
['u1x2x1', m1, 7,-28, 0, 21, 0,0,-90],
|
|
||||||
['u1x2x1', m1, 7,-28, -8, 21, 0,0,-90],
|
|
||||||
['b2x3x1', m1, 8,-48, -8, 24, 0,0,0],
|
|
||||||
['b2x3x1', m1, 8,-40, -8, 24, 0,0,0],
|
|
||||||
['u1x2x1', m4, 8,-40, -8, 21, 0,0,90],
|
|
||||||
['u1x2x1', m4, 8,-40, -4, 21, 0,0,90],
|
|
||||||
['u1x2x1', m4, 8,-40, 0, 21, 0,0,90],
|
|
||||||
['b2x3x1', m1, 8,-32,-12, 24, 0,0,0],
|
|
||||||
['b2x2x1', m1, 8,-32, 0, 24, 0,0,0],
|
|
||||||
['b1x3x1', m1, 8,-36, 4, 24, 0,0,90],
|
|
||||||
['b1x3x1', m1, 8,-36,-12, 24, 0,0,90],
|
|
||||||
['b1x1x1', m1, 8,-24, 0, 24, 0,0,0],
|
|
||||||
['b1x1x1', m1, 8,-24, -8, 24, 0,0,0],
|
|
||||||
['b1x1x1', m2, 8,-24, -4, 24, 0,0,0],
|
|
||||||
['u1x2x1', m1, 8,-32, 4, 21, 0,0,-90],
|
|
||||||
['u1x2x1', m1, 8,-32,-12, 21, 0,0,-90],
|
|
||||||
['b1x2x1', m2, 9,-24, -4, 27, 0,0,90],
|
|
||||||
['a1x1x2', m2, 9,-48, 0, 27, 0,0,90],
|
|
||||||
['a1x1x2', m2, 9,-48, -8, 27, 0,0,90],
|
|
||||||
['a1x1x2', m1, 9,-48, -4, 27, 0,0,90],
|
|
||||||
['b2x3x1', m1, 9,-44,-12, 27, 0,0,0],
|
|
||||||
['b2x3x1', m1, 9,-36, -8, 27, 0,0,0],
|
|
||||||
['b2x2x1', m1, 9,-44, 0, 27, 0,0,0],
|
|
||||||
['a1x2x3', m1, 9,-28, 0, 27, 0,0,-90],
|
|
||||||
['a1x2x3', m1, 9,-28, -8, 27, 0,0,-90],
|
|
||||||
['b1x1x1', m1, 9,-28,-12, 27, 0,0,0],
|
|
||||||
['b1x1x1', m1, 9,-28, 4, 27, 0,0,0],
|
|
||||||
['b1x1x1', m4, 9,-32,-12, 27, 0,0,90],
|
|
||||||
['b1x1x1', m4, 9,-32, 4, 27, 0,0,90],
|
|
||||||
['b1x1x1', m5, 9,-36,-12, 27, 0,0,90],
|
|
||||||
['b1x1x1', m5, 9,-36, 4, 27, 0,0,90],
|
|
||||||
['b1x1x1', m5, 10,-36, 4, 30, 0,0,90],
|
|
||||||
['b1x1x1', m5, 10,-36,-12, 30, 0,0,90],
|
|
||||||
['a1x2x3', m2, 10,-28, -4, 30, 0,0,-90],
|
|
||||||
['b2x3x1', m1, 10,-44, -8, 30, 0,0,0],
|
|
||||||
['b1x1x1', m1, 10,-40, 4, 30, 0,0,0],
|
|
||||||
['b1x1x1', m1, 10,-40,-12, 30, 0,0,0],
|
|
||||||
['l2x2x1', m1, 10,-32, -8, 30, 0,0,-90],
|
|
||||||
['l2x2x1', m1, 10,-32, 0, 30, 0,0,0],
|
|
||||||
['a1x1x2', m1, 10,-44, 4, 30, 0,0,90],
|
|
||||||
['a1x1x2', m1, 10,-44,-12, 30, 0,0,90],
|
|
||||||
['a1x1x2', m1, 10,-28,-12, 30, 0,0,-90],
|
|
||||||
['a1x1x2', m1, 10,-28, 4, 30, 0,0,-90],
|
|
||||||
['t2x3x1', m1, 11,-40, -4, 33, 0,0,-180],
|
|
||||||
['t2x3x1', m2, 11,-32, -4, 33, 0,0,0],
|
|
||||||
['a1x1x2', m1, 11,-40, 4, 33, 0,0,0],
|
|
||||||
['a1x1x2', m1, 11,-36, 4, 33, 0,0,0],
|
|
||||||
['a1x1x2', m1, 11,-32, 4, 33, 0,0,0],
|
|
||||||
['a1x1x2', m1, 11,-28, 0, 33, 0,0,-90],
|
|
||||||
['a1x1x2', m1, 11,-28, -8, 33, 0,0,-90],
|
|
||||||
['a1x1x2', m1, 11,-32,-12, 33, 0,0,-180],
|
|
||||||
['a1x1x2', m1, 11,-36,-12, 33, 0,0,-180],
|
|
||||||
['a1x1x2', m1, 11,-40,-12, 33, 0,0,-180],
|
|
||||||
['a1x1x2', m1, 11,-44, -8, 33, 0,0,90],
|
|
||||||
['a1x1x2', m1, 11,-44, 0, 33, 0,0,90],
|
|
||||||
['a1x1x2', m2, 12,-44, -4, 36, 0,0,90],
|
|
||||||
['a1x1x2', m2, 12,-28, -4, 36, 0,0,-90],
|
|
||||||
['b1x3x1', m1, 12,-32, -4, 36, 0,0,90],
|
|
||||||
['r1x3x1', m1, 12,-32, 0, 36, 0,0,90],
|
|
||||||
['r1x3x1', m1, 12,-32, -8, 36, 0,0,90],
|
|
||||||
['r1x3x1', m2, 13,-32, -4, 39, 0,0,90],
|
|
||||||
];
|
|
@@ -1,200 +0,0 @@
|
|||||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
|
||||||
|
|
||||||
const m1=0x008000;
|
|
||||||
const m2=0xffffff;
|
|
||||||
const m3=0xfff5be;
|
|
||||||
const m4=0x005100;
|
|
||||||
const m5=0xff0000;
|
|
||||||
const m6=0x510000;
|
|
||||||
const m7=0xffaaaa;
|
|
||||||
|
|
||||||
model_list=[
|
|
||||||
['b2x3x1', m1, 0, 32, -4, 9, 0,0,0],
|
|
||||||
['b1x1x1', m2, 0,-16, 4, 9, 0,0,0],
|
|
||||||
['b1x1x1', m2, 0,-16, -4, 9, 0,0,0],
|
|
||||||
['b1x1x1', m2, 0,-16, 12, 9, 0,0,0],
|
|
||||||
['b1x1x1', m2, 0,-16,-12, 9, 0,0,0],
|
|
||||||
['b1x3x1', m3, 0, 0, -4, 9, 0,0,0],
|
|
||||||
['b1x4x1', m3, 0, 16, 0, 9, 0,0,90],
|
|
||||||
['b1x3x1', m3, 0, 28, 0, 9, 0,0,90],
|
|
||||||
['b1x3x1', m1, 0, 40, -4, 9, 0,0,0],
|
|
||||||
['b1x1x1', m3, 0, 44, 0, 9, 0,0,0],
|
|
||||||
['b2x6x1', m3, 0, 24, 4, 9, 0,0,90],
|
|
||||||
['b2x6x1', m3, 0, 24, -8, 9, 0,0,90],
|
|
||||||
['l2x2x1', m1, 0, 16, 12, 9, 0,0,0],
|
|
||||||
['l2x2x1', m1, 0, 12, 12, 9, 0,0,90],
|
|
||||||
['l2x2x1', m1, 0, 12,-12, 9, 0,0,180],
|
|
||||||
['l2x2x1', m1, 0, 16,-12, 9, 0,0,-90],
|
|
||||||
['b2x3x1', m1, 1,-16, 4, 12, 0,0,0],
|
|
||||||
['b2x3x1', m1, 1,-16,-12, 12, 0,0,0],
|
|
||||||
['b1x4x1', m3, 1, 4, 4, 12, 0,0,90],
|
|
||||||
['b1x2x1', m3, 1, 12, 4, 12, 0,0,90],
|
|
||||||
['b2x6x1', m3, 1, 12, -4, 12, 0,0,90],
|
|
||||||
['b2x3x1', m1, 1, 16, -4, 12, 0,0,0],
|
|
||||||
['b2x2x1', m1, 1, 12, 8, 12, 0,0,0],
|
|
||||||
['b2x2x1', m1, 1, 12,-12, 12, 0,0,0],
|
|
||||||
['b1x2x1', m1, 1, 8, -8, 12, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 24, -8, 12, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 24, 8, 12, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 8, 8, 12, 0,0,90],
|
|
||||||
['b1x3x1', m1, 1, 32, 4, 12, 0,0,90],
|
|
||||||
['b1x3x1', m1, 1, 32, -4, 12, 0,0,90],
|
|
||||||
['b1x6x1', m1, 1, 44, 0, 12, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 44, 4, 12, 0,0,90],
|
|
||||||
['b1x2x1', m1, 1, 44, -4, 12, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, -4, 8, 15, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, -4,-12, 15, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, 8, -8, 15, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, 8, 4, 15, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, 12, -8, 15, 0,0,0],
|
|
||||||
['b2x3x1', m1, 2, 20, -8, 15, 0,0,0],
|
|
||||||
['b2x2x1', m1, 2, 12, 4, 15, 0,0,0],
|
|
||||||
['b2x2x1', m1, 2, 20, 4, 15, 0,0,0],
|
|
||||||
['t2x3x1', m1, 2, 28, 0, 15, 0,0,0],
|
|
||||||
['b2x3x1', m3, 2,-12, -4, 15, 0,0,0],
|
|
||||||
['b1x1x1', m4, 2, 36, 0, 15, 0,0,0],
|
|
||||||
['b1x3x1', m5, 2, 44, 0, 15, 0,0,-90],
|
|
||||||
['b1x2x1', m5, 2, 44, 4, 15, 0,0,-90],
|
|
||||||
['b1x2x1', m5, 2, 44, -4, 15, 0,0,-90],
|
|
||||||
['b1x1x1', m5, 2, 48, 0, 12, 0,0,0],
|
|
||||||
['b2x3x1', m3, 3,-16, -4, 18, 0,0,0],
|
|
||||||
['b1x1x1', m5, 3, 48, 0, 18, 0,0,0],
|
|
||||||
['b1x1x1', m4, 3, 28, 0, 18, 0,0,0],
|
|
||||||
['b1x3x1', m1, 3, -8, 4, 18, 0,0,0],
|
|
||||||
['b1x3x1', m1, 3, -8,-12, 18, 0,0,0],
|
|
||||||
['l2x2x1', m1, 3, -4, 8, 18, 0,0,0],
|
|
||||||
['l2x2x1', m1, 3, -4, -8, 18, 0,0,-90],
|
|
||||||
['b2x3x1', m1, 3, 12, 4, 18, 0,0,90],
|
|
||||||
['b2x3x1', m1, 3, 12, -8, 18, 0,0,90],
|
|
||||||
['b2x2x1', m1, 3, 16, 4, 18, 0,0,0],
|
|
||||||
['b2x2x1', m1, 3, 16, -8, 18, 0,0,0],
|
|
||||||
['b1x3x1', m1, 3, 24, -4, 18, 0,0,0],
|
|
||||||
['a1x1x2', m1, 3, 32, 0, 18, 0,0,90],
|
|
||||||
['b1x6x1', m1, 4, -8, 0, 21, 0,0,90],
|
|
||||||
['b1x6x1', m1, 4, -8, 4, 21, 0,0,90],
|
|
||||||
['b1x6x1', m1, 4, -8, -4, 21, 0,0,90],
|
|
||||||
['b1x6x1', m1, 4, -4, 8, 21, 0,0,90],
|
|
||||||
['b1x6x1', m1, 4, -4, -8, 21, 0,0,90],
|
|
||||||
['b1x2x1', m1, 4, 4, -8, 21, 0,0,90],
|
|
||||||
['b1x2x1', m1, 4, 4, 8, 21, 0,0,90],
|
|
||||||
['b2x3x1', m1, 4, 16, 4, 21, 0,0,90],
|
|
||||||
['b2x3x1', m1, 4, 16, -8, 21, 0,0,90],
|
|
||||||
['t2x3x1', m1, 4, 20, 0, 21, 0,0,0],
|
|
||||||
['b1x1x1', m4, 4, 28, 0, 21, 0,0,0],
|
|
||||||
['b2x3x1', m5, 5,-20, -4, 24, 0,0,0],
|
|
||||||
['b1x3x1', m5, 5,-12, -4, 24, 0,0,0],
|
|
||||||
['b1x1x1', m2, 5,-24, 0, 24, 0,0,0],
|
|
||||||
['c1x1x1', m2, 5,-16, 8, 24, 0,0,0],
|
|
||||||
['c1x1x1', m2, 5,-24, 8, 24, 0,0,0],
|
|
||||||
['c1x1x1', m2, 5,-24, -8, 24, 0,0,0],
|
|
||||||
['c1x1x1', m2, 5,-16, -8, 24, 0,0,0],
|
|
||||||
['b2x3x1', m1, 5, -8, 0, 24, 0,0,0],
|
|
||||||
['b2x3x1', m1, 5, 8, 4, 24, 0,0,90],
|
|
||||||
['b2x3x1', m1, 5, 4, -8, 24, 0,0,0],
|
|
||||||
['b2x3x1', m1, 5, 0, -8, 24, 0,0,90],
|
|
||||||
['b2x3x1', m1, 5, 12, -4, 24, 0,0,0],
|
|
||||||
['b1x1x1', m4, 5, 20, 0, 24, 0,0,0],
|
|
||||||
['b1x1x1', m1, 5, 24, 0, 24, 0,0,0],
|
|
||||||
['a1x1x2', m4, 5, 28, 0, 24, 0,0,90],
|
|
||||||
['b2x3x1', m5, 6,-28, -4, 27, 0,0,0],
|
|
||||||
['b2x3x1', m5, 6,-20, -4, 27, 0,0,0],
|
|
||||||
['b2x3x1', m5, 6,-12, -4, 27, 0,0,0],
|
|
||||||
['b2x3x1', m1, 6, -4, -8, 27, 0,0,0],
|
|
||||||
['b2x2x1', m1, 6, -4, 4, 27, 0,0,0],
|
|
||||||
['b1x6x1', m1, 6, -8, 8, 27, 0,0,90],
|
|
||||||
['b1x6x1', m1, 6, -8, -8, 27, 0,0,90],
|
|
||||||
['t2x3x1', m1, 6, 4, 0, 27, 0,0,0],
|
|
||||||
['b1x1x1', m4, 6, 12, 0, 27, 0,0,90],
|
|
||||||
['b1x1x1', m1, 6, 16, 0, 27, 0,0,0],
|
|
||||||
['b1x1x1', m4, 6, 20, 0, 27, 0,0,90],
|
|
||||||
['a1x1x2', m1, 6, 24, 0, 27, 0,0,90],
|
|
||||||
['b1x3x1', m1, 6,-32, -4, 27, 0,0,0],
|
|
||||||
['a1x2x2', m1, 7,-28, 4, 30, 0,0,90],
|
|
||||||
['a1x2x2', m1, 7,-28, 0, 30, 0,0,90],
|
|
||||||
['a1x2x2', m1, 7,-28, -4, 30, 0,0,90],
|
|
||||||
['b2x3x1', m1, 7,-24, -4, 30, 0,0,0],
|
|
||||||
['a1x3x2', m1, 7,-20, 8, 30, 0,0,90],
|
|
||||||
['a1x3x2', m1, 7,-20, -8, 30, 0,0,90],
|
|
||||||
['l2x2x1', m1, 7,-16, 4, 30, 0,0,0],
|
|
||||||
['l2x2x1', m1, 7,-16, -4, 30, 0,0,-90],
|
|
||||||
['b1x1x1', m6, 7,-12, -8, 30, 0,0,0],
|
|
||||||
['b1x1x1', m6, 7,-12, 8, 30, 0,0,0],
|
|
||||||
['b1x2x1', m7, 7, -8, -8, 30, 0,0,0],
|
|
||||||
['b1x2x1', m7, 7, -8, 4, 30, 0,0,0],
|
|
||||||
['b1x1x1', m1, 7, -4, 8, 30, 0,0,0],
|
|
||||||
['b1x1x1', m1, 7, -4, -8, 30, 0,0,0],
|
|
||||||
['a1x2x3', m1, 7, -4, 4, 30, 0,0,-90],
|
|
||||||
['a1x2x3', m1, 7, -4, -4, 30, 0,0,-90],
|
|
||||||
['b1x3x1', m1, 7, 0, 0, 30, 0,0,90],
|
|
||||||
['a1x1x2', m4, 7, 4, 0, 30, 0,0,90],
|
|
||||||
['b1x1x1', m1, 7, 8, 0, 30, 0,0,0],
|
|
||||||
['b1x1x1', m4, 7, 12, 0, 30, 0,0,0],
|
|
||||||
['b1x1x1', m1, 7, 16, 0, 30, 0,0,0],
|
|
||||||
['a1x1x2', m4, 7, 20, 0, 30, 0,0,90],
|
|
||||||
['r1x1x1', m1, 8,-28, 0, 33, 0,0,0],
|
|
||||||
['a1x3x2', m1, 8,-20, 4, 33, 0,0,90],
|
|
||||||
['a1x3x2', m1, 8,-20, -4, 33, 0,0,90],
|
|
||||||
['a1x2x2', m1, 8,-16, -8, 33, 0,0,90],
|
|
||||||
['a1x2x2', m1, 8,-16, 8, 33, 0,0,90],
|
|
||||||
['a1x2x2', m1, 8, -4, 4, 33, 0,0,0],
|
|
||||||
['a1x2x2', m1, 8, -4, -4, 33, 0,0,180],
|
|
||||||
['l2x2x1', m1, 8, -8, -4, 33, 0,0,180],
|
|
||||||
['l2x2x1', m1, 8, -8, 4, 33, 0,0,90],
|
|
||||||
['b1x2x1', m1, 8,-20, 0, 33, 0,0,90],
|
|
||||||
['b1x3x1', m1, 8,-16, -4, 33, 0,0,0],
|
|
||||||
['a1x2x3', m1, 8, -4, 0, 33, 0,0,-90],
|
|
||||||
['b1x1x1', m6, 8,-12, 8, 33, 0,0,0],
|
|
||||||
['b1x1x1', m6, 8,-12, -8, 33, 0,0,0],
|
|
||||||
['a1x1x2', m1, 8, 8, 0, 33, 0,0,90],
|
|
||||||
['a1x1x2', m4, 8, 12, 0, 33, 0,0,-90],
|
|
||||||
['a1x1x2', m1, 8, 16, 0, 33, 0,0,90],
|
|
||||||
['a1x1x2', m1, 9,-16, -8, 36, 0,0,180],
|
|
||||||
['a1x1x2', m1, 9,-12, -8, 36, 0,0,180],
|
|
||||||
['a1x1x2', m1, 9, -8, -8, 36, 0,0,180],
|
|
||||||
['a1x1x2', m1, 9,-16, 8, 36, 0,0,0],
|
|
||||||
['a1x1x2', m1, 9,-12, 8, 36, 0,0,0],
|
|
||||||
['a1x1x2', m1, 9, -8, 8, 36, 0,0,0],
|
|
||||||
['a1x1x2', m1, 9, -4, 4, 36, 0,0,-90],
|
|
||||||
['a1x1x2', m1, 9, -4, -4, 36, 0,0,-90],
|
|
||||||
['a1x1x2', m1, 9,-20, 4, 36, 0,0,90],
|
|
||||||
['a1x1x2', m1, 9,-20, -4, 36, 0,0,90],
|
|
||||||
['a1x2x2', m1, 9,-20, 0, 36, 0,0,90],
|
|
||||||
['b2x3x1', m1, 9,-16, -4, 36, 0,0,0],
|
|
||||||
['t2x3x1', m1, 9, -8, 0, 36, 0,0,0],
|
|
||||||
['a1x1x2', m5, 10,-20, 0, 39, 0,0,90],
|
|
||||||
['a1x1x2', m5, 10, -4, 0, 39, 0,0,-90],
|
|
||||||
['b1x3x1', m5, 10, -8, 0, 39, 0,0,90],
|
|
||||||
['r1x1x1', m1, 10,-16, -4, 39, 0,0,90],
|
|
||||||
['r1x1x1', m1, 10,-12, -4, 39, 0,0,90],
|
|
||||||
['r1x1x1', m1, 10, -8, -4, 39, 0,0,90],
|
|
||||||
['r1x1x1', m1, 10, -8, 4, 39, 0,0,90],
|
|
||||||
['r1x1x1', m1, 10,-12, 4, 39, 0,0,90],
|
|
||||||
['r1x1x1', m1, 10,-16, 4, 39, 0,0,90],
|
|
||||||
['r1x3x1', m5, 11, -8, 0, 42, 0,0,90],
|
|
||||||
['b1x2x1', m1, 12, -8,-12, 12, 0,0,0],
|
|
||||||
['b1x2x1', m1, 12, -8, 8, 12, 0,0,0],
|
|
||||||
['b1x2x1', m3, 12, 0, 8, 12, 0,0,90],
|
|
||||||
['b1x2x1', m3, 12, 0, -8, 12, 0,0,90],
|
|
||||||
['b2x2x1', m1, 12, 16, 8, 6, 0,0,0],
|
|
||||||
['b2x2x1', m1, 12, 16,-12, 6, 0,0,0],
|
|
||||||
['l2x2x1', m1, 12, 12,-16, 6, 0,0,0],
|
|
||||||
['l2x2x1', m1, 12, 12, 16, 6, 0,0,-90],
|
|
||||||
['b1x1x1', m1, 12, 12, 8, 6, 0,0,0],
|
|
||||||
['b1x1x1', m1, 12, 8, 12, 6, 0,0,0],
|
|
||||||
['b1x1x1', m1, 12, 12, -8, 6, 0,0,0],
|
|
||||||
['b1x1x1', m1, 12, 8,-12, 6, 0,0,0],
|
|
||||||
['b1x3x1', m3, 12, 40, 0, 6, 0,0,90],
|
|
||||||
['b2x3x1', m1, 13, 4,-16, 3, 0,0,0],
|
|
||||||
['b2x3x1', m1, 13, 4, 8, 3, 0,0,0],
|
|
||||||
['l2x2x1', m1, 13, 12, 12, 3, 0,0,-90],
|
|
||||||
['l2x2x1', m1, 13, 12,-12, 3, 0,0,0],
|
|
||||||
['b1x2x1', m1, 14, 12,-16, 0, 0,0,90],
|
|
||||||
['b1x2x1', m1, 14, 12, 16, 0, 0,0,90],
|
|
||||||
['t2x3x1', m1, 14, 8, 12, 0, 0,0,-90],
|
|
||||||
['t2x3x1', m1, 14, 8,-12, 0, 0,0,90],
|
|
||||||
['a1x2x2', m2, 14, 4,-16, 0, 0,0,90],
|
|
||||||
['a1x2x2', m2, 14, 4, -8, 0, 0,0,90],
|
|
||||||
['a1x2x2', m2, 14, 4, 8, 0, 0,0,90],
|
|
||||||
['a1x2x2', m2, 14, 4, 16, 0, 0,0,90],
|
|
||||||
];
|
|
||||||
|
|
@@ -446,9 +446,9 @@ model_list=[
|
|||||||
['f1x2x1', m5, 29,-28, 12, 72, 0,0,90],
|
['f1x2x1', m5, 29,-28, 12, 72, 0,0,90],
|
||||||
['f1x2x1', m5, 29,-28, 16, 72, 0,0,90],
|
['f1x2x1', m5, 29,-28, 16, 72, 0,0,90],
|
||||||
['f1x2x1', m5, 29,-30, 12, 75, 0,0,0],
|
['f1x2x1', m5, 29,-30, 12, 75, 0,0,0],
|
||||||
['c1x1x1', m5, 29,-30, 14, 78, 0,0,0],
|
['c1x1x1', m5, 29,-30, 12, 78, 0,0,0],
|
||||||
['c1x1x1', m5, 29,-30, 14, 81, 0,0,0],
|
['c1x1x1', m5, 29,-30, 12, 81, 0,0,0],
|
||||||
['c1x1x1', m7, 29,-30, 14, 84, 0,0,0],
|
['c1x1x1', m7, 29,-30, 12, 84, 0,0,0],
|
||||||
['b2x3x1', m5, 30, -8, 0, 57, 0,0,0],
|
['b2x3x1', m5, 30, -8, 0, 57, 0,0,0],
|
||||||
['b2x3x1', m5, 30,-16, 0, 57, 0,0,0],
|
['b2x3x1', m5, 30,-16, 0, 57, 0,0,0],
|
||||||
['b2x3x1', m5, 30,-24, 0, 57, 0,0,0],
|
['b2x3x1', m5, 30,-24, 0, 57, 0,0,0],
|
||||||
|
@@ -1,139 +0,0 @@
|
|||||||
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
|
||||||
|
|
||||||
const m1=0xffecca;
|
|
||||||
const m2=0xff0000;
|
|
||||||
const m3=0;
|
|
||||||
const m4=0xffffff;
|
|
||||||
|
|
||||||
model_list=[
|
|
||||||
['t2x3x1', m1, 0, 0, -8, 0, 0,0,90],
|
|
||||||
['t2x3x1', m2, 0, -8, -4, 0, 0,0,-90],
|
|
||||||
['t2x3x1', m2, 0, 8, -4, 0, 0,0,-90],
|
|
||||||
['b1x2x1', m2, 0,-20, 0, 0, 0,0,90],
|
|
||||||
['b1x2x1', m2, 0,-12, 0, 0, 0,0,0],
|
|
||||||
['b1x2x1', m2, 0, 12, 0, 0, 0,0,0],
|
|
||||||
['b1x2x1', m2, 0, 24, 0, 0, 0,0,90],
|
|
||||||
['b2x3x1', m2, 0, -8, 0, 0, 0,0,0],
|
|
||||||
['b2x3x1', m2, 0, 4, 0, 0, 0,0,0],
|
|
||||||
['b1x3x1', m2, 0, 0, 0, 0, 0,0,0],
|
|
||||||
['b2x3x1', m1, 1, 0,-12, 3, 0,0,90],
|
|
||||||
['b2x2x1', m1, 1, 4,-12, 3, 0,0,0],
|
|
||||||
['t2x3x1', m2, 1,-12, -4, 3, 0,0,-90],
|
|
||||||
['t2x3x1', m2, 1, 12, -4, 3, 0,0,-90],
|
|
||||||
['b2x3x1', m2, 1, 4, -4, 3, 0,0,90],
|
|
||||||
['b1x4x1', m2, 1, -8, 0, 3, 0,0,90],
|
|
||||||
['b1x4x1', m2, 1, 20, 0, 3, 0,0,90],
|
|
||||||
['b1x3x1', m2, 1, -8, 4, 3, 0,0,90],
|
|
||||||
['b1x3x1', m2, 1, 4, 4, 3, 0,0,90],
|
|
||||||
['b1x3x1', m2, 1, 16, 4, 3, 0,0,90],
|
|
||||||
['l2x2x1', m2, 1, -8, 8, 3, 0,0,90],
|
|
||||||
['l2x2x1', m2, 1, 8, 8, 3, 0,0,0],
|
|
||||||
['b2x3x1', m2, 1, 4, 8, 3, 0,0,90],
|
|
||||||
['b2x3x1', m1, 2, 4,-12, 6, 0,0,90],
|
|
||||||
['b2x3x1', m2, 2, -8, -4, 6, 0,0,0],
|
|
||||||
['b2x3x1', m2, 2, 4, -4, 6, 0,0,0],
|
|
||||||
['b2x3x1', m2, 2, -4, 8, 6, 0,0,90],
|
|
||||||
['b2x4x1', m2, 2, 12, 8, 6, 0,0,90],
|
|
||||||
['b1x4x1', m2, 2,-16, -4, 6, 0,0,0],
|
|
||||||
['b1x4x1', m2, 2, 16, -4, 6, 0,0,0],
|
|
||||||
['b1x3x1', m2, 2, -8, -8, 6, 0,0,90],
|
|
||||||
['b1x3x1', m2, 2, 16, -8, 6, 0,0,90],
|
|
||||||
['b1x2x1', m2, 2, -8,-12, 6, 0,0,90],
|
|
||||||
['b1x2x1', m2, 2, 12,-12, 6, 0,0,90],
|
|
||||||
['b1x1x1', m2, 3,-28, 4, 3, 0,0,0],
|
|
||||||
['b1x1x1', m2, 3, 28, 4, 3, 0,0,0],
|
|
||||||
['t2x3x1', m2, 3,-24, 4, 6, 0,0,-90],
|
|
||||||
['t2x3x1', m2, 3, 24, 4, 6, 0,0,-90],
|
|
||||||
['b1x3x1', m2, 3,-16, 0, 9, 0,0,90],
|
|
||||||
['b1x3x1', m2, 3, 24, 0, 9, 0,0,90],
|
|
||||||
['l2x2x1', m2, 3,-16, -4, 9, 0,0,-90],
|
|
||||||
['l2x2x1', m2, 3, 16, -4, 9, 0,0,-180],
|
|
||||||
['b2x3x1', m2, 3, -4,-12, 9, 0,0,90],
|
|
||||||
['b2x4x1', m2, 3, 12,-12, 9, 0,0,90],
|
|
||||||
['b2x2x1', m2, 3,-16, 4, 9, 0,0,0],
|
|
||||||
['b2x2x1', m2, 3, 12, 4, 9, 0,0,0],
|
|
||||||
['b1x4x1', m2, 3, 0, 12, 9, 0,0,90],
|
|
||||||
['b1x3x1', m2, 3, 12, 12, 9, 0,0,90],
|
|
||||||
['b1x4x1', m2, 4, 28, 4, 12, 0,0,90],
|
|
||||||
['b1x4x1', m2, 4,-16, 4, 12, 0,0,90],
|
|
||||||
['l2x2x1', m2, 4,-12, 8, 12, 0,0,90],
|
|
||||||
['l2x2x1', m2, 4, 12, 8, 12, 0,0,0],
|
|
||||||
['b2x2x1', m2, 4, -8, 8, 12, 0,0,0],
|
|
||||||
['b2x3x1', m2, 4, 8, 8, 12, 0,0,90],
|
|
||||||
['b2x2x1', m2, 4,-16, -4, 12, 0,0,0],
|
|
||||||
['b2x2x1', m2, 4, 12, -4, 12, 0,0,0],
|
|
||||||
['b2x3x1', m2, 4, 4,-12, 12, 0,0,90],
|
|
||||||
['a1x2x2', m2, 4,-12, -8, 12, 0,0,90],
|
|
||||||
['a1x2x2', m2, 4, -8,-12, 12, 0,0,90],
|
|
||||||
['a1x2x2', m2, 4, 8,-12, 12, 0,0,-90],
|
|
||||||
['a1x2x2', m2, 4, 12, -8, 12, 0,0,-90],
|
|
||||||
['b1x1x1', m2, 5,-28, 4, 15, 0,0,0],
|
|
||||||
['b1x1x1', m2, 5, 28, 4, 15, 0,0,0],
|
|
||||||
['b1x2x1', m2, 5,-16, 0, 15, 0,0,0],
|
|
||||||
['b1x2x1', m2, 5, 16, 0, 15, 0,0,0],
|
|
||||||
['b1x3x1', m2, 5,-12, 0, 15, 0,0,0],
|
|
||||||
['b1x3x1', m2, 5, 12, 0, 15, 0,0,0],
|
|
||||||
['b2x3x1', m2, 5, 0, 8, 15, 0,0,90],
|
|
||||||
['b2x2x1', m2, 5, 4, 8, 15, 0,0,0],
|
|
||||||
['b2x2x1', m2, 5, 4, -8, 15, 0,0,0],
|
|
||||||
['b2x3x1', m2, 5, 0, -8, 15, 0,0,90],
|
|
||||||
['a1x2x2', m2, 5,-12, -4, 15, 0,0,90],
|
|
||||||
['a1x2x2', m2, 5, 12, -4, 15, 0,0,-90],
|
|
||||||
['r1x3x1', m3, 5, 4,-12, 15, 0,0,90],
|
|
||||||
['r1x1x1', m2, 5, -8,-12, 15, 0,0,0],
|
|
||||||
['r1x1x1', m2, 5, 8,-12, 15, 0,0,0],
|
|
||||||
['r1x1x1', m2, 5, 12, -8, 15, 0,0,0],
|
|
||||||
['r1x1x1', m2, 5,-12, -8, 15, 0,0,0],
|
|
||||||
['u1x2x1', m2, 6,-20, 0, 15, 0,0,90],
|
|
||||||
['t2x3x1', m2, 6,-20, 0, 18, 0,0,0],
|
|
||||||
['u1x2x2', m2, 6,-24, 0, 18, 0,0,90],
|
|
||||||
['u1x2x1', m2, 6, 20, 0, 15, 0,0,-90],
|
|
||||||
['t2x3x1', m2, 6, 20, 0, 18, 0,0,180],
|
|
||||||
['u1x2x2', m2, 6, 24, 0, 18, 0,0,-90],
|
|
||||||
['b1x2x1', m2, 6,-12, 0, 18, 0,0,0],
|
|
||||||
['b1x2x1', m2, 6, 12, 0, 18, 0,0,0],
|
|
||||||
['b2x4x1', m2, 6, -8, -4, 18, 0,0,0],
|
|
||||||
['b2x4x1', m2, 6, 0, -4, 18, 0,0,0],
|
|
||||||
['b1x4x1', m2, 6, 8, -4, 18, 0,0,0],
|
|
||||||
['r1x1x1', m2, 6,-12, -4, 18, 0,0,0],
|
|
||||||
['r1x1x1', m2, 6, 12, -4, 18, 0,0,0],
|
|
||||||
['r1x1x1', m3, 6, -8, -8, 18, 0,0,0],
|
|
||||||
['r1x1x1', m3, 6, 8, -8, 18, 0,0,0],
|
|
||||||
['b1x3x1', m2, 6, 4, -8, 18, 0,0,90],
|
|
||||||
['b1x3x1', m2, 7,-16, 4, 21, 0,0,90],
|
|
||||||
['b1x3x1', m2, 7, 24, 4, 21, 0,0,90],
|
|
||||||
['b2x3x1', m2, 7, 24, -4, 21, 0,0,90],
|
|
||||||
['b2x3x1', m2, 7,-16, -4, 21, 0,0,90],
|
|
||||||
['b1x2x1', m2, 7, -8, -4, 21, 0,0,0],
|
|
||||||
['b1x2x1', m2, 7, 8, -4, 21, 0,0,0],
|
|
||||||
['a1x1x2', m2, 8,-24, -4, 24, 0,0,90],
|
|
||||||
['a1x1x2', m2, 8, 24, -4, 24, 0,0,-90],
|
|
||||||
['l2x2x1', m2, 8, 24, 0, 24, 0,0,0],
|
|
||||||
['l2x2x1', m2, 8,-24, 0, 24, 0,0,90],
|
|
||||||
['b1x3x1', m2, 8,-16, -4, 24, 0,0,0],
|
|
||||||
['b1x3x1', m2, 8, 16, -4, 24, 0,0,0],
|
|
||||||
['b1x3x1', m2, 8, -4, 0, 24, 0,0,90],
|
|
||||||
['b1x3x1', m2, 8, 12, 0, 24, 0,0,90],
|
|
||||||
['b1x3x1', m4, 8, 12, -4, 24, 0,0,90],
|
|
||||||
['b1x3x1', m4, 8, -4, -4, 24, 0,0,90],
|
|
||||||
['a1x1x2', m2, 9,-28, 0, 27, 0,0,90],
|
|
||||||
['a1x1x2', m2, 9, 28, 0, 27, 0,0,-90],
|
|
||||||
['l2x2x1', m2, 9, 24, 4, 27, 0,0,180],
|
|
||||||
['l2x2x1', m2, 9, 20, 0, 27, 0,0,180],
|
|
||||||
['l2x2x1', m2, 9,-24, 4, 27, 0,0,-90],
|
|
||||||
['l2x2x1', m2, 9,-20, 0, 27, 0,0,-90],
|
|
||||||
['b1x3x1', m2, 9, -4, 0, 27, 0,0,90],
|
|
||||||
['b1x3x1', m2, 9, 12, 0, 27, 0,0,90],
|
|
||||||
['b1x1x1', m4, 9,-12, -4, 27, 0,0,90],
|
|
||||||
['b1x1x1', m4, 9, -4, -4, 27, 0,0,90],
|
|
||||||
['b1x1x1', m4, 9, 4, -4, 27, 0,0,90],
|
|
||||||
['b1x1x1', m4, 9, 12, -4, 27, 0,0,90],
|
|
||||||
['c1x1x1', m3, 9, -8, -4, 27, 0,0,90],
|
|
||||||
['c1x1x1', m3, 9, 8, -4, 27, 0,0,90],
|
|
||||||
['b1x2x1', m2, 10,-20, 0, 30, 0,0,90],
|
|
||||||
['b1x2x1', m2, 10, 24, 0, 30, 0,0,90],
|
|
||||||
['r1x3x1', m2, 10, -4, 0, 30, 0,0,90],
|
|
||||||
['r1x3x1', m2, 10, 12, 0, 30, 0,0,90],
|
|
||||||
['r1x3x1', m4, 10, 12, -4, 30, 0,0,90],
|
|
||||||
['r1x3x1', m4, 10, -4, -4, 30, 0,0,90],
|
|
||||||
];
|
|
@@ -23,12 +23,6 @@ macro matr_cell c_funct,c_param,funct,param, dia
|
|||||||
dia dword[esp-4*(c_param*(c_funct-funct)+(1+c_param-param))]
|
dia dword[esp-4*(c_param*(c_funct-funct)+(1+c_param-param))]
|
||||||
}
|
}
|
||||||
|
|
||||||
;Macro for double type parameters (8 bytes)
|
|
||||||
macro glpush GLDoubleVar {
|
|
||||||
push dword[GLDoubleVar+4]
|
|
||||||
push dword[GLDoubleVar]
|
|
||||||
}
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
start:
|
start:
|
||||||
load_library name_tgl, library_path, system_path, import_tinygl
|
load_library name_tgl, library_path, system_path, import_tinygl
|
||||||
@@ -901,22 +895,8 @@ endp
|
|||||||
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc'
|
||||||
import_tinygl:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
n dd sz_#n
|
|
||||||
}
|
|
||||||
include '../export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
sz_#n db `n,0
|
|
||||||
}
|
|
||||||
include '../export.inc'
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
|
||||||
system_path db '/sys/lib/'
|
system_path db '/sys/lib/'
|
||||||
name_tgl db 'tinygl.obj',0
|
name_tgl db 'tinygl.obj',0
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
|
@@ -1,3 +1,7 @@
|
|||||||
|
; SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
; Test 3 - example of drawing triangles
|
||||||
|
; Copyright (C) 2014-2025 KolibriOS team
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0
|
org 0
|
||||||
db 'MENUET01'
|
db 'MENUET01'
|
||||||
@@ -8,13 +12,14 @@ include '../../../../../macros.inc'
|
|||||||
include '../../../../../KOSfuncs.inc'
|
include '../../../../../KOSfuncs.inc'
|
||||||
include '../../../../../load_lib.mac'
|
include '../../../../../load_lib.mac'
|
||||||
include '../../../../../dll.inc'
|
include '../../../../../dll.inc'
|
||||||
|
include '../kosgl.inc'
|
||||||
include '../opengl_const.inc'
|
include '../opengl_const.inc'
|
||||||
|
|
||||||
@use_library
|
@use_library
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
start:
|
start:
|
||||||
load_library name_tgl, library_path, system_path, import_lib_tinygl
|
load_library name_tgl, library_path, system_path, import_tinygl
|
||||||
cmp eax,SF_TERMINATE_PROCESS
|
cmp eax,SF_TERMINATE_PROCESS
|
||||||
jz button.exit
|
jz button.exit
|
||||||
|
|
||||||
@@ -34,11 +39,11 @@ red_win:
|
|||||||
align 16
|
align 16
|
||||||
still:
|
still:
|
||||||
mcall SF_WAIT_EVENT
|
mcall SF_WAIT_EVENT
|
||||||
cmp al,1
|
cmp al,EV_REDRAW
|
||||||
jz red_win
|
jz red_win
|
||||||
cmp al,2
|
cmp al,EV_KEY
|
||||||
jz key
|
jz key
|
||||||
cmp al,3
|
cmp al,EV_BUTTON
|
||||||
jz button
|
jz button
|
||||||
jmp still
|
jmp still
|
||||||
|
|
||||||
@@ -99,7 +104,7 @@ caption db 'Test tinygl library, [Esc] - exit, [<-] and [->] - rotate',0
|
|||||||
|
|
||||||
align 4
|
align 4
|
||||||
draw_3d:
|
draw_3d:
|
||||||
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;очистим буфер цвета и глубины
|
stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;clear the color and depth buffer
|
||||||
|
|
||||||
call [glPushMatrix]
|
call [glPushMatrix]
|
||||||
stdcall [glRotatef], [angle_z],0.0,0.0,1.0
|
stdcall [glRotatef], [angle_z],0.0,0.0,1.0
|
||||||
@@ -136,30 +141,15 @@ angle_z dd 15.0
|
|||||||
delt_size dd 3.0
|
delt_size dd 3.0
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc' ;tinygl
|
||||||
import_lib_tinygl:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
n dd sz_#n
|
|
||||||
}
|
|
||||||
include '../export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
sz_#n db `n,0
|
|
||||||
}
|
|
||||||
include '../export.inc'
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
|
||||||
system_path db '/sys/lib/'
|
system_path db '/sys/lib/'
|
||||||
name_tgl db 'tinygl.obj',0
|
name_tgl db 'tinygl.obj',0
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
i_end:
|
i_end:
|
||||||
ctx1 rb 28 ;TinyGLContext or KOSGLContext
|
ctx1 TinyGLContext
|
||||||
;sizeof.TinyGLContext = 28
|
|
||||||
cur_dir_path rb 4096
|
cur_dir_path rb 4096
|
||||||
library_path rb 4096
|
library_path rb 4096
|
||||||
rb 1024
|
rb 1024
|
||||||
|
@@ -1,3 +1,7 @@
|
|||||||
|
; SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
; Test array1 - example of using vertex array functions
|
||||||
|
; Copyright (C) 2014-2025 KolibriOS team
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0
|
org 0
|
||||||
db 'MENUET01'
|
db 'MENUET01'
|
||||||
@@ -8,6 +12,7 @@ include '../../../../../macros.inc'
|
|||||||
include '../../../../../KOSfuncs.inc'
|
include '../../../../../KOSfuncs.inc'
|
||||||
include '../../../../../load_lib.mac'
|
include '../../../../../load_lib.mac'
|
||||||
include '../../../../../dll.inc'
|
include '../../../../../dll.inc'
|
||||||
|
include '../kosgl.inc'
|
||||||
include '../opengl_const.inc'
|
include '../opengl_const.inc'
|
||||||
|
|
||||||
@use_library
|
@use_library
|
||||||
@@ -191,29 +196,15 @@ align 4
|
|||||||
Indices rb FACES_COUNT*6 ;3 points per edge, point index 2 bytes
|
Indices rb FACES_COUNT*6 ;3 points per edge, point index 2 bytes
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc' ;tinygl
|
||||||
import_tinygl:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
n dd sz_#n
|
|
||||||
}
|
|
||||||
include '../export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
sz_#n db `n,0
|
|
||||||
}
|
|
||||||
include '../export.inc'
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
|
||||||
system_path db '/sys/lib/'
|
system_path db '/sys/lib/'
|
||||||
name_tgl db 'tinygl.obj',0
|
name_tgl db 'tinygl.obj',0
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
i_end:
|
i_end:
|
||||||
ctx1 rb 28 ;sizeof.TinyGLContext = 28
|
ctx1 TinyGLContext
|
||||||
cur_dir_path rb 4096
|
cur_dir_path rb 4096
|
||||||
library_path rb 4096
|
library_path rb 4096
|
||||||
rb 4096
|
rb 4096
|
||||||
|
@@ -490,127 +490,9 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; Цвет и интенсивность ос
|
|||||||
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
|
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc' ;tinygl
|
||||||
import_tinygl:
|
include '../../../buf2d/import.inc'
|
||||||
|
include '../../../libs-dev/libimg/import.inc'
|
||||||
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'
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_buf2d:
|
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
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_curve_bezier db 'buf2d_curve_bezier',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_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
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
|
|
||||||
; img_convert dd aimg_convert
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
alib_init1 db 'lib_init',0
|
|
||||||
; aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение
|
|
||||||
; 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 ;преобразование изображения в данные RGB
|
|
||||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
|
||||||
aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных
|
|
||||||
; 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
|
|
||||||
; aimg_convert db 'img_convert',0
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
system_dir_0 db '/sys/lib/'
|
system_dir_0 db '/sys/lib/'
|
||||||
|
@@ -473,127 +473,9 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; Цвет и интенсивность ос
|
|||||||
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
|
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc' ;tinygl
|
||||||
import_tinygl:
|
include '../../../buf2d/import.inc'
|
||||||
|
include '../../../libs-dev/libimg/import.inc'
|
||||||
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'
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_buf2d:
|
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
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_curve_bezier db 'buf2d_curve_bezier',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_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
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
|
|
||||||
; img_convert dd aimg_convert
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
alib_init1 db 'lib_init',0
|
|
||||||
; aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение
|
|
||||||
; 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 ;преобразование изображения в данные RGB
|
|
||||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
|
||||||
aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных
|
|
||||||
; 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
|
|
||||||
; aimg_convert db 'img_convert',0
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
system_dir_0 db '/sys/lib/'
|
system_dir_0 db '/sys/lib/'
|
||||||
|
@@ -433,127 +433,9 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; Цвет и интенсивность ос
|
|||||||
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
|
lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; Параметры фонового освещения
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc' ;tinygl
|
||||||
import_tinygl:
|
include '../../../buf2d/import.inc'
|
||||||
|
include '../../../libs-dev/libimg/import.inc'
|
||||||
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'
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_buf2d:
|
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
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_curve_bezier db 'buf2d_curve_bezier',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_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
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
|
|
||||||
; img_convert dd aimg_convert
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
alib_init1 db 'lib_init',0
|
|
||||||
; aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение
|
|
||||||
; 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 ;преобразование изображения в данные RGB
|
|
||||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
|
||||||
aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных
|
|
||||||
; 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
|
|
||||||
; aimg_convert db 'img_convert',0
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
system_dir_0 db '/sys/lib/'
|
system_dir_0 db '/sys/lib/'
|
||||||
|
@@ -364,127 +364,9 @@ angle_y dd 0.0
|
|||||||
delt_size dd 3.0
|
delt_size dd 3.0
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc' ;tinygl
|
||||||
import_tinygl:
|
include '../../../buf2d/import.inc'
|
||||||
|
include '../../../libs-dev/libimg/import.inc'
|
||||||
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'
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_buf2d:
|
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
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_curve_bezier db 'buf2d_curve_bezier',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_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
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
|
|
||||||
; img_convert dd aimg_convert
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
alib_init1 db 'lib_init',0
|
|
||||||
; aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение
|
|
||||||
; 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 ;преобразование изображения в данные RGB
|
|
||||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
|
||||||
aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных
|
|
||||||
; 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
|
|
||||||
; aimg_convert db 'img_convert',0
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
system_dir_0 db '/sys/lib/'
|
system_dir_0 db '/sys/lib/'
|
||||||
|
@@ -315,127 +315,9 @@ angle_y dd 0.0
|
|||||||
delt_size dd 3.0
|
delt_size dd 3.0
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
align 4
|
include '../import.inc' ;tinygl
|
||||||
import_tinygl:
|
include '../../../buf2d/import.inc'
|
||||||
|
include '../../../libs-dev/libimg/import.inc'
|
||||||
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'
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_buf2d:
|
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
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_curve_bezier db 'buf2d_curve_bezier',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_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
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
|
|
||||||
; img_convert dd aimg_convert
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
alib_init1 db 'lib_init',0
|
|
||||||
; aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение
|
|
||||||
; 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 ;преобразование изображения в данные RGB
|
|
||||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
|
||||||
aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных
|
|
||||||
; 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
|
|
||||||
; aimg_convert db 'img_convert',0
|
|
||||||
|
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
system_dir_0 db '/sys/lib/'
|
system_dir_0 db '/sys/lib/'
|
||||||
|
18
programs/develop/libraries/TinyGL/asm_fork/import.inc
Normal file
18
programs/develop/libraries/TinyGL/asm_fork/import.inc
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
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'
|
@@ -49,9 +49,9 @@ include '../../../../../load_lib.mac'
|
|||||||
;--- Start of program ----------------------------------------------
|
;--- Start of program ----------------------------------------------
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
START:
|
START:
|
||||||
mcall 68,11
|
mcall SF_SYS_MISC,SSF_HEAP_INIT
|
||||||
mcall 66,1,1
|
mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1
|
||||||
mcall 40,0x27
|
mcall SF_SET_EVENTS_MASK,0x27
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
load_libraries l_libs_start,end_l_libs
|
load_libraries l_libs_start,end_l_libs
|
||||||
@@ -84,7 +84,7 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
|
|
||||||
copy_path icons_file_name,path,library_path,0
|
copy_path icons_file_name,path,library_path,0
|
||||||
|
|
||||||
mcall 70,fileinfo
|
mcall SF_FILE,fileinfo
|
||||||
|
|
||||||
mov [fileinfo+0],dword 0
|
mov [fileinfo+0],dword 0
|
||||||
|
|
||||||
@@ -93,14 +93,14 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
mov [img_size],ecx
|
mov [img_size],ecx
|
||||||
|
|
||||||
|
|
||||||
mcall 68,12
|
mcall SF_SYS_MISC,SSF_MEM_ALLOC
|
||||||
|
|
||||||
|
|
||||||
mov [fileinfo+16],eax
|
mov [fileinfo+16],eax
|
||||||
mov [image_file],eax
|
mov [image_file],eax
|
||||||
|
|
||||||
|
|
||||||
mcall 70,fileinfo
|
mcall SF_FILE,fileinfo
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov [return_code],eax
|
mov [return_code],eax
|
||||||
@@ -108,8 +108,7 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
push image_file
|
push image_file
|
||||||
call [cnv_png_import.Start]
|
call [cnv_png_import.Start]
|
||||||
|
|
||||||
mov ecx,[image_file]
|
mcall SF_SYS_MISC,SSF_MEM_FREE,[image_file]
|
||||||
mcall 68,13,
|
|
||||||
|
|
||||||
cmp [return_code],dword 0
|
cmp [return_code],dword 0
|
||||||
jne button.exit
|
jne button.exit
|
||||||
@@ -151,28 +150,28 @@ load_libraries l_libs_start,end_l_libs
|
|||||||
red:
|
red:
|
||||||
call draw_window
|
call draw_window
|
||||||
still:
|
still:
|
||||||
mcall 10
|
mcall SF_WAIT_EVENT
|
||||||
|
|
||||||
cmp eax,1
|
cmp eax,EV_REDRAW
|
||||||
je red
|
je red
|
||||||
cmp eax,2
|
cmp eax,EV_KEY
|
||||||
je key
|
je key
|
||||||
cmp eax,3
|
cmp eax,EV_BUTTON
|
||||||
je button
|
je button
|
||||||
cmp eax,6
|
cmp eax,EV_MOUSE
|
||||||
je mouse
|
je mouse
|
||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
key:
|
key:
|
||||||
mcall 2
|
mcall SF_GET_KEY
|
||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
button:
|
button:
|
||||||
mcall 17
|
mcall SF_GET_BUTTON
|
||||||
cmp ah,1
|
cmp ah,1
|
||||||
jne still
|
jne still
|
||||||
.exit:
|
.exit:
|
||||||
mcall -1
|
mcall SF_TERMINATE_PROCESS
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
mouse:
|
mouse:
|
||||||
;-----------------------------------------------
|
;-----------------------------------------------
|
||||||
@@ -184,7 +183,7 @@ mouse:
|
|||||||
jbe .horizontal
|
jbe .horizontal
|
||||||
; mouse event for Vertical ScrollBar
|
; mouse event for Vertical ScrollBar
|
||||||
push dword scroll_bar_data_vertical
|
push dword scroll_bar_data_vertical
|
||||||
call [scrollbar_ver_mouse]
|
call [scrollbar_v_mouse]
|
||||||
mov eax,scroll_bar_data_vertical.redraw
|
mov eax,scroll_bar_data_vertical.redraw
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
cmp [eax],ebx
|
cmp [eax],ebx
|
||||||
@@ -200,7 +199,7 @@ mouse:
|
|||||||
jbe .other
|
jbe .other
|
||||||
; mouse event for Horizontal ScrollBar
|
; mouse event for Horizontal ScrollBar
|
||||||
push dword scroll_bar_data_horizontal
|
push dword scroll_bar_data_horizontal
|
||||||
call [scrollbar_hor_mouse]
|
call [scrollbar_h_mouse]
|
||||||
mov eax,scroll_bar_data_horizontal.redraw
|
mov eax,scroll_bar_data_horizontal.redraw
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
cmp [eax],ebx
|
cmp [eax],ebx
|
||||||
@@ -240,7 +239,7 @@ mouse:
|
|||||||
.mouse_dinamic_button:
|
.mouse_dinamic_button:
|
||||||
; mouse event for Dinamic Button 1
|
; mouse event for Dinamic Button 1
|
||||||
push dword dinamic_button_data_1
|
push dword dinamic_button_data_1
|
||||||
call [dinamic_button_mouse]
|
call [dbutton_mouse]
|
||||||
mov eax,dinamic_button_data_1.click
|
mov eax,dinamic_button_data_1.click
|
||||||
cmp [eax],dword 1
|
cmp [eax],dword 1
|
||||||
jne @f
|
jne @f
|
||||||
@@ -249,7 +248,7 @@ mouse:
|
|||||||
@@:
|
@@:
|
||||||
; mouse event for Dinamic Button 2
|
; mouse event for Dinamic Button 2
|
||||||
push dword dinamic_button_data_2
|
push dword dinamic_button_data_2
|
||||||
call [dinamic_button_mouse]
|
call [dbutton_mouse]
|
||||||
mov eax,dinamic_button_data_2.click
|
mov eax,dinamic_button_data_2.click
|
||||||
cmp [eax],dword 1
|
cmp [eax],dword 1
|
||||||
jne still ;@f
|
jne still ;@f
|
||||||
@@ -283,7 +282,7 @@ analyse_out_menu_2:
|
|||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
about:
|
about:
|
||||||
mcall 51,1,thread3,thread
|
mcall SF_CREATE_THREAD,1,thread3,thread
|
||||||
jmp still
|
jmp still
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
OpenDialog_start_0:
|
OpenDialog_start_0:
|
||||||
@@ -320,9 +319,9 @@ OpenDialog_start:
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
draw_window:
|
draw_window:
|
||||||
mcall 12,1
|
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||||
mcall 0,<0,400>,<0,400>,0x03AABBCC,0x805080D0,0x005080D0
|
mcall SF_CREATE_WINDOW,<0,400>,<0,400>,0x03AABBCC,0x805080D0,0x005080D0
|
||||||
mcall 71,1,header_1
|
mcall SF_SET_CAPTION,1,header_1
|
||||||
;---------------------------------------------
|
;---------------------------------------------
|
||||||
; draw for Menu 1
|
; draw for Menu 1
|
||||||
push dword menu_data_1
|
push dword menu_data_1
|
||||||
@@ -333,15 +332,15 @@ draw_window:
|
|||||||
;---------------------------------------------
|
;---------------------------------------------
|
||||||
; draw for Dinamic Button 1
|
; draw for Dinamic Button 1
|
||||||
push dword dinamic_button_data_1
|
push dword dinamic_button_data_1
|
||||||
call [dinamic_button_draw]
|
call [dbutton_draw]
|
||||||
; draw for Dinamic Button 2
|
; draw for Dinamic Button 2
|
||||||
push dword dinamic_button_data_2
|
push dword dinamic_button_data_2
|
||||||
call [dinamic_button_draw]
|
call [dbutton_draw]
|
||||||
;---------------------------------------------
|
;---------------------------------------------
|
||||||
mcall 13,<170,200>,<25,15>,0xffffb0
|
mcall SF_DRAW_RECT,<170,200>,<25,15>,0xffffb0
|
||||||
; mov bx,28
|
; mov bx,28
|
||||||
; add ebx,2 shl 16
|
; add ebx,2 shl 16
|
||||||
; mcall 4,,0xC0000000,text_work_area,,0xffffb0
|
; mcall SF_DRAW_TEXT,,0xC0000000,text_work_area,,0xffffb0
|
||||||
; draw for PathShow
|
; draw for PathShow
|
||||||
push dword PathShow_data_1
|
push dword PathShow_data_1
|
||||||
call [PathShow_draw]
|
call [PathShow_draw]
|
||||||
@@ -357,21 +356,21 @@ draw_window:
|
|||||||
|
|
||||||
; draw for Vertical ScrollBar
|
; draw for Vertical ScrollBar
|
||||||
push dword scroll_bar_data_vertical
|
push dword scroll_bar_data_vertical
|
||||||
call [scrollbar_ver_draw]
|
call [scrollbar_v_draw]
|
||||||
; draw for Horizontal ScrollBar
|
; draw for Horizontal ScrollBar
|
||||||
push dword scroll_bar_data_horizontal
|
push dword scroll_bar_data_horizontal
|
||||||
call [scrollbar_hor_draw]
|
call [scrollbar_h_draw]
|
||||||
; reset all_redraw flag
|
; reset all_redraw flag
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov [scroll_bar_data_vertical.all_redraw],eax
|
mov [scroll_bar_data_vertical.all_redraw],eax
|
||||||
mov [scroll_bar_data_horizontal.all_redraw],eax
|
mov [scroll_bar_data_horizontal.all_redraw],eax
|
||||||
;---------------------------------------------
|
;---------------------------------------------
|
||||||
call draw_cube
|
call draw_cube
|
||||||
mcall 12,2
|
mcall SF_REDRAW,SSF_END_DRAW
|
||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
draw_cube:
|
draw_cube:
|
||||||
mcall 13,<30,301>,<50,301>,0xafafaf
|
mcall SF_DRAW_RECT,<30,301>,<50,301>,0xafafaf
|
||||||
mov ecx,[scroll_bar_data_vertical.position]
|
mov ecx,[scroll_bar_data_vertical.position]
|
||||||
add ecx,50
|
add ecx,50
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
@@ -380,7 +379,7 @@ draw_cube:
|
|||||||
add ebx,30
|
add ebx,30
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
mov bx,30
|
mov bx,30
|
||||||
mcall 13,,,0x0
|
mcall SF_DRAW_RECT,,,0x0
|
||||||
ret
|
ret
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
include 'data.inc'
|
include 'data.inc'
|
||||||
|
@@ -30,7 +30,7 @@ system_dir_ProcLib db '/sys/lib/proc_lib.obj',0
|
|||||||
align 4
|
align 4
|
||||||
l_libs_start:
|
l_libs_start:
|
||||||
library01 l_libs system_dir_Boxlib+9, file_name, system_dir_Boxlib,\
|
library01 l_libs system_dir_Boxlib+9, file_name, system_dir_Boxlib,\
|
||||||
Box_lib_import, plugins_directory
|
import_box_lib, plugins_directory
|
||||||
|
|
||||||
library02 l_libs system_dir_CnvPNG+9, file_name, system_dir_CnvPNG,\
|
library02 l_libs system_dir_CnvPNG+9, file_name, system_dir_CnvPNG,\
|
||||||
cnv_png_import, plugins_directory
|
cnv_png_import, plugins_directory
|
||||||
@@ -126,91 +126,7 @@ deflate_unpack dd 0
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
include '../../import.inc' ;import_box_lib
|
||||||
Box_lib_import:
|
|
||||||
;init_lib dd a_init
|
|
||||||
;version_lib dd a_version
|
|
||||||
|
|
||||||
|
|
||||||
;edit_box_draw dd aEdit_box_draw
|
|
||||||
;edit_box_key dd aEdit_box_key
|
|
||||||
;edit_box_mouse dd aEdit_box_mouse
|
|
||||||
;version_ed dd aVersion_ed
|
|
||||||
|
|
||||||
;check_box_draw dd aCheck_box_draw
|
|
||||||
;check_box_mouse dd aCheck_box_mouse
|
|
||||||
;version_ch dd aVersion_ch
|
|
||||||
|
|
||||||
;option_box_draw dd aOption_box_draw
|
|
||||||
;option_box_mouse dd aOption_box_mouse
|
|
||||||
;version_op dd aVersion_op
|
|
||||||
|
|
||||||
scrollbar_ver_draw dd aScrollbar_ver_draw
|
|
||||||
scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
|
||||||
scrollbar_hor_draw dd aScrollbar_hor_draw
|
|
||||||
scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
|
||||||
;version_scrollbar dd aVersion_scrollbar
|
|
||||||
|
|
||||||
dinamic_button_draw dd aDbutton_draw
|
|
||||||
dinamic_button_mouse dd aDbutton_mouse
|
|
||||||
;version_dbutton dd aVersion_dbutton
|
|
||||||
|
|
||||||
menu_bar_draw dd aMenu_bar_draw
|
|
||||||
menu_bar_mouse dd aMenu_bar_mouse
|
|
||||||
menu_bar_activate dd aMenu_bar_activate
|
|
||||||
;version_menu_bar dd aVersion_menu_bar
|
|
||||||
|
|
||||||
;FileBrowser_draw dd aFileBrowser_draw
|
|
||||||
;FileBrowser_mouse dd aFileBrowser_mouse
|
|
||||||
;FileBrowser_key dd aFileBrowser_key
|
|
||||||
;Version_FileBrowser dd aVersion_FileBrowser
|
|
||||||
|
|
||||||
PathShow_prepare dd sz_PathShow_prepare
|
|
||||||
PathShow_draw dd sz_PathShow_draw
|
|
||||||
;Version_path_show dd szVersion_path_show
|
|
||||||
dd 0,0
|
|
||||||
|
|
||||||
;a_init db 'lib_init',0
|
|
||||||
;a_version db 'version',0
|
|
||||||
|
|
||||||
;aEdit_box_draw db 'edit_box_draw',0
|
|
||||||
;aEdit_box_key db 'edit_box_key',0
|
|
||||||
;aEdit_box_mouse db 'edit_box_mouse',0
|
|
||||||
;aVersion_ed db 'version_ed',0
|
|
||||||
|
|
||||||
;aCheck_box_draw db 'check_box_draw',0
|
|
||||||
;aCheck_box_mouse db 'check_box_mouse',0
|
|
||||||
;aVersion_ch db 'version_ch',0
|
|
||||||
|
|
||||||
;aOption_box_draw db 'option_box_draw',0
|
|
||||||
;aOption_box_mouse db 'option_box_mouse',0
|
|
||||||
;aVersion_op db 'version_op',0
|
|
||||||
|
|
||||||
aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
|
||||||
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
|
||||||
aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
|
||||||
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
|
||||||
;aVersion_scrollbar db 'version_scrollbar',0
|
|
||||||
|
|
||||||
aDbutton_draw db 'dbutton_draw',0
|
|
||||||
aDbutton_mouse db 'dbutton_mouse',0
|
|
||||||
;aVersion_dbutton db 'version_dbutton',0
|
|
||||||
|
|
||||||
aMenu_bar_draw db 'menu_bar_draw',0
|
|
||||||
aMenu_bar_mouse db 'menu_bar_mouse',0
|
|
||||||
aMenu_bar_activate db 'menu_bar_activate',0
|
|
||||||
;aVersion_menu_bar db 'version_menu_bar',0
|
|
||||||
|
|
||||||
;aFileBrowser_draw db 'FileBrowser_draw',0
|
|
||||||
;aFileBrowser_mouse db 'FileBrowser_mouse',0
|
|
||||||
;aFileBrowser_key db 'FileBrowser_key',0
|
|
||||||
;aVersion_FileBrowser db 'version_FileBrowser',0
|
|
||||||
|
|
||||||
sz_PathShow_prepare db 'PathShow_prepare',0
|
|
||||||
sz_PathShow_draw db 'PathShow_draw',0
|
|
||||||
;szVersion_path_show db 'version_PathShow',0
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
|
@@ -18,7 +18,7 @@ include '../../../../../load_lib.mac'
|
|||||||
@use_library ;use load lib macros
|
@use_library ;use load lib macros
|
||||||
start:
|
start:
|
||||||
;universal load library/librarys
|
;universal load library/librarys
|
||||||
sys_load_library library_name, library_path, system_path, myimport
|
sys_load_library library_name, library_path, system_path, import_box_lib
|
||||||
;if return code =-1 then exit, else nornary work
|
;if return code =-1 then exit, else nornary work
|
||||||
cmp eax,-1
|
cmp eax,-1
|
||||||
jz exit
|
jz exit
|
||||||
@@ -116,37 +116,7 @@ library_name db 'box_lib.obj',0
|
|||||||
;library_name db 'box_lib.obj',0
|
;library_name db 'box_lib.obj',0
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
myimport:
|
include '../../import.inc' ;creating a function import table
|
||||||
|
|
||||||
edit_box_draw dd aEdit_box_draw
|
|
||||||
edit_box_key dd aEdit_box_key
|
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
|
||||||
version_ed dd aVersion_ed
|
|
||||||
|
|
||||||
init_checkbox dd aInit_checkbox
|
|
||||||
check_box_draw dd aCheck_box_draw
|
|
||||||
check_box_mouse dd aCheck_box_mouse
|
|
||||||
version_ch dd aVersion_ch
|
|
||||||
|
|
||||||
option_box_draw dd aOption_box_draw
|
|
||||||
option_box_mouse dd aOption_box_mouse
|
|
||||||
version_op dd aVersion_op
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box_draw',0
|
|
||||||
aEdit_box_key db 'edit_box_key',0
|
|
||||||
aEdit_box_mouse db 'edit_box_mouse',0
|
|
||||||
aVersion_ed db 'version_ed',0
|
|
||||||
|
|
||||||
aInit_checkbox db 'init_checkbox2',0
|
|
||||||
aCheck_box_draw db 'check_box_draw2',0
|
|
||||||
aCheck_box_mouse db 'check_box_mouse2',0
|
|
||||||
aVersion_ch db 'version_ch2',0
|
|
||||||
|
|
||||||
aOption_box_draw db 'option_box_draw',0
|
|
||||||
aOption_box_mouse db 'option_box_mouse',0
|
|
||||||
aVersion_op db 'version_op',0
|
|
||||||
|
|
||||||
|
|
||||||
check1 check_box2 (10 shl 16 + 12),(45 shl 16 + 12),5,0x80AABBCC,0,0,check_text1,ch_flag_en
|
check1 check_box2 (10 shl 16 + 12),(45 shl 16 + 12),5,0x80AABBCC,0,0,check_text1,ch_flag_en
|
||||||
|
@@ -34,14 +34,14 @@ START:
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------
|
;--- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ----------------------------------------
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
mcall 68, 11
|
mcall SF_SYS_MISC, SSF_HEAP_INIT
|
||||||
|
|
||||||
mcall 40, $C0000027 ; <20><>᪠ ᮡ<>⨩ - <20><><EFBFBD><EFBFBD> ⮫쪮 <20> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
mcall SF_SET_EVENTS_MASK, $C0000027 ; <20><>᪠ ᮡ<>⨩ - <20><><EFBFBD><EFBFBD> ⮫쪮 <20> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
sys_load_library lib_name, lib_path, sys_path, myimport
|
sys_load_library lib_name, lib_path, sys_path, import_box_lib
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz @f
|
jz @f
|
||||||
mcall -1 ; alarm exit
|
mcall SF_TERMINATE_PROCESS
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
|
|
||||||
@@ -56,16 +56,16 @@ call draw_window ;
|
|||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
still:
|
still:
|
||||||
mcall 23, 5 ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 23 - <20><><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 祬 0.05<EFBFBD>
|
mcall SF_WAIT_EVENT_TIMEOUT, 5 ; <20><><EFBFBD><EFBFBD><EFBFBD> ᮡ<><E1AEA1><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> 祬 0.05<EFBFBD>
|
||||||
test eax, eax ; <20><><EFBFBD> ᮡ<>⨩ - <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD>⨯<EFBFBD><E2A8AF> <20><> ⠩<><E2A0A9><EFBFBD><EFBFBD>
|
test eax, eax ; <20><><EFBFBD> ᮡ<>⨩ - <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD> <20><><EFBFBD>⨯<EFBFBD><E2A8AF> <20><> ⠩<><E2A0A9><EFBFBD><EFBFBD>
|
||||||
je yield
|
je yield
|
||||||
cmp eax,1 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD> ?
|
cmp eax,EV_REDRAW
|
||||||
je red ; <20> <20><> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD> red
|
je red ; <20> <20><> - <20><> <20><><EFBFBD><EFBFBD><EFBFBD> red
|
||||||
cmp eax,2 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ?
|
cmp eax,EV_KEY
|
||||||
je key ; <20> <20><> - <20><> key
|
je key ; <20> <20><> - <20><> key
|
||||||
cmp eax,3 ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ?
|
cmp eax,EV_BUTTON
|
||||||
je button ; <20> <20><> - <20><> button
|
je button ; <20> <20><> - <20><> button
|
||||||
cmp eax,6 ; ᮡ<>⨥ <20><><EFBFBD><EFBFBD>
|
cmp eax,EV_MOUSE
|
||||||
je mouse ; <20> <20><> - <20><> mouse
|
je mouse ; <20> <20><> - <20><> mouse
|
||||||
|
|
||||||
jmp still ; <20> <20><>㣮<EFBFBD> ᮡ<>⨥ - <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
jmp still ; <20> <20><>㣮<EFBFBD> ᮡ<>⨥ - <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
||||||
@@ -81,21 +81,21 @@ invoke tooltip_mouse, redbox_tt
|
|||||||
jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
||||||
|
|
||||||
key: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
key: ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mcall 2 ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 2 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> (<28> ah)
|
mcall SF_GET_KEY ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD> (<28> ah)
|
||||||
|
|
||||||
jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
jmp still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>砫<EFBFBD> 横<><E6A8AA>
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
|
|
||||||
button:
|
button:
|
||||||
mcall 17 ; 17 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
mcall SF_GET_BUTTON ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
cmp ah, 1 ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> 1,
|
cmp ah, 1 ; <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> 1,
|
||||||
jne still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
jne still ; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
pexit:
|
pexit:
|
||||||
invoke tooltip_delete, redbox_tt ; <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
invoke tooltip_delete, redbox_tt ; <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mcall -1 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
mcall SF_TERMINATE_PROCESS
|
||||||
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
@@ -104,20 +104,20 @@ mcall -1 ;
|
|||||||
|
|
||||||
draw_window:
|
draw_window:
|
||||||
|
|
||||||
mcall 12, 1 ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 12: ᮮ<><E1AEAE><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><>砫<EFBFBD> <20><><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2>
|
mcall SF_REDRAW, SSF_BEGIN_DRAW
|
||||||
|
|
||||||
mcall 48, 3, sc,sizeof.system_colors
|
mcall SF_STYLE_SETTINGS, SSF_GET_COLORS, sc, sizeof.system_colors
|
||||||
|
|
||||||
mov edx, [sc.work] ; 梥<> 䮭<>
|
mov edx, [sc.work] ; 梥<> 䮭<>
|
||||||
or edx, 0x33000000 ; <20> ⨯ <20><><EFBFBD><EFBFBD> 3
|
or edx, 0x33000000 ; <20> ⨯ <20><><EFBFBD><EFBFBD> 3
|
||||||
mcall 0, <200,300>, <200,150>, , ,title
|
mcall SF_CREATE_WINDOW, <200,300>, <200,150>, , ,title
|
||||||
|
|
||||||
; <20>뢮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><E2A8AA>
|
; <20>뢮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><E2A8AA>
|
||||||
mcall 13, <60,50>, <50,50>, $FF0000
|
mcall SF_DRAW_RECT, <60,50>, <50,50>, $FF0000
|
||||||
mcall 13, <140,50>, <50,50>, $FF
|
mcall SF_DRAW_RECT, <140,50>, <50,50>, $FF
|
||||||
|
|
||||||
|
|
||||||
mcall 12, 2 ; <20>㭪<EFBFBD><E3ADAA><EFBFBD> 12.2, <20><><EFBFBD><EFBFBD><EFBFBD>稫<EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD>
|
mcall SF_REDRAW, SSF_END_DRAW
|
||||||
|
|
||||||
ret ; <20><>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>
|
ret ; <20><>室<EFBFBD><E5AEA4> <20><> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD>
|
||||||
|
|
||||||
@@ -135,22 +135,7 @@ lib_name db 'box_lib.obj',0
|
|||||||
cur_dir_path rb 4096
|
cur_dir_path rb 4096
|
||||||
lib_path rb 4096
|
lib_path rb 4096
|
||||||
|
|
||||||
myimport:
|
include '../../import.inc' ;import_box_lib
|
||||||
dd sz_lib_init ;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ᮬ 1 ࠧ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD>
|
|
||||||
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>, <20><>⮬<EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC> <20><>⪠ <20><> <20><><EFBFBD> <20><> <20>㦭<EFBFBD>
|
|
||||||
tooltip_init dd sz_tooltip_init
|
|
||||||
tooltip_delete dd sz_tooltip_delete
|
|
||||||
tooltip_test_show dd sz_tooltip_test_show
|
|
||||||
tooltip_mouse dd sz_tooltip_mouse
|
|
||||||
get_font_size dd sz_get_font_size
|
|
||||||
dd 0,0
|
|
||||||
|
|
||||||
sz_lib_init db 'lib_init',0
|
|
||||||
sz_tooltip_init db 'tooltip_init', 0
|
|
||||||
sz_tooltip_delete db 'tooltip_delete', 0
|
|
||||||
sz_tooltip_test_show db 'tooltip_test_show', 0
|
|
||||||
sz_tooltip_mouse db 'tooltip_mouse', 0
|
|
||||||
sz_get_font_size db 'get_font_size', 0
|
|
||||||
|
|
||||||
|
|
||||||
;tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait
|
;tooltip txt, next, zone_x, zone_w, zone_y, zone_h, col_txt, col_bkg, tm_wait
|
||||||
|
117
programs/develop/libraries/box_lib/export.inc
Normal file
117
programs/develop/libraries/box_lib/export.inc
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
;
|
||||||
|
; 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
|
24
programs/develop/libraries/box_lib/import.inc
Normal file
24
programs/develop/libraries/box_lib/import.inc
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
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'
|
48
programs/develop/libraries/buf2d/export.inc
Normal file
48
programs/develop/libraries/buf2d/export.inc
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
;
|
||||||
|
; 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
|
20
programs/develop/libraries/buf2d/import.inc
Normal file
20
programs/develop/libraries/buf2d/import.inc
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
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'
|
@@ -11,7 +11,7 @@ include '../../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
|||||||
include '../../../../dll.inc'
|
include '../../../../dll.inc'
|
||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
caption db '<27><><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⬮<EFBFBD> DES 05.03.13',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
caption db '<27><><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⬮<EFBFBD> DES 21.05.25',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
struct FileInfoBlock
|
struct FileInfoBlock
|
||||||
Function dd ?
|
Function dd ?
|
||||||
@@ -112,13 +112,13 @@ align 4
|
|||||||
still:
|
still:
|
||||||
mcall SF_WAIT_EVENT
|
mcall SF_WAIT_EVENT
|
||||||
|
|
||||||
cmp al,1
|
cmp al,EV_REDRAW
|
||||||
jz red_win
|
jz red_win
|
||||||
cmp al,2
|
cmp al,EV_KEY
|
||||||
jz key
|
jz key
|
||||||
cmp al,3
|
cmp al,EV_BUTTON
|
||||||
jz button
|
jz button
|
||||||
cmp al,6 ;<3B><><EFBFBD><EFBFBD>
|
cmp al,EV_MOUSE
|
||||||
jne @f
|
jne @f
|
||||||
jmp mouse
|
jmp mouse
|
||||||
@@:
|
@@:
|
||||||
@@ -410,52 +410,7 @@ l_libs_start:
|
|||||||
lib_4 l_libs lib_name_4, library_path, system_dir_4, import_box_lib
|
lib_4 l_libs lib_name_4, library_path, system_dir_4, import_box_lib
|
||||||
l_libs_end:
|
l_libs_end:
|
||||||
|
|
||||||
align 4
|
include '../../libs-dev/libimg/import.inc'
|
||||||
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: ;<3B><><EFBFBD>ᠭ<EFBFBD><E1A0AD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20>㭪権
|
import_proclib: ;<3B><><EFBFBD>ᠭ<EFBFBD><E1A0AD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20>㭪権
|
||||||
@@ -465,57 +420,7 @@ dd 0,0
|
|||||||
aOpenDialog_Init db 'OpenDialog_init',0
|
aOpenDialog_Init db 'OpenDialog_init',0
|
||||||
aOpenDialog_Start db 'OpenDialog_start',0
|
aOpenDialog_Start db 'OpenDialog_start',0
|
||||||
|
|
||||||
align 4
|
include '../../buf2d/import.inc'
|
||||||
import_buf2d:
|
|
||||||
init dd sz_init
|
|
||||||
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_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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
;buf2d_set_pixel dd sz_buf2d_set_pixel
|
|
||||||
dd 0,0
|
|
||||||
sz_init 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_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_curve_bezier db 'buf2d_curve_bezier',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_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
;sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_des: ;<3B><><EFBFBD>ᠭ<EFBFBD><E1A0AD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20>㭪権
|
import_des: ;<3B><><EFBFBD>ᠭ<EFBFBD><E1A0AD> <20><>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20>㭪権
|
||||||
@@ -525,22 +430,7 @@ dd 0,0
|
|||||||
sz_des_encryption db 'des_encryption',0
|
sz_des_encryption db 'des_encryption',0
|
||||||
sz_des_decryption db 'des_decryption',0
|
sz_des_decryption db 'des_decryption',0
|
||||||
|
|
||||||
align 4
|
include '../../box_lib/import.inc'
|
||||||
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
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
mouse_dd dd 0x0
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
buf_0: dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
buf_0: dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||||
@@ -564,12 +454,13 @@ buf_1:
|
|||||||
edit1 edit_box 58, 140,8, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 8, txt_key, mouse_dd, ed_focus+ed_always_focus,8,8
|
edit1 edit_box 58, 140,8, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 8, txt_key, mouse_dd, ed_focus+ed_always_focus,8,8
|
||||||
|
|
||||||
txt_openfile db '<27><><EFBFBD>ன<EFBFBD><E0AEA9> 䠩<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>.',0
|
txt_openfile db '<27><><EFBFBD>ன<EFBFBD><E0AEA9> 䠩<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>.',0
|
||||||
txt_buf rb 80
|
|
||||||
txt_key db 'des_0123',0
|
txt_key db 'des_0123',0
|
||||||
mem_key rb 120
|
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
i_end:
|
i_end:
|
||||||
|
txt_buf rb 80
|
||||||
|
mem_key rb 120
|
||||||
|
mouse_dd rd 1
|
||||||
procinfo process_information
|
procinfo process_information
|
||||||
sc system_colors
|
sc system_colors
|
||||||
rb 2048
|
rb 2048
|
||||||
|
34
programs/develop/libraries/libs-dev/libimg/export.inc
Normal file
34
programs/develop/libraries/libs-dev/libimg/export.inc
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
;
|
||||||
|
; 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
|
20
programs/develop/libraries/libs-dev/libimg/import.inc
Normal file
20
programs/develop/libraries/libs-dev/libimg/import.inc
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
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,6 +23,9 @@ 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
|
||||||
@@ -214,7 +217,7 @@ end if
|
|||||||
jmp i_error
|
jmp i_error
|
||||||
align 4
|
align 4
|
||||||
i_begin:
|
i_begin:
|
||||||
import_boxlib myimport
|
import_some_library myimport
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz i_exit
|
jz i_exit
|
||||||
i_error:
|
i_error:
|
||||||
@@ -234,13 +237,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
|
||||||
@@ -251,7 +254,7 @@ end if
|
|||||||
jmp i_error
|
jmp i_error
|
||||||
align 4
|
align 4
|
||||||
i_begin:
|
i_begin:
|
||||||
import_boxlib myimport
|
import_some_library myimport
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jz i_exit
|
jz i_exit
|
||||||
i_error:
|
i_error:
|
||||||
@@ -309,7 +312,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_boxlib my_import
|
import_some_library 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
|
||||||
@@ -387,7 +390,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_boxlib my_import
|
import_some_library 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
|
||||||
@@ -451,7 +454,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_boxlib myimport
|
macro import_some_library myimport
|
||||||
{
|
{
|
||||||
local import_loop
|
local import_loop
|
||||||
local import_find
|
local import_find
|
||||||
|
@@ -1,3 +1,7 @@
|
|||||||
|
; SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
; ImgTransform - utility for creating textures from images
|
||||||
|
; Copyright (C) 2020-2025 KolibriOS team
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org 0
|
org 0
|
||||||
db 'MENUET01'
|
db 'MENUET01'
|
||||||
@@ -9,23 +13,23 @@ include '../../proc32.inc'
|
|||||||
include '../../KOSfuncs.inc'
|
include '../../KOSfuncs.inc'
|
||||||
include '../../load_img.inc'
|
include '../../load_img.inc'
|
||||||
include '../../load_lib.mac'
|
include '../../load_lib.mac'
|
||||||
|
include '../../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 '../../develop/libraries/TinyGL/asm_fork/zbuffer.inc'
|
include '../../develop/libraries/TinyGL/asm_fork/zbuffer.inc'
|
||||||
include '../../develop/libraries/libs-dev/libimg/libimg.inc'
|
include '../../develop/libraries/libs-dev/libimg/libimg.inc'
|
||||||
include '../../develop/info3ds/info_fun_float.inc'
|
include '../../develop/info3ds/info_fun_float.inc'
|
||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
caption db 'Image transform 08.12.20',0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
caption db 'Image transform 21.05.25',0
|
||||||
|
|
||||||
BUF_STRUCT_SIZE equ 21
|
BUF_STRUCT_SIZE equ 21
|
||||||
buf2d_data equ dword[edi] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
buf2d_data equ dword[edi] ;image buffer data
|
||||||
buf2d_w equ dword[edi+8] ;<EFBFBD><EFBFBD>ਭ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
buf2d_w equ dword[edi+8] ;buffer width
|
||||||
buf2d_h equ dword[edi+12] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
buf2d_h equ dword[edi+12] ;buffer height
|
||||||
buf2d_l equ word[edi+4]
|
buf2d_l equ word[edi+4] ;left space
|
||||||
buf2d_t equ word[edi+6] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᢥ<><E1A2A5><EFBFBD>
|
buf2d_t equ word[edi+6] ;top space
|
||||||
buf2d_size_lt equ dword[edi+4] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABA5> <20> <20><>ࠢ<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
buf2d_color equ dword[edi+16] ;buffer background color
|
||||||
buf2d_color equ dword[edi+16] ;梥<EFBFBD> 䮭<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
buf2d_bits equ byte[edi+20] ;number of bits in 1 image pixel
|
||||||
buf2d_bits equ byte[edi+20] ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD> <20> 1-<2D> <20><>窥 <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
NAV_WND_L equ 145
|
NAV_WND_L equ 145
|
||||||
NAV_WND_T equ 1
|
NAV_WND_T equ 1
|
||||||
@@ -88,13 +92,13 @@ still:
|
|||||||
cmp eax,0
|
cmp eax,0
|
||||||
je timer_funct
|
je timer_funct
|
||||||
|
|
||||||
cmp al,1
|
cmp al,EV_REDRAW
|
||||||
jz red_win
|
jz red_win
|
||||||
cmp al,2
|
cmp al,EV_KEY
|
||||||
jz key
|
jz key
|
||||||
cmp al,3
|
cmp al,EV_BUTTON
|
||||||
jz button
|
jz button
|
||||||
cmp al,6
|
cmp al,EV_MOUSE
|
||||||
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.window_stack_position]
|
||||||
@@ -1428,56 +1432,9 @@ l_libs_start:
|
|||||||
lib_0 l_libs lib_name_0, file_name, system_dir_0, import_proclib
|
lib_0 l_libs lib_name_0, file_name, system_dir_0, import_proclib
|
||||||
lib_1 l_libs lib_name_1, file_name, system_dir_1, import_libimg
|
lib_1 l_libs lib_name_1, file_name, system_dir_1, import_libimg
|
||||||
lib_2 l_libs lib_name_2, library_path, system_dir_2, import_buf2d
|
lib_2 l_libs lib_name_2, library_path, system_dir_2, import_buf2d
|
||||||
lib_3 l_libs lib_name_3, library_path, system_dir_3, import_lib_tinygl
|
lib_3 l_libs lib_name_3, library_path, system_dir_3, import_tinygl
|
||||||
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
|
||||||
@@ -1490,76 +1447,9 @@ 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
|
||||||
|
|
||||||
align 4
|
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
||||||
import_buf2d:
|
include '../../develop/libraries/buf2d/import.inc'
|
||||||
init dd sz_init
|
include '../../develop/libraries/TinyGL/asm_fork/import.inc'
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
buf2d_set_pixel dd sz_buf2d_set_pixel
|
|
||||||
buf2d_get_pixel dd sz_buf2d_get_pixel
|
|
||||||
dd 0,0
|
|
||||||
sz_init 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_curve_bezier db 'buf2d_curve_bezier',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_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
sz_buf2d_get_pixel db 'buf2d_get_pixel',0
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_lib_tinygl:
|
|
||||||
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
n dd sz_#n
|
|
||||||
}
|
|
||||||
include '../../../programs/develop/libraries/TinyGL/asm_fork/export.inc'
|
|
||||||
dd 0,0
|
|
||||||
macro E_LIB n
|
|
||||||
{
|
|
||||||
sz_#n db `n,0
|
|
||||||
}
|
|
||||||
include '../../../programs/develop/libraries/TinyGL/asm_fork/export.inc'
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
buf_0: dd 0
|
buf_0: dd 0
|
||||||
|
@@ -259,99 +259,10 @@ aOpenDialog_Init db 'OpenDialog_init',0
|
|||||||
aOpenDialog_Start db 'OpenDialog_start',0
|
aOpenDialog_Start db 'OpenDialog_start',0
|
||||||
;aOpenDialog_Version db 'Version_OpenDialog',0
|
;aOpenDialog_Version db 'Version_OpenDialog',0
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
|
||||||
Box_lib_import:
|
|
||||||
;init_lib dd a_init
|
|
||||||
;version_lib dd a_version
|
|
||||||
|
|
||||||
edit_box_draw dd aEdit_box_draw
|
Box_lib_import equ import_box_lib
|
||||||
edit_box_key dd aEdit_box_key
|
include '../../develop/libraries/box_lib/import.inc'
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
||||||
edit_box_set_text dd aEdit_box_set_text
|
|
||||||
;version_ed dd aVersion_ed
|
|
||||||
|
|
||||||
init_checkbox dd aInit_checkbox
|
|
||||||
check_box_draw dd aCheck_box_draw
|
|
||||||
check_box_mouse dd aCheck_box_mouse
|
|
||||||
;version_ch dd aVersion_ch
|
|
||||||
|
|
||||||
option_box_draw dd aOption_box_draw
|
|
||||||
option_box_mouse dd aOption_box_mouse
|
|
||||||
;version_op dd aVersion_op
|
|
||||||
|
|
||||||
PathShow_prepare dd sz_PathShow_prepare
|
|
||||||
PathShow_draw dd sz_PathShow_draw
|
|
||||||
;Version_path_show dd szVersion_path_show
|
|
||||||
dd 0,0
|
|
||||||
|
|
||||||
;a_init db 'lib_init',0
|
|
||||||
;a_version db 'version',0
|
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box_draw',0
|
|
||||||
aEdit_box_key db 'edit_box_key',0
|
|
||||||
aEdit_box_mouse db 'edit_box_mouse',0
|
|
||||||
aEdit_box_set_text db 'edit_box_set_text',0
|
|
||||||
;aVersion_ed db 'version_ed',0
|
|
||||||
|
|
||||||
|
|
||||||
aInit_checkbox db 'init_checkbox2',0
|
|
||||||
aCheck_box_draw db 'check_box_draw2',0
|
|
||||||
aCheck_box_mouse db 'check_box_mouse2',0
|
|
||||||
;aVersion_ch db 'version_ch2',0
|
|
||||||
|
|
||||||
aOption_box_draw db 'option_box_draw',0
|
|
||||||
aOption_box_mouse db 'option_box_mouse',0
|
|
||||||
;aVersion_op db 'version_op',0
|
|
||||||
|
|
||||||
sz_PathShow_prepare db 'PathShow_prepare',0
|
|
||||||
sz_PathShow_draw db 'PathShow_draw',0
|
|
||||||
;szVersion_path_show db 'version_PathShow',0
|
|
||||||
;---------------------------------------------------------------------
|
|
||||||
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
|
|
||||||
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
|
|
||||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
|
||||||
aimg_decode db 'img_decode',0
|
|
||||||
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
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
;width,left,top,color,shift_color,focus_border_color,\
|
;width,left,top,color,shift_color,focus_border_color,\
|
||||||
; blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
|
; blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
|
||||||
|
@@ -140,13 +140,13 @@ still:
|
|||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp al,1
|
cmp al,EV_REDRAW
|
||||||
jz red_win
|
jz red_win
|
||||||
cmp al,2
|
cmp al,EV_KEY
|
||||||
jz key
|
jz key
|
||||||
cmp al,3
|
cmp al,EV_BUTTON
|
||||||
jz button
|
jz button
|
||||||
cmp al,6
|
cmp al,EV_MOUSE
|
||||||
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.window_stack_position]
|
||||||
@@ -757,52 +757,6 @@ l_libs_start:
|
|||||||
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
|
||||||
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:
|
||||||
@@ -816,110 +770,9 @@ 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
|
||||||
|
|
||||||
align 4
|
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
||||||
import_buf2d:
|
include '../../develop/libraries/buf2d/import.inc'
|
||||||
init dd sz_init
|
include '../../develop/libraries/box_lib/import.inc'
|
||||||
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_line_sm dd sz_buf2d_line_sm
|
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flip_h dd sz_buf2d_flip_h
|
|
||||||
buf2d_flip_v dd sz_buf2d_flip_v
|
|
||||||
buf2d_offset_h dd sz_buf2d_offset_h
|
|
||||||
buf2d_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
buf2d_set_pixel dd sz_buf2d_set_pixel
|
|
||||||
dd 0,0
|
|
||||||
sz_init 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_line_sm db 'buf2d_line_sm',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_curve_bezier db 'buf2d_curve_bezier',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_flip_h db 'buf2d_flip_h',0
|
|
||||||
sz_buf2d_flip_v db 'buf2d_flip_v',0
|
|
||||||
sz_buf2d_offset_h db 'buf2d_offset_h',0
|
|
||||||
sz_buf2d_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_box_lib:
|
|
||||||
dd sz_init1
|
|
||||||
|
|
||||||
init_checkbox dd sz_Init_checkbox
|
|
||||||
check_box_draw dd sz_Check_box_draw
|
|
||||||
check_box_mouse dd sz_Check_box_mouse
|
|
||||||
;version_ch dd sz_Version_ch
|
|
||||||
|
|
||||||
option_box_draw dd sz_Option_box_draw
|
|
||||||
option_box_mouse dd sz_Option_box_mouse
|
|
||||||
;version_op dd sz_Version_op
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
progressbar_draw dd sz_progressbar_draw
|
|
||||||
progressbar_progress dd sz_progressbar_progress
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
sz_init1 db 'lib_init',0
|
|
||||||
|
|
||||||
sz_Init_checkbox db 'init_checkbox2',0
|
|
||||||
sz_Check_box_draw db 'check_box_draw2',0
|
|
||||||
sz_Check_box_mouse db 'check_box_mouse2',0
|
|
||||||
;sz_Version_ch db 'version_ch2',0
|
|
||||||
|
|
||||||
sz_Option_box_draw db 'option_box_draw',0
|
|
||||||
sz_Option_box_mouse db 'option_box_mouse',0
|
|
||||||
;sz_Version_op db 'version_op',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_progressbar_draw db 'progressbar_draw', 0
|
|
||||||
sz_progressbar_progress db 'progressbar_progress', 0
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_libkmenu:
|
import_libkmenu:
|
||||||
|
@@ -15,16 +15,16 @@ include 'cnc_editor.inc'
|
|||||||
include '../../develop/info3ds/info_fun_float.inc'
|
include '../../develop/info3ds/info_fun_float.inc'
|
||||||
|
|
||||||
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
@use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
|
||||||
caption db 'CNC editor 23.05.19',0 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
caption db 'CNC editor 07.05.25',0 ;window signature
|
||||||
|
|
||||||
run_file_70 FileInfoBlock
|
run_file_70 FileInfoBlock
|
||||||
|
|
||||||
offs_last_timer dd 0 ;<3B><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> ᤢ<><E1A4A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㭪樨 ⠩<><E2A0A9><EFBFBD><EFBFBD>
|
offs_last_timer dd 0 ;<3B><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> ᤢ<><E1A4A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㭪樨 ⠩<><E2A0A9><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
|
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
|
||||||
image_data_toolbar dd 0 ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20>㦥<EFBFBD> <20>८<EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
image_data_toolbar dd 0 ;pointer to temporary memory, needed for image conversion
|
||||||
icon_tl_sys dd 0 ;㪠<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_tl_sys dd 0 ;pointer to memory for storing system icons
|
||||||
icon_toolbar dd 0 ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ꥪ⮢
|
icon_toolbar dd 0 ;pointer to memory for storing object icons
|
||||||
|
|
||||||
include 'wnd_point_coords.inc'
|
include 'wnd_point_coords.inc'
|
||||||
include 'wnd_scale.inc'
|
include 'wnd_scale.inc'
|
||||||
@@ -111,13 +111,13 @@ still:
|
|||||||
jmp still
|
jmp still
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
cmp al,1
|
cmp al,EV_REDRAW
|
||||||
jz red_win
|
jz red_win
|
||||||
cmp al,2
|
cmp al,EV_KEY
|
||||||
jz key
|
jz key
|
||||||
cmp al,3
|
cmp al,EV_BUTTON
|
||||||
jz button
|
jz button
|
||||||
cmp al,6
|
cmp al,EV_MOUSE
|
||||||
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.window_stack_position]
|
||||||
@@ -360,8 +360,7 @@ pushad
|
|||||||
cmp eax,dword[buf_0.h] ;ᬮ<>ਬ ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
cmp eax,dword[buf_0.h] ;ᬮ<>ਬ ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
jne @f
|
jne @f
|
||||||
cmp ebx,dword[buf_0.w]
|
cmp ebx,dword[buf_0.w]
|
||||||
jne @f
|
je .end0
|
||||||
jmp .end0
|
|
||||||
@@:
|
@@:
|
||||||
stdcall [buf2d_resize],buf_0,ebx,eax,1
|
stdcall [buf2d_resize],buf_0,ebx,eax,1
|
||||||
mov eax,ObjData
|
mov eax,ObjData
|
||||||
@@ -2105,53 +2104,6 @@ l_libs_start:
|
|||||||
lib_3 l_libs lib_name_3, file_name, system_dir_3, import_box_lib
|
lib_3 l_libs lib_name_3, file_name, system_dir_3, import_box_lib
|
||||||
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
|
||||||
@@ -2164,162 +2116,10 @@ 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
|
||||||
|
|
||||||
align 4
|
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
||||||
import_buf2d:
|
include '../../develop/libraries/buf2d/import.inc'
|
||||||
init dd sz_init
|
include '../../develop/libraries/box_lib/import.inc'
|
||||||
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_line_sm dd sz_buf2d_line_sm
|
|
||||||
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_curve_bezier dd sz_buf2d_curve_bezier
|
|
||||||
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_flip_h dd sz_buf2d_flip_h
|
|
||||||
buf2d_flip_v dd sz_buf2d_flip_v
|
|
||||||
buf2d_offset_h dd sz_buf2d_offset_h
|
|
||||||
buf2d_flood_fill dd sz_buf2d_flood_fill
|
|
||||||
buf2d_set_pixel dd sz_buf2d_set_pixel
|
|
||||||
dd 0,0
|
|
||||||
sz_init 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_line_sm db 'buf2d_line_sm',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_curve_bezier db 'buf2d_curve_bezier',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_flip_h db 'buf2d_flip_h',0
|
|
||||||
sz_buf2d_flip_v db 'buf2d_flip_v',0
|
|
||||||
sz_buf2d_offset_h db 'buf2d_offset_h',0
|
|
||||||
sz_buf2d_flood_fill db 'buf2d_flood_fill',0
|
|
||||||
sz_buf2d_set_pixel db 'buf2d_set_pixel',0
|
|
||||||
|
|
||||||
align 4
|
|
||||||
import_box_lib:
|
|
||||||
dd sz_init1
|
|
||||||
|
|
||||||
init_checkbox dd sz_Init_checkbox
|
|
||||||
check_box_draw dd sz_Check_box_draw
|
|
||||||
check_box_mouse dd sz_Check_box_mouse
|
|
||||||
;version_ch dd sz_Version_ch
|
|
||||||
|
|
||||||
option_box_draw dd sz_Option_box_draw
|
|
||||||
option_box_mouse dd sz_Option_box_mouse
|
|
||||||
;version_op dd sz_Version_op
|
|
||||||
|
|
||||||
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_Init_checkbox db 'init_checkbox2',0
|
|
||||||
sz_Check_box_draw db 'check_box_draw2',0
|
|
||||||
sz_Check_box_mouse db 'check_box_mouse2',0
|
|
||||||
;sz_Version_ch db 'version_ch2',0
|
|
||||||
|
|
||||||
sz_Option_box_draw db 'option_box_draw',0
|
|
||||||
sz_Option_box_mouse db 'option_box_mouse',0
|
|
||||||
;sz_Version_op db 'version_op',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
|
|
||||||
mouse_dd dd 0
|
|
||||||
last_time dd 0
|
|
||||||
|
|
||||||
align 16
|
|
||||||
sc system_colors
|
|
||||||
|
|
||||||
align 16
|
|
||||||
procinfo process_information
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
buf_0: dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
buf_0: dd 0 ;㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠦ<EFBFBD><E0A0A6><EFBFBD><EFBFBD>
|
||||||
@@ -2348,7 +2148,7 @@ buf_png:
|
|||||||
align 4
|
align 4
|
||||||
el_focus dd tree1
|
el_focus dd tree1
|
||||||
tree1 tree_list size_one_list,1000+2, tl_key_no_edit+tl_draw_par_line,\
|
tree1 tree_list size_one_list,1000+2, tl_key_no_edit+tl_draw_par_line,\
|
||||||
16,16, 0xffffff,0xb0d0ff,0x400040, 5,35,195-16,340, 16,Figure.Caption,0,\
|
16,16, 0xffffff,0xb0d0ff,0x10400040, 5,35,195-16,340, 16,Figure.Caption,0,\
|
||||||
el_focus,w_scr_t1,0
|
el_focus,w_scr_t1,0
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@@ -2400,6 +2200,14 @@ endp
|
|||||||
|
|
||||||
align 16
|
align 16
|
||||||
i_end:
|
i_end:
|
||||||
|
mouse_dd dd 0
|
||||||
|
last_time dd 0
|
||||||
|
|
||||||
|
align 16
|
||||||
|
sc system_colors
|
||||||
|
|
||||||
|
align 16
|
||||||
|
procinfo process_information
|
||||||
rb 2048
|
rb 2048
|
||||||
thread_coords:
|
thread_coords:
|
||||||
rb 2048
|
rb 2048
|
||||||
|
@@ -81,148 +81,7 @@ lib_name_5 db 'kmenu.obj',0
|
|||||||
|
|
||||||
|
|
||||||
;---------------------------------------------------------------------
|
;---------------------------------------------------------------------
|
||||||
align 4
|
include '../../develop/libraries/box_lib/import.inc'
|
||||||
import_box_lib:
|
|
||||||
dd alib_init0 ;<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>⮬<EFBFBD> <EFBFBD> <EFBFBD>ணࠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>⪠ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>㦭<EFBFBD>
|
|
||||||
|
|
||||||
edit_box_draw dd aEdit_box_draw
|
|
||||||
edit_box_key dd aEdit_box_key
|
|
||||||
edit_box_mouse dd aEdit_box_mouse
|
|
||||||
;edit_box_set_text dd aEdit_box_set_text
|
|
||||||
;version_ed dd aVersion_ed
|
|
||||||
|
|
||||||
init_checkbox dd ainit_checkbox
|
|
||||||
check_box_draw dd acheck_box_draw
|
|
||||||
check_box_mouse dd acheck_box_mouse
|
|
||||||
|
|
||||||
option_box_draw dd aOption_box_draw
|
|
||||||
option_box_mouse dd aOption_box_mouse
|
|
||||||
;version_op dd aVersion_op
|
|
||||||
|
|
||||||
scrollbar_ver_draw dd aScrollbar_ver_draw
|
|
||||||
scrollbar_ver_mouse dd aScrollbar_ver_mouse
|
|
||||||
scrollbar_hor_draw dd aScrollbar_hor_draw
|
|
||||||
scrollbar_hor_mouse dd aScrollbar_hor_mouse
|
|
||||||
;version_scrollbar dd aVersion_scrollbar
|
|
||||||
|
|
||||||
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_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
|
|
||||||
|
|
||||||
ted_but_sumb_upper dd sz_ted_but_sumb_upper
|
|
||||||
ted_but_sumb_lover dd sz_ted_but_sumb_lover
|
|
||||||
ted_but_convert_by_table dd sz_ted_but_convert_by_table
|
|
||||||
ted_can_save dd sz_ted_can_save
|
|
||||||
ted_clear dd sz_ted_clear
|
|
||||||
ted_delete dd sz_ted_delete
|
|
||||||
ted_draw dd sz_ted_draw
|
|
||||||
ted_init dd sz_ted_init
|
|
||||||
ted_init_scroll_bars dd sz_ted_init_scroll_bars
|
|
||||||
ted_init_syntax_file dd sz_ted_init_syntax_file
|
|
||||||
ted_is_select dd sz_ted_is_select
|
|
||||||
ted_key dd sz_ted_key
|
|
||||||
ted_mouse dd sz_ted_mouse
|
|
||||||
ted_open_file dd sz_ted_open_file
|
|
||||||
ted_save_file dd sz_ted_save_file
|
|
||||||
ted_text_add dd sz_ted_text_add
|
|
||||||
ted_but_select_word dd sz_ted_but_select_word
|
|
||||||
ted_but_cut dd sz_ted_but_cut
|
|
||||||
ted_but_copy dd sz_ted_but_copy
|
|
||||||
ted_but_paste dd sz_ted_but_paste
|
|
||||||
ted_but_undo dd sz_ted_but_undo
|
|
||||||
ted_but_redo dd sz_ted_but_redo
|
|
||||||
ted_but_reverse dd sz_ted_but_reverse
|
|
||||||
ted_but_find dd sz_ted_but_find
|
|
||||||
ted_but_replace dd sz_ted_but_replace
|
|
||||||
ted_text_colored dd sz_ted_text_colored
|
|
||||||
ted_go_to_position dd sz_ted_go_to_position
|
|
||||||
version_text_edit dd sz_ted_version
|
|
||||||
|
|
||||||
dd 0,0
|
|
||||||
alib_init0 db 'lib_init',0
|
|
||||||
|
|
||||||
aEdit_box_draw db 'edit_box_draw',0
|
|
||||||
aEdit_box_key db 'edit_box_key',0
|
|
||||||
aEdit_box_mouse db 'edit_box_mouse',0
|
|
||||||
;aEdit_box_set_text db 'edit_box_set_text',0
|
|
||||||
;aVersion_ed db 'version_ed',0
|
|
||||||
|
|
||||||
ainit_checkbox db 'init_checkbox2',0
|
|
||||||
acheck_box_draw db 'check_box_draw2',0
|
|
||||||
acheck_box_mouse db 'check_box_mouse2',0
|
|
||||||
|
|
||||||
aOption_box_draw db 'option_box_draw',0
|
|
||||||
aOption_box_mouse db 'option_box_mouse',0
|
|
||||||
;aVersion_op db 'version_op',0
|
|
||||||
|
|
||||||
aScrollbar_ver_draw db 'scrollbar_v_draw',0
|
|
||||||
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0
|
|
||||||
aScrollbar_hor_draw db 'scrollbar_h_draw',0
|
|
||||||
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0
|
|
||||||
;aVersion_scrollbar db 'version_scrollbar',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_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_ted_but_sumb_upper db 'ted_but_sumb_upper',0
|
|
||||||
sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0
|
|
||||||
sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0
|
|
||||||
sz_ted_can_save db 'ted_can_save',0
|
|
||||||
sz_ted_clear db 'ted_clear',0
|
|
||||||
sz_ted_delete db 'ted_delete',0
|
|
||||||
sz_ted_draw db 'ted_draw',0
|
|
||||||
sz_ted_init db 'ted_init',0
|
|
||||||
sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0
|
|
||||||
sz_ted_init_syntax_file db 'ted_init_syntax_file',0
|
|
||||||
sz_ted_is_select db 'ted_is_select',0
|
|
||||||
sz_ted_key db 'ted_key',0
|
|
||||||
sz_ted_mouse db 'ted_mouse',0
|
|
||||||
sz_ted_open_file db 'ted_open_file',0
|
|
||||||
sz_ted_save_file db 'ted_save_file',0
|
|
||||||
sz_ted_text_add db 'ted_text_add',0
|
|
||||||
sz_ted_but_select_word db 'ted_but_select_word',0
|
|
||||||
sz_ted_but_cut db 'ted_but_cut',0
|
|
||||||
sz_ted_but_copy db 'ted_but_copy',0
|
|
||||||
sz_ted_but_paste db 'ted_but_paste',0
|
|
||||||
sz_ted_but_undo db 'ted_but_undo',0
|
|
||||||
sz_ted_but_redo db 'ted_but_redo',0
|
|
||||||
sz_ted_but_reverse db 'ted_but_reverse',0
|
|
||||||
sz_ted_but_find db 'ted_but_find',0
|
|
||||||
sz_ted_but_replace db 'ted_but_replace',0
|
|
||||||
sz_ted_text_colored db 'ted_text_colored',0
|
|
||||||
sz_ted_go_to_position db 'ted_go_to_position',0
|
|
||||||
sz_ted_version db 'version_text_edit',0
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_proclib:
|
import_proclib:
|
||||||
@@ -242,17 +101,7 @@ dd 0,0
|
|||||||
amb_reinit db 'mb_reinit',0
|
amb_reinit db 'mb_reinit',0
|
||||||
amb_setfunctions db 'mb_setfunctions',0
|
amb_setfunctions db 'mb_setfunctions',0
|
||||||
|
|
||||||
align 4
|
include '../../develop/libraries/libs-dev/libimg/import.inc'
|
||||||
import_libimg:
|
|
||||||
dd alib_init1
|
|
||||||
img_to_rgb2 dd aimg_to_rgb2
|
|
||||||
img_decode dd aimg_decode
|
|
||||||
img_destroy dd aimg_destroy
|
|
||||||
dd 0,0
|
|
||||||
alib_init1 db 'lib_init',0
|
|
||||||
aimg_to_rgb2 db 'img_to_rgb2',0
|
|
||||||
aimg_decode db 'img_decode',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>
|
|
||||||
aimg_destroy db 'img_destroy',0
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
import_libini:
|
import_libini:
|
||||||
|
@@ -394,11 +394,11 @@ p_syntax:
|
|||||||
mov ecx,ted_wnd_t
|
mov ecx,ted_wnd_t
|
||||||
shl ecx,16
|
shl ecx,16
|
||||||
mov cx,20
|
mov cx,20
|
||||||
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work] ;<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><EFBFBD><EFBFBD><EFBFBD>
|
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work] ;drawing the top background rectangle
|
||||||
|
|
||||||
stdcall [tl_draw], tree1
|
stdcall [tl_draw], tree1
|
||||||
mov [ws_dir_lbox.all_redraw],1 ;<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><EFBFBD><EFBFBD><EFBFBD>
|
mov [ws_dir_lbox.all_redraw],1 ;for a complete redraw of the child scroll
|
||||||
stdcall [scrollbar_ver_draw], ws_dir_lbox
|
stdcall [scrollbar_v_draw], ws_dir_lbox
|
||||||
|
|
||||||
ror ecx,16
|
ror ecx,16
|
||||||
add ecx,[tree1.box_height]
|
add ecx,[tree1.box_height]
|
||||||
@@ -411,7 +411,7 @@ p_syntax:
|
|||||||
sub cx,20
|
sub cx,20
|
||||||
sub ecx,[tree1.box_height]
|
sub ecx,[tree1.box_height]
|
||||||
inc cx
|
inc cx
|
||||||
int 0x40 ;<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><EFBFBD><EFBFBD>
|
int 0x40 ;drawing the bottom background rectangle
|
||||||
|
|
||||||
mov ecx,ted_wnd_t
|
mov ecx,ted_wnd_t
|
||||||
add ecx,25
|
add ecx,25
|
||||||
@@ -436,7 +436,7 @@ p_syntax:
|
|||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
MIN_M_WND_H equ 100 ;<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>
|
MIN_M_WND_H equ 100 ;minimum height of main window
|
||||||
;input:
|
;input:
|
||||||
; edi = pointer to tedit struct
|
; edi = pointer to tedit struct
|
||||||
align 4
|
align 4
|
||||||
|
@@ -80,7 +80,7 @@ pushad
|
|||||||
@@:
|
@@:
|
||||||
|
|
||||||
mov dword[w_scr_t3.all_redraw],1
|
mov dword[w_scr_t3.all_redraw],1
|
||||||
stdcall [scrollbar_ver_draw], w_scr_t3
|
stdcall [scrollbar_v_draw], w_scr_t3
|
||||||
stdcall [tl_draw], tree3
|
stdcall [tl_draw], tree3
|
||||||
stdcall [edit_box_draw], edit3
|
stdcall [edit_box_draw], edit3
|
||||||
mcall SF_REDRAW,SSF_END_DRAW
|
mcall SF_REDRAW,SSF_END_DRAW
|
||||||
|
Reference in New Issue
Block a user