All: Update locale codes (Part 2) (#76)
- Update language codes and add comments. - Correct `en_US` translations. - Some whitespace clean-up (mainly EOL sanitation). Reviewed-on: KolibriOS/kolibrios#76 Co-authored-by: Andrew <dent.ace@gmail.com> Co-committed-by: Andrew <dent.ace@gmail.com>
This commit is contained in:
1 parent
c0324e5907
commit
f222e98a09
93 files changed
+61410
-60666
No files matched your search
@@ -1,5 +1,5 @@
|
||||
@erase lang.inc
|
||||
@echo lang fix fr >lang.inc
|
||||
@echo lang fix fr_FR >lang.inc
|
||||
@fasm template.asm template
|
||||
@erase lang.inc
|
||||
@pause
|
||||
@pause
|
||||
@@ -5,10 +5,10 @@
|
||||
; last update: 1/03/2007
|
||||
; written by: Ivan Poddubny
|
||||
; e-mail: ivan-yar@bk.ru
|
||||
;modified by: Heavyiron, maxcodehack
|
||||
; modified by: Heavyiron, maxcodehack
|
||||
|
||||
; <--- include all KolibriOS stuff --->
|
||||
include "lang.inc"
|
||||
include "lang.inc" ; Language support for locales: ru_RU (CP866), fr_FR, en_US.
|
||||
include "..\..\..\..\macros.inc"
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ CODE
|
||||
xor eax, eax ; create and draw the window
|
||||
mov ebx, 100*65536+200 ; (window_cx)*65536+(window_sx)
|
||||
mov ecx, 100*65536+100 ; (window_cy)*65536+(window_sy)
|
||||
mov edx, [sc.work] ; work area color
|
||||
mov edx, [sc.work] ; work area color
|
||||
or edx, 0x33000000 ; & window type 3
|
||||
mov edi, title ; window title
|
||||
int 0x40
|
||||
@@ -80,7 +80,7 @@ if lang eq ru_RU
|
||||
title db 'Шаблон программы',0
|
||||
else if lang eq fr_FR
|
||||
title db 'La programme poncive',0
|
||||
else
|
||||
else ; Default to en_US
|
||||
title db 'Template program',0
|
||||
end if
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
dd 0x2000 ; esp
|
||||
dd 0x0 , 0x0 ; I_Param , I_Icon
|
||||
|
||||
include 'lang.inc'
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
include '..\..\..\..\macros.inc'
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ draw_window:
|
||||
mov edi,title ; WINDOW LABEL
|
||||
mcall
|
||||
|
||||
|
||||
|
||||
mov eax,8 ; NEW THREAD BUTTON
|
||||
mov ebx,20*65536+128
|
||||
mov ecx,63*65536+20
|
||||
@@ -136,11 +136,11 @@ if lang eq ru_RU
|
||||
db 'Память для всех потоков общая. '
|
||||
db ' '
|
||||
db ' СОЗДАТЬ НОВЫЙ ПОТОК '
|
||||
db 'x' ; <- END MARKER, DONT DELETE
|
||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||
|
||||
title db 'Пример использования потоков',0
|
||||
|
||||
else
|
||||
else ; Default to en_US
|
||||
text:
|
||||
db 'THIS EXAMPLE CREATES THREADS BY RUNNING '
|
||||
db 'THE SAME CODE MULTIPLE TIMES. ALL WE '
|
||||
@@ -149,7 +149,7 @@ else
|
||||
db ' '
|
||||
db ' '
|
||||
db ' CREATE NEW THREAD '
|
||||
db 'x' ; <- END MARKER, DONT DELETE
|
||||
db 'x' ; <- END MARKER, DO NOT DELETE
|
||||
|
||||
title db 'THREAD EXAMPLE',0
|
||||
|
||||
|
||||
@@ -1,43 +1,42 @@
|
||||
|
||||
include 'lang.inc'
|
||||
|
||||
if lang eq ru_RU
|
||||
|
||||
text db ' ВхФайл:','ВыхФайл:',' Путь:'
|
||||
.line_size = ($-text)/3
|
||||
|
||||
s_compile db 'Компил.'
|
||||
s_run db ' Пуск '
|
||||
s_debug db 'Отладка'
|
||||
s_dbgdescr db 'Создавать отладочную информацию',0
|
||||
|
||||
sz_EPnotFound db 'Not found entry point to ',0
|
||||
sizeof.sz_EPnotFound = $-sz_EPnotFound
|
||||
|
||||
sz_cantLL db 'Can not load library ',0
|
||||
sizeof.sz_cantLL = $-sz_cantLL
|
||||
|
||||
sz_system_error db 'System error: ',0
|
||||
sizeof.sz_system_error = $-sz_system_error
|
||||
|
||||
else
|
||||
|
||||
text db ' InFile:','OutFile:',' Path:'
|
||||
.line_size = ($-text)/3
|
||||
|
||||
s_compile db 'COMPILE'
|
||||
s_run db ' RUN '
|
||||
s_debug db ' DEBUG '
|
||||
s_dbgdescr db 'Generate debug information',0
|
||||
|
||||
sz_EPnotFound db 'Not found entry point to ',0
|
||||
sizeof.sz_EPnotFound = $-sz_EPnotFound
|
||||
|
||||
sz_cantLL db 'Can not load library ',0
|
||||
sizeof.sz_cantLL = $-sz_cantLL
|
||||
|
||||
sz_system_error db 'System error: ',0
|
||||
sizeof.sz_system_error = $-sz_system_error
|
||||
|
||||
end if
|
||||
|
||||
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
if lang eq ru_RU
|
||||
|
||||
text db ' ВхФайл:','ВыхФайл:',' Путь:'
|
||||
.line_size = ($-text)/3
|
||||
|
||||
s_compile db 'Компил.'
|
||||
s_run db ' Пуск '
|
||||
s_debug db 'Отладка'
|
||||
s_dbgdescr db 'Создавать отладочную информацию',0
|
||||
|
||||
sz_EPnotFound db 'Not found entry point to ',0
|
||||
sizeof.sz_EPnotFound = $-sz_EPnotFound
|
||||
|
||||
sz_cantLL db 'Cannot load library ',0
|
||||
sizeof.sz_cantLL = $-sz_cantLL
|
||||
|
||||
sz_system_error db 'System error: ',0
|
||||
sizeof.sz_system_error = $-sz_system_error
|
||||
|
||||
else ; Default to en_US
|
||||
|
||||
text db ' InFile:','OutFile:',' Path:'
|
||||
.line_size = ($-text)/3
|
||||
|
||||
s_compile db 'COMPILE'
|
||||
s_run db ' RUN '
|
||||
s_debug db ' DEBUG '
|
||||
s_dbgdescr db 'Generate debug information',0
|
||||
|
||||
sz_EPnotFound db 'Not found entry point to ',0
|
||||
sizeof.sz_EPnotFound = $-sz_EPnotFound
|
||||
|
||||
sz_cantLL db 'Cannot load library ',0
|
||||
sizeof.sz_cantLL = $-sz_cantLL
|
||||
|
||||
sz_system_error db 'System error: ',0
|
||||
sizeof.sz_system_error = $-sz_system_error
|
||||
|
||||
end if
|
||||
@@ -22,7 +22,7 @@ include '../../../macros.inc' ;
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../load_lib.mac'
|
||||
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||
include 'lang.inc'
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
@use_library
|
||||
|
||||
@@ -170,7 +170,7 @@ draw_window:
|
||||
;or esi, [sys_colors.grab_text]
|
||||
mcall SF_CREATE_WINDOW, 200*65536+WIN_W, 200*65536+179, ,,title
|
||||
|
||||
|
||||
|
||||
mcall SF_DEFINE_BUTTON, 15*65536+42,106*65536+ 21, 2, [sys_colors.work_button] ; кнопка shl
|
||||
mcall , 70*65536+42, , , ; кнопка sal
|
||||
mcall , (WIN_W-55)*65536+42, , 3, ; кнопка shr
|
||||
@@ -196,7 +196,7 @@ draw_window:
|
||||
|
||||
mcall SF_DRAW_NUMBER, 10*65536, ,(WIN_W-92)*65536+62, ; 10-ная со знаком
|
||||
BIN_LINE_BLOCK_W = 76
|
||||
mcall SF_DRAW_NUMBER, 8*65536+512,,(WIN_W-BIN_LINE_BLOCK_W)*65536+30 ; 2-ная
|
||||
mcall SF_DRAW_NUMBER, 8*65536+512,,(WIN_W-BIN_LINE_BLOCK_W)*65536+30 ; 2-ная
|
||||
ror ecx, 8
|
||||
mov edx, (WIN_W-BIN_LINE_BLOCK_W*2)*65536+30
|
||||
mcall
|
||||
@@ -275,7 +275,7 @@ string1_end:
|
||||
if lang eq ru_RU
|
||||
numstr db 'Число:',0
|
||||
Okstr db 'Ввод',0
|
||||
else
|
||||
else ; Default to en_US
|
||||
numstr db 'Number:',0
|
||||
Okstr db 'Enter',0
|
||||
end if
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
; Marat Zakiyanov aka Mario79, aka Mario
|
||||
;--------------------------------------------------------------------
|
||||
; v.014 05.02.2010
|
||||
;
|
||||
;
|
||||
; PageUp, PageDown - страница вверх/вниз
|
||||
; Ctrl+UP, Ctrl+Down - прокрутка страницы на строку вверх/вниз без смещения курсора
|
||||
; Home,End - в начало/конец строки
|
||||
@@ -59,9 +59,9 @@ use32
|
||||
;--------------------------------------------------------------------
|
||||
_title equ 'HeEd 0.16', 0
|
||||
|
||||
include 'lang.inc'
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../config.inc' ;for nightbuild
|
||||
include '../../../config.inc' ; for nightbuild
|
||||
include '../../../macros.inc'
|
||||
include '../../libraries/box_lib/trunk/box_lib.mac'
|
||||
include '../../../load_lib.mac'
|
||||
@@ -108,25 +108,25 @@ load_libraries l_libs_start,end_l_libs
|
||||
;OpenDialog initialisation
|
||||
push dword OpenDialog_data
|
||||
call [OpenDialog_Init]
|
||||
;--------------------------------------------------------------------
|
||||
;--------------------------------------------------------------------
|
||||
mov esi,fname_buf
|
||||
cmp [esi],byte 0
|
||||
je .start_temp_file_name
|
||||
|
||||
|
||||
cld
|
||||
@@:
|
||||
lodsb
|
||||
test al,al
|
||||
jne @b
|
||||
|
||||
|
||||
std
|
||||
@@:
|
||||
lodsb
|
||||
cmp al,'/'
|
||||
cmp al,'/'
|
||||
jne @b
|
||||
add esi,2
|
||||
jmp .selected_start_file_name
|
||||
;--------------------------------------------------------------------
|
||||
;--------------------------------------------------------------------
|
||||
.start_temp_file_name:
|
||||
mov esi,start_temp_file_name
|
||||
.selected_start_file_name:
|
||||
@@ -1068,7 +1068,7 @@ main_area:
|
||||
mov ecx,edx
|
||||
mov edx,frgrd_color
|
||||
movzx ebx,[scroll_bar_data_vertical.x_pos]
|
||||
|
||||
|
||||
mov ax,[scroll_bar_data_vertical.x_size]
|
||||
test ax,ax
|
||||
jnz .no_inc_ebx
|
||||
@@ -1091,7 +1091,7 @@ main_area:
|
||||
shl ebx,16
|
||||
mov bx,ax
|
||||
mov cx,16
|
||||
|
||||
|
||||
mov ax,[scroll_bar_data_vertical.x_size]
|
||||
test ax,ax
|
||||
jnz .no_inc_ebx_2
|
||||
@@ -1938,13 +1938,13 @@ draw_ed_box: ;
|
||||
cmp al,1
|
||||
jne .2
|
||||
call draw_window
|
||||
|
||||
|
||||
mov eax,[threath_buf+70]
|
||||
test eax,10b
|
||||
jnz .2
|
||||
test eax,100b
|
||||
jnz .2
|
||||
|
||||
|
||||
call main_area
|
||||
bt [flags],2
|
||||
jnc @f
|
||||
@@ -2805,7 +2805,7 @@ Ctrl_V:
|
||||
mov [shblock_end],eax
|
||||
jmp red
|
||||
;--------------------------------------------------------------------
|
||||
;если блок не выделен, то вставляем блок перед курсором
|
||||
;если блок не выделен, то вставляем блок перед курсором
|
||||
.past_kurs:
|
||||
; bt [flags],1
|
||||
; jnc still
|
||||
@@ -2965,7 +2965,7 @@ menu_data_1:
|
||||
.x1:
|
||||
if lang eq ru_RU
|
||||
.size_x1 dw 4*2+9*6 ;+32
|
||||
else
|
||||
else ; Default to en_US
|
||||
.size_x1 dw 40 ;+32
|
||||
end if
|
||||
.start_x1 dw 2 ;+34
|
||||
@@ -3000,7 +3000,7 @@ if lang eq ru_RU
|
||||
db 'Открыть',0
|
||||
db 'Сохранить',0
|
||||
db 'Выход',0
|
||||
else
|
||||
else ; Default to en_US
|
||||
db 'File',0
|
||||
.1:
|
||||
db 'Open',0
|
||||
@@ -3056,7 +3056,7 @@ menu_text_area_2:
|
||||
if lang eq ru_RU
|
||||
db 'Вид',0
|
||||
.1:
|
||||
else
|
||||
else ; Default to en_US
|
||||
db 'View',0
|
||||
.1:
|
||||
end if
|
||||
@@ -3074,7 +3074,7 @@ menu_data_3:
|
||||
.x:
|
||||
if lang eq ru_RU
|
||||
.size_x dw 4*2+7*6 ;+32
|
||||
else
|
||||
else ; Default to en_US
|
||||
.size_x dw 40 ;+4
|
||||
end if
|
||||
.start_x dw 84 ;+6
|
||||
@@ -3089,7 +3089,7 @@ end if
|
||||
.x1:
|
||||
if lang eq ru_RU
|
||||
.size_x1 dw 4*2+7*6 ;+32
|
||||
else
|
||||
else ; Default to en_US
|
||||
.size_x1 dw 40 ;+32
|
||||
end if
|
||||
.start_x1 dw 84 ;+34
|
||||
@@ -3122,7 +3122,7 @@ if lang eq ru_RU
|
||||
db 'Справка',0
|
||||
.1:
|
||||
db 'Справка',0
|
||||
else
|
||||
else ; Default to en_US
|
||||
db 'Help',0
|
||||
.1:
|
||||
db 'Help',0
|
||||
@@ -3155,7 +3155,7 @@ if lang eq ru_RU
|
||||
.e2:
|
||||
.3 db 'Назад'
|
||||
.e3:
|
||||
else
|
||||
else ; Default to en_US
|
||||
.1 db 'Absolutely'
|
||||
.e1:
|
||||
.2 db 'Forward'
|
||||
@@ -3181,7 +3181,7 @@ head_f_i:
|
||||
if lang eq ru_RU
|
||||
error_open_file_string db "Файл не найден!",0
|
||||
error_save_file_string db "Файл не сохранен!",0
|
||||
else
|
||||
else ; Default to en_US
|
||||
error_open_file_string db "Isn't found!",0
|
||||
error_save_file_string db "Isn't saved!",0
|
||||
end if
|
||||
@@ -3240,7 +3240,7 @@ if lang eq ru_RU
|
||||
db 'Ctrl+C - копировать блок '
|
||||
db 'Ctrl+V - вставить в выделенную область'
|
||||
db 'Ctrl+X - вырезать в буфер '
|
||||
else
|
||||
else ; Default to en_US
|
||||
db 'Ctrl+O - open file '
|
||||
db 'Ctrl+S - save file '
|
||||
db 'PageUp, PageDown - page up/down '
|
||||
@@ -3268,7 +3268,7 @@ help_end:
|
||||
;align 4096
|
||||
font_buffer file 'cp866-8x16' ;ASCII+cp866 (+Ё,ё)
|
||||
cp1251 file 'cp1251-8x16'
|
||||
koi8_r file 'koi8-r-8x16'
|
||||
koi8_r file 'koi8-r-8x16'
|
||||
|
||||
title db _title
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
@@ -1,459 +1,460 @@
|
||||
;
|
||||
; Функции для преобразования файла *.stl в *.3ds
|
||||
;
|
||||
; Структура создаваемого файла *.3ds:
|
||||
; CHUNK_MAIN (40+n+v+f)
|
||||
; + CHUNK_OBJMESH (34+n+v+f)
|
||||
; + CHUNK_OBJBLOCK (28+n+v+f)
|
||||
; + CHUNK_TRIMESH (22+v+f)
|
||||
; + CHUNK_VERTLIST (8+v)
|
||||
; + CHUNK_FACELIST (8+f)
|
||||
;
|
||||
; в скобках указаны размеры блоков:
|
||||
; n - память для имени объекта
|
||||
; v - память для вершин
|
||||
; f - память для граней
|
||||
|
||||
; Формат бинарного *.stl:
|
||||
; char[80] - заголовок
|
||||
; uint32 - число граней
|
||||
; для каждой грани:
|
||||
; float[3] - вектор нормали
|
||||
; float[9] - вершины 1,2,3
|
||||
; uint16 - атрибуты
|
||||
|
||||
|
||||
if lang eq ru_RU
|
||||
txt_err_stl_open:
|
||||
db '"STL',13,10
|
||||
db 'Файл *.stl очень большой." -tW',0
|
||||
txt_err_stl_null_v:
|
||||
db '"STL',13,10
|
||||
db 'Вершины не найдены." -tE',0
|
||||
else
|
||||
txt_err_stl_open:
|
||||
db '"STL',13,10
|
||||
db 'File *.stl is very large." -tW',0
|
||||
txt_err_stl_null_v:
|
||||
db '"STL',13,10
|
||||
db 'Vertexes not found." -tE',0
|
||||
end if
|
||||
|
||||
;output:
|
||||
; eax - указатель на сформированый файл 3ds (в случае неудачи 0)
|
||||
; ecx - размер сформированого файла 3ds
|
||||
align 4
|
||||
proc convert_stl_3ds uses ebx edx edi esi, f_data:dword, f_size:dword
|
||||
locals
|
||||
c_mem dd ? ;память для преобразования (convert memory)
|
||||
c_size dd ? ;размер памяти для преобразований (convert memory size)
|
||||
vert_c dd ? ;число вершин (vertex count)
|
||||
face_c dd ? ;число граней (faces count)
|
||||
endl
|
||||
xor eax,eax
|
||||
mov esi,[f_data]
|
||||
cmp dword[esi],'soli'
|
||||
jne .bin_stl
|
||||
cmp word[esi+4],'d '
|
||||
jne .bin_stl
|
||||
|
||||
jmp @f
|
||||
.bin_stl:
|
||||
;проверяем файл на бинарный формат
|
||||
mov ecx,[esi+80]
|
||||
imul ecx,50
|
||||
add ecx,84 ;заголовок
|
||||
cmp ecx,[f_size]
|
||||
jne .no_stl
|
||||
call convert_binary_stl
|
||||
jmp .no_stl
|
||||
@@:
|
||||
|
||||
;в начале найдено 'solid '
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
mov eax,[f_data]
|
||||
sub eax,esi
|
||||
add eax,[f_size]
|
||||
stdcall get_stl_vertex_count, esi,eax
|
||||
or eax,eax
|
||||
jnz @f
|
||||
notify_window_run txt_err_stl_null_v
|
||||
jmp .no_stl
|
||||
@@:
|
||||
cmp eax,0xffff
|
||||
jle @f
|
||||
notify_window_run txt_err_stl_open
|
||||
mov eax,0xffff
|
||||
@@:
|
||||
|
||||
mov [vert_c],eax
|
||||
mov ecx,3
|
||||
xor edx,edx
|
||||
div ecx
|
||||
mov [face_c],eax
|
||||
shl eax,3
|
||||
mov ecx,[vert_c]
|
||||
imul ecx,12
|
||||
lea ecx,[ecx+eax+40]
|
||||
lea edx,[esi-6]
|
||||
sub edx,[f_data]
|
||||
cmp edx,2
|
||||
jge @f
|
||||
mov edx,2 ;минимальный размер для имени объекта
|
||||
@@:
|
||||
add ecx,edx ;for object name
|
||||
mov [c_size],ecx
|
||||
stdcall mem.Alloc,ecx
|
||||
mov [c_mem],eax
|
||||
mov ebx,eax
|
||||
|
||||
mov word[ebx],CHUNK_MAIN
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;3d3d
|
||||
mov word[ebx],CHUNK_OBJMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4000
|
||||
mov word[ebx],CHUNK_OBJBLOCK
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
push ecx esi
|
||||
mov ecx,edx
|
||||
mov edi,ebx
|
||||
mov esi,[f_data]
|
||||
add esi,6 ;пропускаем 'solid '
|
||||
rep movsb ;копируем имя объекта
|
||||
mov byte[edi-1],0
|
||||
add ebx,edx
|
||||
pop esi ecx
|
||||
|
||||
;4100
|
||||
mov word[ebx],CHUNK_TRIMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4110
|
||||
mov word[ebx],CHUNK_VERTLIST
|
||||
mov dword[ebx+2],8 ;+ число вершин * 12
|
||||
add ebx,6
|
||||
|
||||
mov edx,ebx
|
||||
mov word[edx],0 ;кол. вершин
|
||||
add ebx,2
|
||||
finit
|
||||
.cycle0:
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'face'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'oute'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
mov ecx,3 ;3 точки на 1 грань
|
||||
@@:
|
||||
stdcall stl_vertex_init, ebx
|
||||
or eax,eax
|
||||
jz .end_v
|
||||
add ebx,12
|
||||
inc word[edx]
|
||||
loop @b
|
||||
|
||||
mov eax,[vert_c]
|
||||
cmp word[edx],ax
|
||||
jge .end_v
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'endl'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'endf'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
jmp .cycle0
|
||||
.end_v:
|
||||
|
||||
movzx eax,word[edx]
|
||||
imul eax,12
|
||||
add [edx-4],eax ;исправляем размер блока 4110
|
||||
|
||||
;4120
|
||||
mov word[ebx],CHUNK_FACELIST
|
||||
mov ecx,[face_c]
|
||||
mov edx,ecx
|
||||
shl edx,3 ;кол. граней * 8
|
||||
add edx,8
|
||||
mov [ebx+2],edx
|
||||
add ebx,6
|
||||
mov [ebx],cx ;кол. граней
|
||||
add ebx,2
|
||||
xor eax,eax
|
||||
@@:
|
||||
mov [ebx],ax
|
||||
inc eax
|
||||
mov [ebx+2],ax
|
||||
inc eax
|
||||
mov [ebx+4],ax
|
||||
inc eax
|
||||
mov word[ebx+6],0 ;атрибуты
|
||||
add ebx,8
|
||||
loop @b
|
||||
|
||||
mov eax,[c_mem]
|
||||
mov ecx,[c_size]
|
||||
.no_stl:
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; esi - указатель на начало файла
|
||||
; ecx - размер файла
|
||||
align 4
|
||||
proc convert_binary_stl
|
||||
locals
|
||||
c_mem dd ? ;память для преобразования (convert memory)
|
||||
c_size dd ? ;размер памяти для преобразований (convert memory size)
|
||||
vert_c dd ? ;число вершин (vertex count)
|
||||
face_c dd ? ;число граней (faces count)
|
||||
endl
|
||||
mov eax,[esi+80]
|
||||
or eax,eax
|
||||
jnz @f
|
||||
notify_window_run txt_err_stl_null_v
|
||||
jmp .no_stl
|
||||
@@:
|
||||
cmp eax,0xffff/3
|
||||
jle @f
|
||||
notify_window_run txt_err_stl_open
|
||||
mov eax,0xffff/3
|
||||
@@:
|
||||
|
||||
mov [face_c],eax
|
||||
mov ecx,eax
|
||||
imul eax,3
|
||||
mov [vert_c],eax
|
||||
shl ecx,3
|
||||
imul eax,12
|
||||
lea ecx,[ecx+eax+40+4] ;+4 размер для имени объекта
|
||||
mov [c_size],ecx
|
||||
stdcall mem.Alloc,ecx
|
||||
mov [c_mem],eax
|
||||
mov ebx,eax
|
||||
|
||||
mov word[ebx],CHUNK_MAIN
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;3d3d
|
||||
mov word[ebx],CHUNK_OBJMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4000
|
||||
mov word[ebx],CHUNK_OBJBLOCK
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
mov dword[ebx],'Stl' ;имя объекта
|
||||
add ebx,4
|
||||
|
||||
;4100
|
||||
mov word[ebx],CHUNK_TRIMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4110
|
||||
mov word[ebx],CHUNK_VERTLIST
|
||||
mov dword[ebx+2],8 ;+ число вершин * 12
|
||||
add ebx,6
|
||||
|
||||
mov edx,ebx
|
||||
mov ecx,[vert_c]
|
||||
mov word[edx],cx ;кол. вершин
|
||||
add ebx,2
|
||||
|
||||
add esi,80+4+12 ;пропуск заголовка, числа граней, 1-го вектора нормалей
|
||||
mov edi,ebx
|
||||
mov eax,[face_c]
|
||||
@@: ;цикл по граням
|
||||
mov ecx,9
|
||||
rep movsd ;копируем координаты 3-х вершин
|
||||
add esi,14 ;пропуск вектора нормалей и атрибутов
|
||||
dec eax
|
||||
jnz @b
|
||||
mov ebx,edi
|
||||
|
||||
movzx eax,word[edx]
|
||||
imul eax,12
|
||||
add [edx-4],eax ;исправляем размер блока 4110
|
||||
|
||||
;4120
|
||||
mov word[ebx],CHUNK_FACELIST
|
||||
mov ecx,[face_c]
|
||||
mov edx,ecx
|
||||
shl edx,3 ;кол. граней * 8
|
||||
add edx,8
|
||||
mov [ebx+2],edx
|
||||
add ebx,6
|
||||
mov [ebx],cx ;кол. граней
|
||||
add ebx,2
|
||||
xor eax,eax
|
||||
@@:
|
||||
mov [ebx],ax
|
||||
inc eax
|
||||
mov [ebx+2],ax
|
||||
inc eax
|
||||
mov [ebx+4],ax
|
||||
inc eax
|
||||
mov word[ebx+6],0 ;атрибуты
|
||||
add ebx,8
|
||||
loop @b
|
||||
|
||||
mov eax,[c_mem]
|
||||
mov ecx,[c_size]
|
||||
.no_stl:
|
||||
ret
|
||||
endp
|
||||
|
||||
;output:
|
||||
; eax - vertex count
|
||||
align 4
|
||||
proc get_stl_vertex_count uses ebx ecx edi, f_data:dword, f_size:dword
|
||||
mov al,'v'
|
||||
xor ebx,ebx
|
||||
mov ecx,[f_size]
|
||||
mov edi,[f_data]
|
||||
.cycle0:
|
||||
repne scasb
|
||||
cmp dword[edi],'erte'
|
||||
jne @f
|
||||
inc ebx
|
||||
add edi,4
|
||||
sub ecx,4
|
||||
cmp ecx,4
|
||||
jg .cycle0
|
||||
@@:
|
||||
mov eax,ebx
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; esi - input description text
|
||||
; ppoi - pointer to vertex struct
|
||||
;output:
|
||||
; eax - 0 (if error init) or 1
|
||||
; esi - output description text
|
||||
align 4
|
||||
proc stl_vertex_init uses ebx ecx edi, ppoi:dword
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'vert'
|
||||
jne .err_init
|
||||
cmp word[esi+4],'ex'
|
||||
jne .err_init
|
||||
add esi,6
|
||||
mov ebx,[ppoi]
|
||||
|
||||
call txt_copy_data
|
||||
call String_to_DoubleFloat
|
||||
fld qword[Data_Double]
|
||||
fstp dword[ebx] ;coord X
|
||||
|
||||
call txt_copy_data
|
||||
call String_to_DoubleFloat
|
||||
fld qword[Data_Double]
|
||||
fstp dword[ebx+4] ;coord X
|
||||
|
||||
call txt_copy_data
|
||||
call String_to_DoubleFloat
|
||||
fld qword[Data_Double]
|
||||
fstp dword[ebx+8] ;coord Z
|
||||
|
||||
stdcall txt_next_line, 80
|
||||
jmp @f
|
||||
.err_init:
|
||||
xor eax,eax
|
||||
jmp .end_f
|
||||
@@:
|
||||
xor eax,eax
|
||||
inc eax
|
||||
.end_f:
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; esi - указатель на начало строки с пробелами
|
||||
;output:
|
||||
; al - destroy
|
||||
; ecx - destroy
|
||||
; esi - указатель на первый непробельный символ
|
||||
align 4
|
||||
txt_ignore_space:
|
||||
mov ecx,64 ;защита от зацикливания
|
||||
@@:
|
||||
lodsb
|
||||
cmp al,' '
|
||||
jne @f
|
||||
loop @b
|
||||
@@:
|
||||
dec esi
|
||||
ret
|
||||
|
||||
;input:
|
||||
; esi - указатель на строку с числом (пробелы в начале строки игнорируються)
|
||||
;output:
|
||||
; al - destroy
|
||||
; ecx - destroy
|
||||
; edi - destroy
|
||||
; esi - указатель на конец копированного числа
|
||||
; Data_String - строка с числом из esi
|
||||
align 4
|
||||
txt_copy_data:
|
||||
call txt_ignore_space
|
||||
mov ecx,32
|
||||
mov edi,esi
|
||||
@@:
|
||||
lodsb
|
||||
or al,al
|
||||
jz @f
|
||||
cmp al,' '
|
||||
je @f
|
||||
cmp al,13
|
||||
je @f
|
||||
loop @b
|
||||
@@:
|
||||
mov esi,edi
|
||||
sub ecx,32
|
||||
neg ecx
|
||||
mov edi,Data_String
|
||||
rep movsb
|
||||
mov byte[edi],0
|
||||
ret
|
||||
|
||||
;input:
|
||||
; esi - text pointer
|
||||
align 4
|
||||
proc txt_next_line uses eax ecx edi, mlen:dword
|
||||
mov al,13
|
||||
mov ecx,[mlen]
|
||||
mov edi,esi
|
||||
repne scasb
|
||||
cmp byte[edi],10
|
||||
jne @f
|
||||
inc edi
|
||||
@@:
|
||||
mov esi,edi
|
||||
ret
|
||||
endp
|
||||
;
|
||||
; Функции для преобразования файла *.stl в *.3ds
|
||||
;
|
||||
; Структура создаваемого файла *.3ds:
|
||||
; CHUNK_MAIN (40+n+v+f)
|
||||
; + CHUNK_OBJMESH (34+n+v+f)
|
||||
; + CHUNK_OBJBLOCK (28+n+v+f)
|
||||
; + CHUNK_TRIMESH (22+v+f)
|
||||
; + CHUNK_VERTLIST (8+v)
|
||||
; + CHUNK_FACELIST (8+f)
|
||||
;
|
||||
; в скобках указаны размеры блоков:
|
||||
; n - память для имени объекта
|
||||
; v - память для вершин
|
||||
; f - память для граней
|
||||
|
||||
; Формат бинарного *.stl:
|
||||
; char[80] - заголовок
|
||||
; uint32 - число граней
|
||||
; для каждой грани:
|
||||
; float[3] - вектор нормали
|
||||
; float[9] - вершины 1,2,3
|
||||
; uint16 - атрибуты
|
||||
|
||||
; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
if lang eq ru_RU
|
||||
txt_err_stl_open:
|
||||
db '"STL',13,10
|
||||
db 'Файл *.stl очень большой." -tW',0
|
||||
txt_err_stl_null_v:
|
||||
db '"STL',13,10
|
||||
db 'Вершины не найдены." -tE',0
|
||||
else ; Default to en_US
|
||||
txt_err_stl_open:
|
||||
db '"STL',13,10
|
||||
db 'File *.stl is very large." -tW',0
|
||||
txt_err_stl_null_v:
|
||||
db '"STL',13,10
|
||||
db 'Vertexes not found." -tE',0
|
||||
end if
|
||||
|
||||
;output:
|
||||
; eax - указатель на сформированый файл 3ds (в случае неудачи 0)
|
||||
; ecx - размер сформированого файла 3ds
|
||||
align 4
|
||||
proc convert_stl_3ds uses ebx edx edi esi, f_data:dword, f_size:dword
|
||||
locals
|
||||
c_mem dd ? ;память для преобразования (convert memory)
|
||||
c_size dd ? ;размер памяти для преобразований (convert memory size)
|
||||
vert_c dd ? ;число вершин (vertex count)
|
||||
face_c dd ? ;число граней (faces count)
|
||||
endl
|
||||
xor eax,eax
|
||||
mov esi,[f_data]
|
||||
cmp dword[esi],'soli'
|
||||
jne .bin_stl
|
||||
cmp word[esi+4],'d '
|
||||
jne .bin_stl
|
||||
|
||||
jmp @f
|
||||
.bin_stl:
|
||||
;проверяем файл на бинарный формат
|
||||
mov ecx,[esi+80]
|
||||
imul ecx,50
|
||||
add ecx,84 ;заголовок
|
||||
cmp ecx,[f_size]
|
||||
jne .no_stl
|
||||
call convert_binary_stl
|
||||
jmp .no_stl
|
||||
@@:
|
||||
|
||||
;в начале найдено 'solid '
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
mov eax,[f_data]
|
||||
sub eax,esi
|
||||
add eax,[f_size]
|
||||
stdcall get_stl_vertex_count, esi,eax
|
||||
or eax,eax
|
||||
jnz @f
|
||||
notify_window_run txt_err_stl_null_v
|
||||
jmp .no_stl
|
||||
@@:
|
||||
cmp eax,0xffff
|
||||
jle @f
|
||||
notify_window_run txt_err_stl_open
|
||||
mov eax,0xffff
|
||||
@@:
|
||||
|
||||
mov [vert_c],eax
|
||||
mov ecx,3
|
||||
xor edx,edx
|
||||
div ecx
|
||||
mov [face_c],eax
|
||||
shl eax,3
|
||||
mov ecx,[vert_c]
|
||||
imul ecx,12
|
||||
lea ecx,[ecx+eax+40]
|
||||
lea edx,[esi-6]
|
||||
sub edx,[f_data]
|
||||
cmp edx,2
|
||||
jge @f
|
||||
mov edx,2 ;минимальный размер для имени объекта
|
||||
@@:
|
||||
add ecx,edx ;for object name
|
||||
mov [c_size],ecx
|
||||
stdcall mem.Alloc,ecx
|
||||
mov [c_mem],eax
|
||||
mov ebx,eax
|
||||
|
||||
mov word[ebx],CHUNK_MAIN
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;3d3d
|
||||
mov word[ebx],CHUNK_OBJMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4000
|
||||
mov word[ebx],CHUNK_OBJBLOCK
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
push ecx esi
|
||||
mov ecx,edx
|
||||
mov edi,ebx
|
||||
mov esi,[f_data]
|
||||
add esi,6 ;пропускаем 'solid '
|
||||
rep movsb ;копируем имя объекта
|
||||
mov byte[edi-1],0
|
||||
add ebx,edx
|
||||
pop esi ecx
|
||||
|
||||
;4100
|
||||
mov word[ebx],CHUNK_TRIMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4110
|
||||
mov word[ebx],CHUNK_VERTLIST
|
||||
mov dword[ebx+2],8 ;+ число вершин * 12
|
||||
add ebx,6
|
||||
|
||||
mov edx,ebx
|
||||
mov word[edx],0 ;кол. вершин
|
||||
add ebx,2
|
||||
finit
|
||||
.cycle0:
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'face'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'oute'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
mov ecx,3 ;3 точки на 1 грань
|
||||
@@:
|
||||
stdcall stl_vertex_init, ebx
|
||||
or eax,eax
|
||||
jz .end_v
|
||||
add ebx,12
|
||||
inc word[edx]
|
||||
loop @b
|
||||
|
||||
mov eax,[vert_c]
|
||||
cmp word[edx],ax
|
||||
jge .end_v
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'endl'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'endf'
|
||||
jne .end_v
|
||||
stdcall txt_next_line, 80
|
||||
jmp .cycle0
|
||||
.end_v:
|
||||
|
||||
movzx eax,word[edx]
|
||||
imul eax,12
|
||||
add [edx-4],eax ;исправляем размер блока 4110
|
||||
|
||||
;4120
|
||||
mov word[ebx],CHUNK_FACELIST
|
||||
mov ecx,[face_c]
|
||||
mov edx,ecx
|
||||
shl edx,3 ;кол. граней * 8
|
||||
add edx,8
|
||||
mov [ebx+2],edx
|
||||
add ebx,6
|
||||
mov [ebx],cx ;кол. граней
|
||||
add ebx,2
|
||||
xor eax,eax
|
||||
@@:
|
||||
mov [ebx],ax
|
||||
inc eax
|
||||
mov [ebx+2],ax
|
||||
inc eax
|
||||
mov [ebx+4],ax
|
||||
inc eax
|
||||
mov word[ebx+6],0 ;атрибуты
|
||||
add ebx,8
|
||||
loop @b
|
||||
|
||||
mov eax,[c_mem]
|
||||
mov ecx,[c_size]
|
||||
.no_stl:
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; esi - указатель на начало файла
|
||||
; ecx - размер файла
|
||||
align 4
|
||||
proc convert_binary_stl
|
||||
locals
|
||||
c_mem dd ? ;память для преобразования (convert memory)
|
||||
c_size dd ? ;размер памяти для преобразований (convert memory size)
|
||||
vert_c dd ? ;число вершин (vertex count)
|
||||
face_c dd ? ;число граней (faces count)
|
||||
endl
|
||||
mov eax,[esi+80]
|
||||
or eax,eax
|
||||
jnz @f
|
||||
notify_window_run txt_err_stl_null_v
|
||||
jmp .no_stl
|
||||
@@:
|
||||
cmp eax,0xffff/3
|
||||
jle @f
|
||||
notify_window_run txt_err_stl_open
|
||||
mov eax,0xffff/3
|
||||
@@:
|
||||
|
||||
mov [face_c],eax
|
||||
mov ecx,eax
|
||||
imul eax,3
|
||||
mov [vert_c],eax
|
||||
shl ecx,3
|
||||
imul eax,12
|
||||
lea ecx,[ecx+eax+40+4] ;+4 размер для имени объекта
|
||||
mov [c_size],ecx
|
||||
stdcall mem.Alloc,ecx
|
||||
mov [c_mem],eax
|
||||
mov ebx,eax
|
||||
|
||||
mov word[ebx],CHUNK_MAIN
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;3d3d
|
||||
mov word[ebx],CHUNK_OBJMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4000
|
||||
mov word[ebx],CHUNK_OBJBLOCK
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
mov dword[ebx],'Stl' ;имя объекта
|
||||
add ebx,4
|
||||
|
||||
;4100
|
||||
mov word[ebx],CHUNK_TRIMESH
|
||||
sub ecx,6
|
||||
mov dword[ebx+2],ecx
|
||||
add ebx,6
|
||||
|
||||
;4110
|
||||
mov word[ebx],CHUNK_VERTLIST
|
||||
mov dword[ebx+2],8 ;+ число вершин * 12
|
||||
add ebx,6
|
||||
|
||||
mov edx,ebx
|
||||
mov ecx,[vert_c]
|
||||
mov word[edx],cx ;кол. вершин
|
||||
add ebx,2
|
||||
|
||||
add esi,80+4+12 ;пропуск заголовка, числа граней, 1-го вектора нормалей
|
||||
mov edi,ebx
|
||||
mov eax,[face_c]
|
||||
@@: ;цикл по граням
|
||||
mov ecx,9
|
||||
rep movsd ;копируем координаты 3-х вершин
|
||||
add esi,14 ;пропуск вектора нормалей и атрибутов
|
||||
dec eax
|
||||
jnz @b
|
||||
mov ebx,edi
|
||||
|
||||
movzx eax,word[edx]
|
||||
imul eax,12
|
||||
add [edx-4],eax ;исправляем размер блока 4110
|
||||
|
||||
;4120
|
||||
mov word[ebx],CHUNK_FACELIST
|
||||
mov ecx,[face_c]
|
||||
mov edx,ecx
|
||||
shl edx,3 ;кол. граней * 8
|
||||
add edx,8
|
||||
mov [ebx+2],edx
|
||||
add ebx,6
|
||||
mov [ebx],cx ;кол. граней
|
||||
add ebx,2
|
||||
xor eax,eax
|
||||
@@:
|
||||
mov [ebx],ax
|
||||
inc eax
|
||||
mov [ebx+2],ax
|
||||
inc eax
|
||||
mov [ebx+4],ax
|
||||
inc eax
|
||||
mov word[ebx+6],0 ;атрибуты
|
||||
add ebx,8
|
||||
loop @b
|
||||
|
||||
mov eax,[c_mem]
|
||||
mov ecx,[c_size]
|
||||
.no_stl:
|
||||
ret
|
||||
endp
|
||||
|
||||
;output:
|
||||
; eax - vertex count
|
||||
align 4
|
||||
proc get_stl_vertex_count uses ebx ecx edi, f_data:dword, f_size:dword
|
||||
mov al,'v'
|
||||
xor ebx,ebx
|
||||
mov ecx,[f_size]
|
||||
mov edi,[f_data]
|
||||
.cycle0:
|
||||
repne scasb
|
||||
cmp dword[edi],'erte'
|
||||
jne @f
|
||||
inc ebx
|
||||
add edi,4
|
||||
sub ecx,4
|
||||
cmp ecx,4
|
||||
jg .cycle0
|
||||
@@:
|
||||
mov eax,ebx
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; esi - input description text
|
||||
; ppoi - pointer to vertex struct
|
||||
;output:
|
||||
; eax - 0 (if error init) or 1
|
||||
; esi - output description text
|
||||
align 4
|
||||
proc stl_vertex_init uses ebx ecx edi, ppoi:dword
|
||||
call txt_ignore_space
|
||||
cmp dword[esi],'vert'
|
||||
jne .err_init
|
||||
cmp word[esi+4],'ex'
|
||||
jne .err_init
|
||||
add esi,6
|
||||
mov ebx,[ppoi]
|
||||
|
||||
call txt_copy_data
|
||||
call String_to_DoubleFloat
|
||||
fld qword[Data_Double]
|
||||
fstp dword[ebx] ;coord X
|
||||
|
||||
call txt_copy_data
|
||||
call String_to_DoubleFloat
|
||||
fld qword[Data_Double]
|
||||
fstp dword[ebx+4] ;coord X
|
||||
|
||||
call txt_copy_data
|
||||
call String_to_DoubleFloat
|
||||
fld qword[Data_Double]
|
||||
fstp dword[ebx+8] ;coord Z
|
||||
|
||||
stdcall txt_next_line, 80
|
||||
jmp @f
|
||||
.err_init:
|
||||
xor eax,eax
|
||||
jmp .end_f
|
||||
@@:
|
||||
xor eax,eax
|
||||
inc eax
|
||||
.end_f:
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; esi - указатель на начало строки с пробелами
|
||||
;output:
|
||||
; al - destroy
|
||||
; ecx - destroy
|
||||
; esi - указатель на первый непробельный символ
|
||||
align 4
|
||||
txt_ignore_space:
|
||||
mov ecx,64 ;защита от зацикливания
|
||||
@@:
|
||||
lodsb
|
||||
cmp al,' '
|
||||
jne @f
|
||||
loop @b
|
||||
@@:
|
||||
dec esi
|
||||
ret
|
||||
|
||||
;input:
|
||||
; esi - указатель на строку с числом (пробелы в начале строки игнорируються)
|
||||
;output:
|
||||
; al - destroy
|
||||
; ecx - destroy
|
||||
; edi - destroy
|
||||
; esi - указатель на конец копированного числа
|
||||
; Data_String - строка с числом из esi
|
||||
align 4
|
||||
txt_copy_data:
|
||||
call txt_ignore_space
|
||||
mov ecx,32
|
||||
mov edi,esi
|
||||
@@:
|
||||
lodsb
|
||||
or al,al
|
||||
jz @f
|
||||
cmp al,' '
|
||||
je @f
|
||||
cmp al,13
|
||||
je @f
|
||||
loop @b
|
||||
@@:
|
||||
mov esi,edi
|
||||
sub ecx,32
|
||||
neg ecx
|
||||
mov edi,Data_String
|
||||
rep movsb
|
||||
mov byte[edi],0
|
||||
ret
|
||||
|
||||
;input:
|
||||
; esi - text pointer
|
||||
align 4
|
||||
proc txt_next_line uses eax ecx edi, mlen:dword
|
||||
mov al,13
|
||||
mov ecx,[mlen]
|
||||
mov edi,esi
|
||||
repne scasb
|
||||
cmp byte[edi],10
|
||||
jne @f
|
||||
inc edi
|
||||
@@:
|
||||
mov esi,edi
|
||||
ret
|
||||
endp
|
||||
+324
-320
@@ -1,320 +1,324 @@
|
||||
;
|
||||
; здесь собраны данные по блокам *.3ds
|
||||
;
|
||||
|
||||
MAX_FILE_LEVEL equ 20 ;максимальный уровень вложенности блоков для анализа
|
||||
|
||||
sizeof.block_3ds equ 9
|
||||
can_save db 0 ;изменялся ли файл
|
||||
|
||||
macro block_3ds id,icon,par,caption
|
||||
{
|
||||
dw id ;+0 идентификатор блока в файле 3ds
|
||||
dw icon ;+2 номер иконки для блока
|
||||
db par ;+4 содержит ли блок подблоки (0-да 1-нет)
|
||||
dd caption+0 ;+5 описание блока
|
||||
}
|
||||
|
||||
CHUNK_MAIN equ 0x4D4D ; [-] сцена
|
||||
CHUNK_ambient_color equ 0x2100 ; [-] ambient color
|
||||
CHUNK_OBJMESH equ 0x3D3D ; [-] набор объектов
|
||||
CHUNK_OBJBLOCK equ 0x4000 ; [+] объект
|
||||
CHUNK_TRIMESH equ 0x4100 ; [-] trimesh-объект
|
||||
CHUNK_VERTLIST equ 0x4110 ; [+] список вершин
|
||||
CHUNK_FACELIST equ 0x4120 ; [+] список граней
|
||||
CHUNK_FACEMAT equ 0x4130 ; [+] материалы граней
|
||||
CHUNK_MAPLIST equ 0x4140 ; [+] текстурные координаты
|
||||
CHUNK_TRMATRIX equ 0x4160 ; [+] матрица перевода
|
||||
CHUNK_CAMERA equ 0x4700 ; [+] объект-камера
|
||||
CHUNK_MATERIAL equ 0xAFFF ; [-] материал
|
||||
CHUNK_MATNAME equ 0xA000 ; [+] название материала
|
||||
CHUNK_TEXTURE equ 0xA200 ; [-] текстура материала
|
||||
CHUNK_MAPFILE equ 0xA300 ; [+] имя файла текстуры
|
||||
CHUNK_KEYFRAMER equ 0xB000 ; [-] информация об анимации
|
||||
CHUNK_TRACKINFO equ 0xB002 ; [-] поведение объекта
|
||||
CHUNK_TRACKOBJNAME equ 0xB010 ; [+] название этого объекта
|
||||
CHUNK_TRACKPIVOT equ 0xB013 ; [+] центр вращения объекта
|
||||
CHUNK_TRACKPOS equ 0xB020 ; [+] траектория объекта
|
||||
CHUNK_TRACKROTATE equ 0xB021 ; [+] траектория вращения объекта
|
||||
CHUNK_TRACKCAMERA equ 0xB003 ; [-] поведение камеры
|
||||
CHUNK_TRACKFOV equ 0xB023 ; [+] поведение fov камеры
|
||||
CHUNK_TRACKROLL equ 0xB024 ; [+] поведение roll камеры
|
||||
CHUNK_TRACKCAMTGT equ 0xB004 ; [-] поведение "цели" камеры
|
||||
|
||||
;данные содержат лишь блоки, отмеченные плюсом, остальные блоки
|
||||
; состоят лишь из подблоков
|
||||
|
||||
align 4
|
||||
type_bloks:
|
||||
block_3ds 0x0002,5,1,txt_0002
|
||||
block_3ds 0x3d3e,5,1 ; [+] mesh version
|
||||
block_3ds 0x0011,4,1,txt_0011
|
||||
block_3ds 0x0100,3,1,txt_0100
|
||||
block_3ds CHUNK_ambient_color,3,0,txt_2100 ; [-] ambient color
|
||||
block_3ds CHUNK_OBJMESH, 3,0,txt_3d3d
|
||||
block_3ds CHUNK_OBJBLOCK,11,1,txt_4000
|
||||
block_3ds CHUNK_TRIMESH, 3,0,txt_4100
|
||||
block_3ds CHUNK_VERTLIST,8,1,txt_4110
|
||||
block_3ds CHUNK_FACELIST,3,1,txt_4120
|
||||
block_3ds CHUNK_FACEMAT,10,1,txt_4130
|
||||
block_3ds CHUNK_MAPLIST, 3,1,txt_4140
|
||||
block_3ds CHUNK_TRMATRIX,3,1,txt_4160
|
||||
block_3ds 0x4600,3,1,txt_4600
|
||||
block_3ds CHUNK_CAMERA, 3,1,txt_4700
|
||||
block_3ds CHUNK_MATERIAL,10,0,txt_afff
|
||||
block_3ds CHUNK_MATNAME, 3,1,txt_a000
|
||||
block_3ds 0xa010,4,0,txt_a010
|
||||
block_3ds 0xa020,4,0,txt_a020
|
||||
block_3ds 0xa030,4,0,txt_a030
|
||||
block_3ds 0xa100,5,1,txt_a100
|
||||
block_3ds CHUNK_TEXTURE, 3,0,txt_a200
|
||||
block_3ds CHUNK_MAPFILE, 6,1,txt_a300
|
||||
block_3ds CHUNK_KEYFRAMER, 7,0,txt_b000
|
||||
block_3ds CHUNK_TRACKINFO, 3,0,txt_b002
|
||||
block_3ds CHUNK_TRACKOBJNAME,3,1,txt_b010
|
||||
block_3ds 0xb011,3,1,txt_b011
|
||||
block_3ds CHUNK_TRACKPIVOT, 3,1,txt_b013
|
||||
block_3ds 0xb014,3,1,txt_b014
|
||||
block_3ds CHUNK_TRACKPOS, 3,1,txt_b020
|
||||
block_3ds CHUNK_TRACKROTATE, 3,1,txt_b021
|
||||
block_3ds CHUNK_TRACKCAMERA, 7,0,txt_b003
|
||||
block_3ds CHUNK_TRACKFOV, 7,1,txt_b023
|
||||
block_3ds CHUNK_TRACKROLL, 7,1,txt_b024
|
||||
block_3ds CHUNK_TRACKCAMTGT, 7,0,txt_b004
|
||||
|
||||
;--- далее не во всех блоках смог найти описание на русском языке
|
||||
block_3ds 0x4111, 3,1,txt_4111
|
||||
block_3ds 0x4150, 3,1,txt_4150
|
||||
block_3ds 0x4165, 3,1,txt_4165
|
||||
block_3ds 0x4610, 3,1,txt_4610
|
||||
block_3ds 0x4627, 3,1,txt_4627
|
||||
block_3ds 0x4630, 3,1,txt_4630
|
||||
block_3ds 0x4641, 3,1,txt_4641
|
||||
block_3ds 0x4650, 3,1,txt_4650
|
||||
block_3ds 0x4651, 3,1,txt_4651
|
||||
block_3ds 0x4652, 3,1,txt_4652
|
||||
block_3ds 0x4653, 3,1,txt_4653
|
||||
block_3ds 0x4656, 3,1,txt_4656
|
||||
block_3ds 0x4658, 3,1,txt_4658
|
||||
block_3ds 0x4620, 3,1,txt_4620
|
||||
block_3ds 0x4625, 3,1,txt_4625
|
||||
block_3ds 0x4659, 3,1,txt_4659
|
||||
block_3ds 0x465a, 3,1,txt_465a
|
||||
block_3ds 0x465b, 3,1,txt_465b
|
||||
block_3ds 0xa230, 3,1,txt_a230
|
||||
block_3ds 0xa220, 3,1,txt_a220
|
||||
block_3ds 0xa351, 3,1,txt_a351
|
||||
block_3ds 0xb007, 3,1,txt_b007
|
||||
block_3ds 0xb008, 3,1,txt_b008
|
||||
block_3ds 0xb022, 3,1,txt_b022
|
||||
block_3ds 0xb030, 3,1,txt_b030
|
||||
block_3ds 0xa040, 3,1,txt_a040
|
||||
block_3ds 0xa041, 3,1,txt_a041
|
||||
block_3ds 0xa050, 3,1,txt_a050
|
||||
block_3ds 0xa052, 3,1,txt_a052
|
||||
block_3ds 0xa053, 3,1,txt_a053
|
||||
block_3ds 0xa081, 3,1,txt_a081
|
||||
block_3ds 0xa083, 3,1,txt_a083
|
||||
block_3ds 0xa084, 3,1,txt_a084
|
||||
block_3ds 0xa085, 3,1,txt_a085
|
||||
block_3ds 0xa087, 3,1,txt_a087
|
||||
block_3ds 0xa088, 3,1,txt_a088
|
||||
block_3ds 0xa08a, 3,1,txt_a08a
|
||||
block_3ds 0xa08c, 3,1,txt_a08c
|
||||
block_3ds 0xa08e, 3,1,txt_a08e
|
||||
.end:
|
||||
|
||||
if lang eq ru_RU
|
||||
txt_0002 db '3ds версия',0
|
||||
txt_0011 db 'Цвет rgb (байтовый формат)',0
|
||||
;txt_0012 db 'LIN_COLOR_24',0
|
||||
;txt_0030 db 'Percentage value (int)',0
|
||||
;txt_0031 db 'Percentage value (float)',0
|
||||
txt_0100 db 'Master scale',0
|
||||
txt_2100 db 'Цвет окружающей среды',0
|
||||
txt_3d3d db 'Набор объектов',0
|
||||
txt_4000 db 'Объект (с именем)',0
|
||||
txt_4100 db 'Треугольные сетки',0
|
||||
txt_4110 db 'Список вершин',0
|
||||
txt_4120 db 'Список граней',0
|
||||
txt_4130 db 'Материалы граней',0
|
||||
txt_4140 db 'Текстурные координаты',0
|
||||
txt_4160 db 'Матрица перевода',0
|
||||
txt_4600 db 'Свет',0
|
||||
txt_4700 db 'Камера',0
|
||||
txt_a000 db 'Название материала',0
|
||||
txt_a010 db 'Окружающий цвет',0
|
||||
txt_a020 db 'Диффузный цвет',0
|
||||
txt_a030 db 'Зеркальный цвет',0
|
||||
txt_a100 db 'Тип материала [1=flat 2=gouraud 3=phong 4=metal]',0
|
||||
txt_a200 db 'Текстура материала 1',0
|
||||
txt_a300 db 'Имя файла текстуры',0
|
||||
;txt_a353 db 'MAT_MAP_TEXBLUR',0
|
||||
txt_afff db 'Материал',0
|
||||
txt_b000 db 'Информация об анимации',0
|
||||
txt_b002 db 'Поведение объекта',0
|
||||
;txt_b009 db 'KFCURTIME',0
|
||||
;txt_b00a db 'KFHDR',0
|
||||
txt_b010 db 'Название объекта',0
|
||||
txt_b011 db 'Имя экземпляра',0
|
||||
txt_b013 db 'Центр вращения объекта',0
|
||||
txt_b014 db 'Bound box',0
|
||||
txt_b020 db 'Траектория движения',0
|
||||
txt_b021 db 'Траектория вращения',0
|
||||
txt_b003 db 'Поведение камеры',0
|
||||
txt_b023 db 'Поведение fov камеры',0
|
||||
txt_b024 db 'Поведение roll камеры',0
|
||||
txt_b004 db 'Поведение "цели" камеры',0
|
||||
|
||||
;--- далее не во всех блоках смог найти описание на русском языке
|
||||
txt_4111 db 'Флаги вершин',0
|
||||
txt_4150 db 'Smoothing group list',0
|
||||
txt_4165 db 'Object color in editor',0
|
||||
txt_4610 db 'Направленный свет',0
|
||||
txt_4627 db 'Spot raytrace',0
|
||||
txt_4630 db 'Light shadowed',0
|
||||
txt_4641 db 'Spot shadow map',0
|
||||
txt_4650 db 'Spot show cone',0
|
||||
txt_4651 db 'Spot is rectangular',0
|
||||
txt_4652 db 'Spot overshoot',0
|
||||
txt_4653 db 'Spot map',0
|
||||
txt_4656 db 'Spot roll',0
|
||||
txt_4658 db 'Spot ray trace bias',0
|
||||
txt_4620 db 'Light off',0
|
||||
txt_4625 db 'Attenuation on',0
|
||||
txt_4659 db 'Range start',0
|
||||
txt_465a db 'Range end',0
|
||||
txt_465b db 'Multiplier',0
|
||||
txt_a230 db 'Разметка рельефа',0
|
||||
txt_a220 db 'Разметка отражения',0
|
||||
txt_a351 db 'Параметры разметки',0
|
||||
txt_b007 db 'Информация о направленом освещении',0
|
||||
txt_b008 db 'Кадры (начальный и конечный)',0
|
||||
txt_b022 db 'Масштабирование',0
|
||||
txt_b030 db 'Позиция в иерархии',0
|
||||
txt_a040 db 'Shininess percent',0
|
||||
txt_a041 db 'Shininess strength percent',0
|
||||
txt_a050 db 'Transparency percent',0
|
||||
txt_a052 db 'Transparency falloff percent',0
|
||||
txt_a053 db 'Reflection blur percent',0
|
||||
txt_a081 db '2 sided',0
|
||||
txt_a083 db 'Add trans',0
|
||||
txt_a084 db 'Self illum',0
|
||||
txt_a085 db 'Wire frame on',0
|
||||
txt_a087 db 'Wire thickness',0
|
||||
txt_a088 db 'Face map',0
|
||||
txt_a08a db 'In tranc',0
|
||||
txt_a08c db 'Soften',0
|
||||
txt_a08e db 'Wire in units',0
|
||||
|
||||
txt_not_delete db 'Не могу удалить выбранный блок. Он защищен.',0
|
||||
else
|
||||
|
||||
txt_0002 db '3ds version',0
|
||||
txt_0011 db 'Color rgb (byte format)',0
|
||||
txt_0100 db 'Master scale',0
|
||||
txt_2100 db 'Ambient color',0
|
||||
txt_3d3d db 'Editor chunk',0
|
||||
txt_4000 db 'Object (with name)',0
|
||||
txt_4100 db 'Triangular mesh',0
|
||||
txt_4110 db 'Vertices list',0
|
||||
txt_4120 db 'Faces description',0
|
||||
txt_4130 db 'Faces material',0
|
||||
txt_4140 db 'Mapping coordinates list',0
|
||||
txt_4160 db 'Local coordinate system',0
|
||||
txt_4600 db 'Light',0
|
||||
txt_4700 db 'Camera',0
|
||||
txt_a000 db 'Material name',0
|
||||
txt_a010 db 'Ambient color',0
|
||||
txt_a020 db 'Diffuse color',0
|
||||
txt_a030 db 'Specular color',0
|
||||
txt_a100 db 'Material type [1=flat 2=gouraud 3=phong 4=metal]',0
|
||||
txt_a200 db 'Texture map 1',0
|
||||
txt_a300 db 'Mapping filename',0
|
||||
txt_afff db 'Meterial',0
|
||||
txt_b000 db 'Keyframer',0
|
||||
txt_b002 db 'Mesh information',0
|
||||
txt_b010 db 'Object name',0
|
||||
txt_b011 db 'Instance name',0
|
||||
txt_b013 db 'Object pivot point',0
|
||||
txt_b014 db 'Bound box',0
|
||||
txt_b020 db 'Position track',0
|
||||
txt_b021 db 'Rotation track',0
|
||||
txt_b003 db 'Camera information',0
|
||||
txt_b023 db 'Fov track',0
|
||||
txt_b024 db 'Roll track',0
|
||||
txt_b004 db 'Camera target information',0
|
||||
|
||||
;---
|
||||
txt_4111 db 'Vertex flags',0
|
||||
txt_4150 db 'Smoothing group list',0
|
||||
txt_4165 db 'Object color in editor',0
|
||||
txt_4610 db 'Spotlight',0
|
||||
txt_4627 db 'Spot raytrace',0
|
||||
txt_4630 db 'Light shadowed',0
|
||||
txt_4641 db 'Spot shadow map',0
|
||||
txt_4650 db 'Spot show cone',0
|
||||
txt_4651 db 'Spot is rectangular',0
|
||||
txt_4652 db 'Spot overshoot',0
|
||||
txt_4653 db 'Spot map',0
|
||||
txt_4656 db 'Spot roll',0
|
||||
txt_4658 db 'Spot ray trace bias',0
|
||||
txt_4620 db 'Light off',0
|
||||
txt_4625 db 'Attenuation on',0
|
||||
txt_4659 db 'Range start',0
|
||||
txt_465a db 'Range end',0
|
||||
txt_465b db 'Multiplier',0
|
||||
txt_a230 db 'Bump map',0
|
||||
txt_a220 db 'Reflection map',0
|
||||
txt_a351 db 'Mapping parameters',0
|
||||
txt_b007 db 'Spot light information',0
|
||||
txt_b008 db 'Frames (Start and End)',0
|
||||
txt_b022 db 'Scale track',0
|
||||
txt_b030 db 'Hierarchy position',0
|
||||
txt_a040 db 'Shininess percent',0
|
||||
txt_a041 db 'Shininess strength percent',0
|
||||
txt_a050 db 'Transparency percent',0
|
||||
txt_a052 db 'Transparency falloff percent',0
|
||||
txt_a053 db 'Reflection blur percent',0
|
||||
txt_a081 db '2 sided',0
|
||||
txt_a083 db 'Add trans',0
|
||||
txt_a084 db 'Self illum',0
|
||||
txt_a085 db 'Wire frame on',0
|
||||
txt_a087 db 'Wire thickness',0
|
||||
txt_a088 db 'Face map',0
|
||||
txt_a08a db 'In tranc',0
|
||||
txt_a08c db 'Soften',0
|
||||
txt_a08e db 'Wire in units',0
|
||||
|
||||
txt_not_delete db 'I can not delete the selected chunk. It is protected.',0
|
||||
end if
|
||||
|
||||
if lang eq ru_RU
|
||||
txt_open_3ds db 'Открыт файл:',0
|
||||
txt_no_3ds: db 'Открытый файл не в формате *.3ds ',39
|
||||
.zag: rb 8
|
||||
db 39,0
|
||||
txt_3ds_err_sizes db 'Возможно файл поврежден',0
|
||||
txt_count db 'Количество',0
|
||||
txt_3ds_offs:
|
||||
db 'Смещение: '
|
||||
.dig: rb 8
|
||||
db ' Размер: '
|
||||
.siz: rb 8
|
||||
db 0
|
||||
txt_mat_null db 'Материалы не найдены',0
|
||||
else
|
||||
txt_open_3ds db 'Open file:',0
|
||||
txt_no_3ds: db 'Open file not in format *.3ds ',39
|
||||
.zag: rb 8
|
||||
db 39,0
|
||||
txt_3ds_err_sizes db 'File may be corrupted',0
|
||||
txt_count db 'Count',0
|
||||
txt_3ds_offs:
|
||||
db 'Offset: '
|
||||
.dig: rb 8
|
||||
db ' Size: '
|
||||
.siz: rb 8
|
||||
db 0
|
||||
txt_mat_null db 'No materials found',0
|
||||
end if
|
||||
;
|
||||
; здесь собраны данные по блокам *.3ds
|
||||
;
|
||||
|
||||
; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
MAX_FILE_LEVEL equ 20 ;максимальный уровень вложенности блоков для анализа
|
||||
|
||||
sizeof.block_3ds equ 9
|
||||
can_save db 0 ;изменялся ли файл
|
||||
|
||||
macro block_3ds id,icon,par,caption
|
||||
{
|
||||
dw id ;+0 идентификатор блока в файле 3ds
|
||||
dw icon ;+2 номер иконки для блока
|
||||
db par ;+4 содержит ли блок подблоки (0-да 1-нет)
|
||||
dd caption+0 ;+5 описание блока
|
||||
}
|
||||
|
||||
CHUNK_MAIN equ 0x4D4D ; [-] сцена
|
||||
CHUNK_ambient_color equ 0x2100 ; [-] ambient color
|
||||
CHUNK_OBJMESH equ 0x3D3D ; [-] набор объектов
|
||||
CHUNK_OBJBLOCK equ 0x4000 ; [+] объект
|
||||
CHUNK_TRIMESH equ 0x4100 ; [-] trimesh-объект
|
||||
CHUNK_VERTLIST equ 0x4110 ; [+] список вершин
|
||||
CHUNK_FACELIST equ 0x4120 ; [+] список граней
|
||||
CHUNK_FACEMAT equ 0x4130 ; [+] материалы граней
|
||||
CHUNK_MAPLIST equ 0x4140 ; [+] текстурные координаты
|
||||
CHUNK_TRMATRIX equ 0x4160 ; [+] матрица перевода
|
||||
CHUNK_CAMERA equ 0x4700 ; [+] объект-камера
|
||||
CHUNK_MATERIAL equ 0xAFFF ; [-] материал
|
||||
CHUNK_MATNAME equ 0xA000 ; [+] название материала
|
||||
CHUNK_TEXTURE equ 0xA200 ; [-] текстура материала
|
||||
CHUNK_MAPFILE equ 0xA300 ; [+] имя файла текстуры
|
||||
CHUNK_KEYFRAMER equ 0xB000 ; [-] информация об анимации
|
||||
CHUNK_TRACKINFO equ 0xB002 ; [-] поведение объекта
|
||||
CHUNK_TRACKOBJNAME equ 0xB010 ; [+] название этого объекта
|
||||
CHUNK_TRACKPIVOT equ 0xB013 ; [+] центр вращения объекта
|
||||
CHUNK_TRACKPOS equ 0xB020 ; [+] траектория объекта
|
||||
CHUNK_TRACKROTATE equ 0xB021 ; [+] траектория вращения объекта
|
||||
CHUNK_TRACKCAMERA equ 0xB003 ; [-] поведение камеры
|
||||
CHUNK_TRACKFOV equ 0xB023 ; [+] поведение fov камеры
|
||||
CHUNK_TRACKROLL equ 0xB024 ; [+] поведение roll камеры
|
||||
CHUNK_TRACKCAMTGT equ 0xB004 ; [-] поведение "цели" камеры
|
||||
|
||||
;данные содержат лишь блоки, отмеченные плюсом, остальные блоки
|
||||
; состоят лишь из подблоков
|
||||
|
||||
align 4
|
||||
type_bloks:
|
||||
block_3ds 0x0002,5,1,txt_0002
|
||||
block_3ds 0x3d3e,5,1 ; [+] mesh version
|
||||
block_3ds 0x0011,4,1,txt_0011
|
||||
block_3ds 0x0100,3,1,txt_0100
|
||||
block_3ds CHUNK_ambient_color,3,0,txt_2100 ; [-] ambient color
|
||||
block_3ds CHUNK_OBJMESH, 3,0,txt_3d3d
|
||||
block_3ds CHUNK_OBJBLOCK,11,1,txt_4000
|
||||
block_3ds CHUNK_TRIMESH, 3,0,txt_4100
|
||||
block_3ds CHUNK_VERTLIST,8,1,txt_4110
|
||||
block_3ds CHUNK_FACELIST,3,1,txt_4120
|
||||
block_3ds CHUNK_FACEMAT,10,1,txt_4130
|
||||
block_3ds CHUNK_MAPLIST, 3,1,txt_4140
|
||||
block_3ds CHUNK_TRMATRIX,3,1,txt_4160
|
||||
block_3ds 0x4600,3,1,txt_4600
|
||||
block_3ds CHUNK_CAMERA, 3,1,txt_4700
|
||||
block_3ds CHUNK_MATERIAL,10,0,txt_afff
|
||||
block_3ds CHUNK_MATNAME, 3,1,txt_a000
|
||||
block_3ds 0xa010,4,0,txt_a010
|
||||
block_3ds 0xa020,4,0,txt_a020
|
||||
block_3ds 0xa030,4,0,txt_a030
|
||||
block_3ds 0xa100,5,1,txt_a100
|
||||
block_3ds CHUNK_TEXTURE, 3,0,txt_a200
|
||||
block_3ds CHUNK_MAPFILE, 6,1,txt_a300
|
||||
block_3ds CHUNK_KEYFRAMER, 7,0,txt_b000
|
||||
block_3ds CHUNK_TRACKINFO, 3,0,txt_b002
|
||||
block_3ds CHUNK_TRACKOBJNAME,3,1,txt_b010
|
||||
block_3ds 0xb011,3,1,txt_b011
|
||||
block_3ds CHUNK_TRACKPIVOT, 3,1,txt_b013
|
||||
block_3ds 0xb014,3,1,txt_b014
|
||||
block_3ds CHUNK_TRACKPOS, 3,1,txt_b020
|
||||
block_3ds CHUNK_TRACKROTATE, 3,1,txt_b021
|
||||
block_3ds CHUNK_TRACKCAMERA, 7,0,txt_b003
|
||||
block_3ds CHUNK_TRACKFOV, 7,1,txt_b023
|
||||
block_3ds CHUNK_TRACKROLL, 7,1,txt_b024
|
||||
block_3ds CHUNK_TRACKCAMTGT, 7,0,txt_b004
|
||||
|
||||
;--- далее не во всех блоках смог найти описание на русском языке
|
||||
block_3ds 0x4111, 3,1,txt_4111
|
||||
block_3ds 0x4150, 3,1,txt_4150
|
||||
block_3ds 0x4165, 3,1,txt_4165
|
||||
block_3ds 0x4610, 3,1,txt_4610
|
||||
block_3ds 0x4627, 3,1,txt_4627
|
||||
block_3ds 0x4630, 3,1,txt_4630
|
||||
block_3ds 0x4641, 3,1,txt_4641
|
||||
block_3ds 0x4650, 3,1,txt_4650
|
||||
block_3ds 0x4651, 3,1,txt_4651
|
||||
block_3ds 0x4652, 3,1,txt_4652
|
||||
block_3ds 0x4653, 3,1,txt_4653
|
||||
block_3ds 0x4656, 3,1,txt_4656
|
||||
block_3ds 0x4658, 3,1,txt_4658
|
||||
block_3ds 0x4620, 3,1,txt_4620
|
||||
block_3ds 0x4625, 3,1,txt_4625
|
||||
block_3ds 0x4659, 3,1,txt_4659
|
||||
block_3ds 0x465a, 3,1,txt_465a
|
||||
block_3ds 0x465b, 3,1,txt_465b
|
||||
block_3ds 0xa230, 3,1,txt_a230
|
||||
block_3ds 0xa220, 3,1,txt_a220
|
||||
block_3ds 0xa351, 3,1,txt_a351
|
||||
block_3ds 0xb007, 3,1,txt_b007
|
||||
block_3ds 0xb008, 3,1,txt_b008
|
||||
block_3ds 0xb022, 3,1,txt_b022
|
||||
block_3ds 0xb030, 3,1,txt_b030
|
||||
block_3ds 0xa040, 3,1,txt_a040
|
||||
block_3ds 0xa041, 3,1,txt_a041
|
||||
block_3ds 0xa050, 3,1,txt_a050
|
||||
block_3ds 0xa052, 3,1,txt_a052
|
||||
block_3ds 0xa053, 3,1,txt_a053
|
||||
block_3ds 0xa081, 3,1,txt_a081
|
||||
block_3ds 0xa083, 3,1,txt_a083
|
||||
block_3ds 0xa084, 3,1,txt_a084
|
||||
block_3ds 0xa085, 3,1,txt_a085
|
||||
block_3ds 0xa087, 3,1,txt_a087
|
||||
block_3ds 0xa088, 3,1,txt_a088
|
||||
block_3ds 0xa08a, 3,1,txt_a08a
|
||||
block_3ds 0xa08c, 3,1,txt_a08c
|
||||
block_3ds 0xa08e, 3,1,txt_a08e
|
||||
.end:
|
||||
|
||||
if lang eq ru_RU
|
||||
txt_0002 db '3ds версия',0
|
||||
txt_0011 db 'Цвет rgb (байтовый формат)',0
|
||||
;txt_0012 db 'LIN_COLOR_24',0
|
||||
;txt_0030 db 'Percentage value (int)',0
|
||||
;txt_0031 db 'Percentage value (float)',0
|
||||
txt_0100 db 'Master scale',0
|
||||
txt_2100 db 'Цвет окружающей среды',0
|
||||
txt_3d3d db 'Набор объектов',0
|
||||
txt_4000 db 'Объект (с именем)',0
|
||||
txt_4100 db 'Треугольные сетки',0
|
||||
txt_4110 db 'Список вершин',0
|
||||
txt_4120 db 'Список граней',0
|
||||
txt_4130 db 'Материалы граней',0
|
||||
txt_4140 db 'Текстурные координаты',0
|
||||
txt_4160 db 'Матрица перевода',0
|
||||
txt_4600 db 'Свет',0
|
||||
txt_4700 db 'Камера',0
|
||||
txt_a000 db 'Название материала',0
|
||||
txt_a010 db 'Окружающий цвет',0
|
||||
txt_a020 db 'Диффузный цвет',0
|
||||
txt_a030 db 'Зеркальный цвет',0
|
||||
txt_a100 db 'Тип материала [1=flat 2=gouraud 3=phong 4=metal]',0
|
||||
txt_a200 db 'Текстура материала 1',0
|
||||
txt_a300 db 'Имя файла текстуры',0
|
||||
;txt_a353 db 'MAT_MAP_TEXBLUR',0
|
||||
txt_afff db 'Материал',0
|
||||
txt_b000 db 'Информация об анимации',0
|
||||
txt_b002 db 'Поведение объекта',0
|
||||
;txt_b009 db 'KFCURTIME',0
|
||||
;txt_b00a db 'KFHDR',0
|
||||
txt_b010 db 'Название объекта',0
|
||||
txt_b011 db 'Имя экземпляра',0
|
||||
txt_b013 db 'Центр вращения объекта',0
|
||||
txt_b014 db 'Bound box',0
|
||||
txt_b020 db 'Траектория движения',0
|
||||
txt_b021 db 'Траектория вращения',0
|
||||
txt_b003 db 'Поведение камеры',0
|
||||
txt_b023 db 'Поведение fov камеры',0
|
||||
txt_b024 db 'Поведение roll камеры',0
|
||||
txt_b004 db 'Поведение "цели" камеры',0
|
||||
|
||||
;--- далее не во всех блоках смог найти описание на русском языке
|
||||
txt_4111 db 'Флаги вершин',0
|
||||
txt_4150 db 'Smoothing group list',0
|
||||
txt_4165 db 'Object color in editor',0
|
||||
txt_4610 db 'Направленный свет',0
|
||||
txt_4627 db 'Spot raytrace',0
|
||||
txt_4630 db 'Light shadowed',0
|
||||
txt_4641 db 'Spot shadow map',0
|
||||
txt_4650 db 'Spot show cone',0
|
||||
txt_4651 db 'Spot is rectangular',0
|
||||
txt_4652 db 'Spot overshoot',0
|
||||
txt_4653 db 'Spot map',0
|
||||
txt_4656 db 'Spot roll',0
|
||||
txt_4658 db 'Spot ray trace bias',0
|
||||
txt_4620 db 'Light off',0
|
||||
txt_4625 db 'Attenuation on',0
|
||||
txt_4659 db 'Range start',0
|
||||
txt_465a db 'Range end',0
|
||||
txt_465b db 'Multiplier',0
|
||||
txt_a230 db 'Разметка рельефа',0
|
||||
txt_a220 db 'Разметка отражения',0
|
||||
txt_a351 db 'Параметры разметки',0
|
||||
txt_b007 db 'Информация о направленом освещении',0
|
||||
txt_b008 db 'Кадры (начальный и конечный)',0
|
||||
txt_b022 db 'Масштабирование',0
|
||||
txt_b030 db 'Позиция в иерархии',0
|
||||
txt_a040 db 'Shininess percent',0
|
||||
txt_a041 db 'Shininess strength percent',0
|
||||
txt_a050 db 'Transparency percent',0
|
||||
txt_a052 db 'Transparency falloff percent',0
|
||||
txt_a053 db 'Reflection blur percent',0
|
||||
txt_a081 db '2 sided',0
|
||||
txt_a083 db 'Add trans',0
|
||||
txt_a084 db 'Self illum',0
|
||||
txt_a085 db 'Wire frame on',0
|
||||
txt_a087 db 'Wire thickness',0
|
||||
txt_a088 db 'Face map',0
|
||||
txt_a08a db 'In tranc',0
|
||||
txt_a08c db 'Soften',0
|
||||
txt_a08e db 'Wire in units',0
|
||||
|
||||
txt_not_delete db 'Не могу удалить выбранный блок. Он защищен.',0
|
||||
|
||||
else ; Default to en_US
|
||||
|
||||
txt_0002 db '3ds version',0
|
||||
txt_0011 db 'Color rgb (byte format)',0
|
||||
txt_0100 db 'Master scale',0
|
||||
txt_2100 db 'Ambient color',0
|
||||
txt_3d3d db 'Editor chunk',0
|
||||
txt_4000 db 'Object (with name)',0
|
||||
txt_4100 db 'Triangular mesh',0
|
||||
txt_4110 db 'Vertices list',0
|
||||
txt_4120 db 'Faces description',0
|
||||
txt_4130 db 'Faces material',0
|
||||
txt_4140 db 'Mapping coordinates list',0
|
||||
txt_4160 db 'Local coordinate system',0
|
||||
txt_4600 db 'Light',0
|
||||
txt_4700 db 'Camera',0
|
||||
txt_a000 db 'Material name',0
|
||||
txt_a010 db 'Ambient color',0
|
||||
txt_a020 db 'Diffuse color',0
|
||||
txt_a030 db 'Specular color',0
|
||||
txt_a100 db 'Material type [1=flat 2=gouraud 3=phong 4=metal]',0
|
||||
txt_a200 db 'Texture map 1',0
|
||||
txt_a300 db 'Mapping filename',0
|
||||
txt_afff db 'Meterial',0
|
||||
txt_b000 db 'Keyframer',0
|
||||
txt_b002 db 'Mesh information',0
|
||||
txt_b010 db 'Object name',0
|
||||
txt_b011 db 'Instance name',0
|
||||
txt_b013 db 'Object pivot point',0
|
||||
txt_b014 db 'Bound box',0
|
||||
txt_b020 db 'Position track',0
|
||||
txt_b021 db 'Rotation track',0
|
||||
txt_b003 db 'Camera information',0
|
||||
txt_b023 db 'Fov track',0
|
||||
txt_b024 db 'Roll track',0
|
||||
txt_b004 db 'Camera target information',0
|
||||
|
||||
;---
|
||||
txt_4111 db 'Vertex flags',0
|
||||
txt_4150 db 'Smoothing group list',0
|
||||
txt_4165 db 'Object color in editor',0
|
||||
txt_4610 db 'Spotlight',0
|
||||
txt_4627 db 'Spot raytrace',0
|
||||
txt_4630 db 'Light shadowed',0
|
||||
txt_4641 db 'Spot shadow map',0
|
||||
txt_4650 db 'Spot show cone',0
|
||||
txt_4651 db 'Spot is rectangular',0
|
||||
txt_4652 db 'Spot overshoot',0
|
||||
txt_4653 db 'Spot map',0
|
||||
txt_4656 db 'Spot roll',0
|
||||
txt_4658 db 'Spot ray trace bias',0
|
||||
txt_4620 db 'Light off',0
|
||||
txt_4625 db 'Attenuation on',0
|
||||
txt_4659 db 'Range start',0
|
||||
txt_465a db 'Range end',0
|
||||
txt_465b db 'Multiplier',0
|
||||
txt_a230 db 'Bump map',0
|
||||
txt_a220 db 'Reflection map',0
|
||||
txt_a351 db 'Mapping parameters',0
|
||||
txt_b007 db 'Spot light information',0
|
||||
txt_b008 db 'Frames (Start and End)',0
|
||||
txt_b022 db 'Scale track',0
|
||||
txt_b030 db 'Hierarchy position',0
|
||||
txt_a040 db 'Shininess percent',0
|
||||
txt_a041 db 'Shininess strength percent',0
|
||||
txt_a050 db 'Transparency percent',0
|
||||
txt_a052 db 'Transparency falloff percent',0
|
||||
txt_a053 db 'Reflection blur percent',0
|
||||
txt_a081 db '2 sided',0
|
||||
txt_a083 db 'Add trans',0
|
||||
txt_a084 db 'Self illum',0
|
||||
txt_a085 db 'Wire frame on',0
|
||||
txt_a087 db 'Wire thickness',0
|
||||
txt_a088 db 'Face map',0
|
||||
txt_a08a db 'In tranc',0
|
||||
txt_a08c db 'Soften',0
|
||||
txt_a08e db 'Wire in units',0
|
||||
|
||||
txt_not_delete db 'Cannot delete the selected chunk: it is protected.',0
|
||||
end if
|
||||
|
||||
if lang eq ru_RU
|
||||
txt_open_3ds db 'Открыт файл:',0
|
||||
txt_no_3ds: db 'Открытый файл не в формате *.3ds ',39
|
||||
.zag: rb 8
|
||||
db 39,0
|
||||
txt_3ds_err_sizes db 'Возможно файл поврежден',0
|
||||
txt_count db 'Количество',0
|
||||
txt_3ds_offs:
|
||||
db 'Смещение: '
|
||||
.dig: rb 8
|
||||
db ' Размер: '
|
||||
.siz: rb 8
|
||||
db 0
|
||||
txt_mat_null db 'Материалы не найдены',0
|
||||
|
||||
else ; Default to en_US
|
||||
txt_open_3ds db 'Open file:',0
|
||||
txt_no_3ds: db 'Open file not in format *.3ds ',39
|
||||
.zag: rb 8
|
||||
db 39,0
|
||||
txt_3ds_err_sizes db 'File may be corrupted',0
|
||||
txt_count db 'Count',0
|
||||
txt_3ds_offs:
|
||||
db 'Offset: '
|
||||
.dig: rb 8
|
||||
db ' Size: '
|
||||
.siz: rb 8
|
||||
db 0
|
||||
txt_mat_null db 'No materials found',0
|
||||
end if
|
||||
+1399
-1399
File diff suppressed because it is too large.
Load diff
+1459
-1459
File diff suppressed because it is too large.
Load diff
@@ -1 +1,55 @@
|
||||
if lang eq ru_RU
sz_main_menu_View db 'Вид', 0
sz_main_menu_Veiw_Vertexes db 'Вершины вкл.', 0
sz_main_menu_Veiw_Faces db 'Каркасные грани вкл.', 0
sz_main_menu_Veiw_Faces_Fill db 'Сплошные грани вкл.', 0
sz_main_menu_Veiw_Light db 'Свет вкл./выкл.', 0
sz_main_menu_Veiw_Smooth db 'Сглаживание вкл./выкл.', 0
sz_main_menu_Veiw_Reset db 'Сброс настроек', 0
if version_edit eq 0
sz_main_menu_Veiw_Faces_Mat db 'Разноцветные грани вкл.', 0
else
sz_main_menu_Vertexes db 'Вершины', 0
sz_main_menu_Vertexes_Select db 'Выделить вершину', 0
sz_main_menu_Vertexes_Deselect db 'Отменить всё выделение', 0
sz_main_menu_Average_x db 'Среднее x',0
sz_main_menu_Average_y db 'Среднее y',0
sz_main_menu_Average_z db 'Среднее z',0
end if
else
sz_main_menu_View db 'View', 0
sz_main_menu_Veiw_Vertexes db 'Vertexes on', 0
sz_main_menu_Veiw_Faces db 'Edges on', 0
sz_main_menu_Veiw_Faces_Fill db 'Faces on', 0
sz_main_menu_Veiw_Light db 'Light on/off', 0
sz_main_menu_Veiw_Smooth db 'Smooth on/off', 0
sz_main_menu_Veiw_Reset db 'Reset settings', 0
if version_edit eq 0
sz_main_menu_Veiw_Faces_Mat db 'Diferent color faces on', 0
else
sz_main_menu_Vertexes db 'Vertexes', 0
sz_main_menu_Vertexes_Select db 'Select vertex', 0
sz_main_menu_Vertexes_Deselect db 'Deselect all', 0
sz_main_menu_Average_x db 'Average x',0
sz_main_menu_Average_y db 'Average y',0
sz_main_menu_Average_z db 'Average z',0
end if
end if
main_menu dd 0
main_menu_file dd 0
main_menu_view dd 0
main_menu_vertexes dd 0
KMENUITEM_NORMAL equ 0
KMENUITEM_SUBMENU equ 1
KMENUITEM_SEPARATOR equ 2
|
||||
|
||||
; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
if lang eq ru_RU
|
||||
|
||||
sz_main_menu_View db 'Вид', 0
|
||||
sz_main_menu_Veiw_Vertexes db 'Вершины вкл.', 0
|
||||
sz_main_menu_Veiw_Faces db 'Каркасные грани вкл.', 0
|
||||
sz_main_menu_Veiw_Faces_Fill db 'Сплошные грани вкл.', 0
|
||||
sz_main_menu_Veiw_Light db 'Свет вкл./выкл.', 0
|
||||
sz_main_menu_Veiw_Smooth db 'Сглаживание вкл./выкл.', 0
|
||||
sz_main_menu_Veiw_Reset db 'Сброс настроек', 0
|
||||
|
||||
if version_edit eq 0
|
||||
sz_main_menu_Veiw_Faces_Mat db 'Разноцветные грани вкл.', 0
|
||||
else
|
||||
sz_main_menu_Vertexes db 'Вершины', 0
|
||||
sz_main_menu_Vertexes_Select db 'Выделить вершину', 0
|
||||
sz_main_menu_Vertexes_Deselect db 'Отменить всё выделение', 0
|
||||
sz_main_menu_Average_x db 'Среднее x',0
|
||||
sz_main_menu_Average_y db 'Среднее y',0
|
||||
sz_main_menu_Average_z db 'Среднее z',0
|
||||
end if
|
||||
|
||||
else ; Default to en_US
|
||||
|
||||
sz_main_menu_View db 'View', 0
|
||||
sz_main_menu_Veiw_Vertexes db 'Vertexes on', 0
|
||||
sz_main_menu_Veiw_Faces db 'Edges on', 0
|
||||
sz_main_menu_Veiw_Faces_Fill db 'Faces on', 0
|
||||
sz_main_menu_Veiw_Light db 'Light on/off', 0
|
||||
sz_main_menu_Veiw_Smooth db 'Smooth on/off', 0
|
||||
sz_main_menu_Veiw_Reset db 'Reset settings', 0
|
||||
|
||||
if version_edit eq 0
|
||||
sz_main_menu_Veiw_Faces_Mat db 'Diferent color faces on', 0
|
||||
else
|
||||
sz_main_menu_Vertexes db 'Vertexes', 0
|
||||
sz_main_menu_Vertexes_Select db 'Select vertex', 0
|
||||
sz_main_menu_Vertexes_Deselect db 'Deselect all', 0
|
||||
sz_main_menu_Average_x db 'Average x',0
|
||||
sz_main_menu_Average_y db 'Average y',0
|
||||
sz_main_menu_Average_z db 'Average z',0
|
||||
end if
|
||||
|
||||
end if
|
||||
|
||||
main_menu dd 0
|
||||
main_menu_file dd 0
|
||||
main_menu_view dd 0
|
||||
main_menu_vertexes dd 0
|
||||
|
||||
KMENUITEM_NORMAL equ 0
|
||||
KMENUITEM_SUBMENU equ 1
|
||||
KMENUITEM_SEPARATOR equ 2
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,318 +1,318 @@
|
||||
; Программа для преобразования чисел из строки
|
||||
; в формат float, double, а также из 10 или 16 ричного
|
||||
; во float.
|
||||
; Сделана на основе hex2dec2bin и примеров из файла list2_05.inc
|
||||
; (автор Кулаков Владимир Геннадьевич 24.05.2002),
|
||||
; которые ChE переделал с 16 на 32 бита на ассемблер fasm.
|
||||
; Программа позволяет решать такие задачи:
|
||||
; 1) число в строковом виде перевести в 4 байта (float) в машинный вид
|
||||
; 2) число в строковом виде перевести в 8 байт (double) в машинный вид
|
||||
; 3) число в машинном виде (float) перевести в строковый вид (5 знаков после запятой)
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1,start,i_end,e_end,e_end,0,sys_path
|
||||
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../load_lib.mac'
|
||||
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||
include '../../../develop/info3ds/info_fun_float.inc'
|
||||
include 'lang.inc'
|
||||
|
||||
@use_library
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_libraries l_libs_start,l_libs_end
|
||||
;проверка на сколько удачно загузилась наша библиотека
|
||||
mov ebp,lib_0
|
||||
cmp dword[ebp+ll_struc_size-4],0
|
||||
jz @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
mcall SF_SET_EVENTS_MASK,0xC0000027
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
edit_boxes_set_sys_color edit1,editboxes_end,sys_colors
|
||||
option_boxes_set_sys_color sys_colors,Option_boxes1
|
||||
|
||||
align 4
|
||||
red:
|
||||
call draw_window
|
||||
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp eax,1 ; перерисовать окно ?
|
||||
je red ; если да - на метку red
|
||||
cmp eax,2 ; нажата клавиша ?
|
||||
je key ; если да - на key
|
||||
cmp eax,3 ; нажата кнопка ?
|
||||
je button ; если да - на button
|
||||
cmp eax,6
|
||||
je mouse
|
||||
|
||||
jmp still ; если другое событие - в начало цикла
|
||||
|
||||
align 4
|
||||
key: ; нажата клавиша на клавиатуре
|
||||
mcall SF_GET_KEY
|
||||
;cmp ah,13
|
||||
stdcall [edit_box_key], edit1
|
||||
jmp still ; вернуться к началу цикла
|
||||
|
||||
align 4
|
||||
button:
|
||||
mcall SF_GET_BUTTON
|
||||
cmp ah, 1 ; если НЕ нажата кнопка с номером 1,
|
||||
jne @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
cmp ah, 5
|
||||
jne @f
|
||||
cmp dword[option_group1],opt3
|
||||
jne .opt_3_end
|
||||
stdcall conv_str_to_int,[edit1.text]
|
||||
mov dword[Data_Double],eax
|
||||
finit
|
||||
fld dword[Data_Double]
|
||||
fstp qword[Data_Double]
|
||||
|
||||
; Data_Double - преобразуемое число
|
||||
mov word[NumberSymbolsAD],8 ; количество знаков числа после запятой (1-17)
|
||||
call DoubleFloat_to_String
|
||||
call String_crop_0
|
||||
mov dword[Data_Double],eax ;восстанавливаем значение в формате float
|
||||
jmp .opt_all_end
|
||||
.opt_3_end:
|
||||
|
||||
mov esi,string1
|
||||
mov edi,Data_String
|
||||
cld
|
||||
mov ecx,32
|
||||
rep movsb
|
||||
|
||||
call String_to_DoubleFloat
|
||||
cmp dword[option_group1],opt1
|
||||
jne .opt_all_end ;если выбран float, то преобразуем из ранее полученного double
|
||||
finit
|
||||
fld qword[Data_Double] ;читаем из double
|
||||
fstp dword[Data_Double] ;а возвращаем во float
|
||||
.opt_all_end:
|
||||
jmp red
|
||||
@@:
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
mouse:
|
||||
stdcall [edit_box_mouse], edit1
|
||||
stdcall [option_box_mouse], Option_boxes1
|
||||
jmp still
|
||||
|
||||
;------------------------------------------------
|
||||
align 4
|
||||
draw_window:
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
mov edx, 0x14000000
|
||||
or edx, [sys_colors.work]
|
||||
mcall SF_CREATE_WINDOW, (200 shl 16)+300, (200 shl 16)+175, ,,title
|
||||
|
||||
mcall SF_DEFINE_BUTTON, ((300-53) shl 16)+38, (145 shl 16)+15, 5, [sys_colors.work_button] ; кнопка Ok
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_text]
|
||||
mcall SF_DRAW_TEXT, (15 shl 16) +30,, binstr,
|
||||
mcall , (15 shl 16) +58,, decstr,
|
||||
mcall , ((240-56*3) shl 16) +58,, Data_String,
|
||||
mcall , (15 shl 16) +72,, hexstr,
|
||||
mcall , (15 shl 16)+150,, numstr,
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_button_text]
|
||||
mcall , ((300-42) shl 16)+149, , Okstr,3
|
||||
|
||||
cmp dword[option_group1],opt1
|
||||
je @f ;если выбран float, то старшие 4 байта (из double) не печатаем
|
||||
cmp dword[option_group1],opt3
|
||||
je @f ;если выбран float, то старшие 4 байта (из double) не печатаем
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(185 shl 16)+72,[sys_colors.work_text] ; 16-ная
|
||||
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall ,(8 shl 16)+512,,(240 shl 16)+30, ; 2-ная
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+30,
|
||||
ror ecx, 8
|
||||
@@:
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(240 shl 16)+72,[sys_colors.work_text] ; 16-ная
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall , (8 shl 16)+512,,(240 shl 16)+44, ; 2-ная
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+44,
|
||||
ror ecx, 8
|
||||
|
||||
mcall SF_DRAW_LINE, (15 shl 16)+300-15, (137 shl 16)+137, [sys_colors.work_graph]
|
||||
stdcall [edit_box_draw], edit1
|
||||
stdcall [option_box_draw], Option_boxes1
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
|
||||
ret
|
||||
|
||||
|
||||
string1 db 32 dup (0)
|
||||
string1_end:
|
||||
|
||||
|
||||
;input:
|
||||
; buf - указатель на строку, число должно быть в 10 или 16 ричном виде
|
||||
;output:
|
||||
; eax - число
|
||||
align 4
|
||||
proc conv_str_to_int uses ebx ecx esi, buf:dword
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov esi,[buf]
|
||||
;определение отрицательных чисел
|
||||
xor ecx,ecx
|
||||
inc ecx
|
||||
cmp byte[esi],'-'
|
||||
jne @f
|
||||
dec ecx
|
||||
inc esi
|
||||
@@:
|
||||
|
||||
cmp word[esi],'0x'
|
||||
je .load_digit_16
|
||||
|
||||
.load_digit_10: ;считывание 10-тичных цифр
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'9'
|
||||
jg @f
|
||||
sub bl,'0'
|
||||
imul eax,10
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .load_digit_10
|
||||
jmp @f
|
||||
|
||||
.load_digit_16: ;считывание 16-ричных цифр
|
||||
add esi,2
|
||||
.cycle_16:
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'f'
|
||||
jg @f
|
||||
cmp bl,'9'
|
||||
jle .us1
|
||||
cmp bl,'A'
|
||||
jl @f ;отсеиваем символы >'9' и <'A'
|
||||
.us1: ;составное условие
|
||||
cmp bl,'F'
|
||||
jle .us2
|
||||
cmp bl,'a'
|
||||
jl @f ;отсеиваем символы >'F' и <'a'
|
||||
sub bl,32 ;переводим символы в верхний регистр, для упрощения их последущей обработки
|
||||
.us2: ;составное условие
|
||||
sub bl,'0'
|
||||
cmp bl,9
|
||||
jle .cor1
|
||||
sub bl,7 ;convert 'A' to '10'
|
||||
.cor1:
|
||||
shl eax,4
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .cycle_16
|
||||
@@:
|
||||
cmp ecx,0 ;если число отрицательное
|
||||
jne @f
|
||||
sub ecx,eax
|
||||
mov eax,ecx
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
;-------------------------------------------------
|
||||
title db 'string to double 03.01.21',0
|
||||
hexstr db 'hex:',0
|
||||
decstr db 'dec:',0
|
||||
binstr db 'bin:',0
|
||||
|
||||
if lang eq ru_RU
|
||||
numstr db 'Число:',0
|
||||
Okstr db 'Ввод',0
|
||||
else
|
||||
numstr db 'Number:',0
|
||||
Okstr db 'Ok',0
|
||||
end if
|
||||
|
||||
mouse_dd dd 0
|
||||
edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0
|
||||
editboxes_end:
|
||||
|
||||
;option_boxes
|
||||
opt1 option_box option_group1, 15, 90, 8, 12, 0xffffff, 0x80ff, 0, op_text.1, 17
|
||||
opt2 option_box option_group1, 15, 106, 8, 12, 0xffffff, 0x80ff, 0, op_text.2, 18
|
||||
opt3 option_box option_group1, 15, 122, 8, 12, 0xffffff, 0x80ff, 0, op_text.3, 21
|
||||
|
||||
op_text: ;текст для радио кнопок
|
||||
.1 db 'str(dec) -> float'
|
||||
.2 db 'str(dec) -> double'
|
||||
.3 db 'float(dec,hex) -> str'
|
||||
;указатели для option_box
|
||||
option_group1 dd opt1
|
||||
Option_boxes1 dd opt1, opt2, opt3, 0
|
||||
|
||||
system_dir_0 db '/sys/lib/'
|
||||
lib_name_0 db 'box_lib.obj',0
|
||||
|
||||
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, library_path, system_dir_0,import_box_lib
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
import_box_lib:
|
||||
;dd sz_init1
|
||||
edit_box_draw dd sz_edit_box_draw
|
||||
edit_box_key dd sz_edit_box_key
|
||||
edit_box_mouse dd sz_edit_box_mouse
|
||||
;edit_box_set_text dd sz_edit_box_set_text
|
||||
option_box_draw dd aOption_box_draw
|
||||
option_box_mouse dd aOption_box_mouse
|
||||
;version_op dd aVersion_op
|
||||
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
|
||||
aOption_box_draw db 'option_box_draw',0
|
||||
aOption_box_mouse db 'option_box_mouse',0
|
||||
;aVersion_op db 'version_op',0
|
||||
|
||||
i_end:
|
||||
sys_colors system_colors
|
||||
align 16
|
||||
sys_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 0x400 ;stack
|
||||
e_end: ; метка конца программы
|
||||
; Программа для преобразования чисел из строки
|
||||
; в формат float, double, а также из 10 или 16 ричного
|
||||
; во float.
|
||||
; Сделана на основе hex2dec2bin и примеров из файла list2_05.inc
|
||||
; (автор Кулаков Владимир Геннадьевич 24.05.2002),
|
||||
; которые ChE переделал с 16 на 32 бита на ассемблер fasm.
|
||||
; Программа позволяет решать такие задачи:
|
||||
; 1) число в строковом виде перевести в 4 байта (float) в машинный вид
|
||||
; 2) число в строковом виде перевести в 8 байт (double) в машинный вид
|
||||
; 3) число в машинном виде (float) перевести в строковый вид (5 знаков после запятой)
|
||||
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET01'
|
||||
dd 1,start,i_end,e_end,e_end,0,sys_path
|
||||
|
||||
include '../../../proc32.inc'
|
||||
include '../../../macros.inc'
|
||||
include '../../../KOSfuncs.inc'
|
||||
include '../../../load_lib.mac'
|
||||
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||
include '../../../develop/info3ds/info_fun_float.inc'
|
||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US.
|
||||
|
||||
@use_library
|
||||
|
||||
align 4
|
||||
start:
|
||||
load_libraries l_libs_start,l_libs_end
|
||||
;проверка на сколько удачно загузилась наша библиотека
|
||||
mov ebp,lib_0
|
||||
cmp dword[ebp+ll_struc_size-4],0
|
||||
jz @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
mcall SF_SET_EVENTS_MASK,0xC0000027
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
edit_boxes_set_sys_color edit1,editboxes_end,sys_colors
|
||||
option_boxes_set_sys_color sys_colors,Option_boxes1
|
||||
|
||||
align 4
|
||||
red:
|
||||
call draw_window
|
||||
|
||||
align 4
|
||||
still:
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp eax,1 ; перерисовать окно ?
|
||||
je red ; если да - на метку red
|
||||
cmp eax,2 ; нажата клавиша ?
|
||||
je key ; если да - на key
|
||||
cmp eax,3 ; нажата кнопка ?
|
||||
je button ; если да - на button
|
||||
cmp eax,6
|
||||
je mouse
|
||||
|
||||
jmp still ; если другое событие - в начало цикла
|
||||
|
||||
align 4
|
||||
key: ; нажата клавиша на клавиатуре
|
||||
mcall SF_GET_KEY
|
||||
;cmp ah,13
|
||||
stdcall [edit_box_key], edit1
|
||||
jmp still ; вернуться к началу цикла
|
||||
|
||||
align 4
|
||||
button:
|
||||
mcall SF_GET_BUTTON
|
||||
cmp ah, 1 ; если НЕ нажата кнопка с номером 1,
|
||||
jne @f
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
@@:
|
||||
cmp ah, 5
|
||||
jne @f
|
||||
cmp dword[option_group1],opt3
|
||||
jne .opt_3_end
|
||||
stdcall conv_str_to_int,[edit1.text]
|
||||
mov dword[Data_Double],eax
|
||||
finit
|
||||
fld dword[Data_Double]
|
||||
fstp qword[Data_Double]
|
||||
|
||||
; Data_Double - преобразуемое число
|
||||
mov word[NumberSymbolsAD],8 ; количество знаков числа после запятой (1-17)
|
||||
call DoubleFloat_to_String
|
||||
call String_crop_0
|
||||
mov dword[Data_Double],eax ;восстанавливаем значение в формате float
|
||||
jmp .opt_all_end
|
||||
.opt_3_end:
|
||||
|
||||
mov esi,string1
|
||||
mov edi,Data_String
|
||||
cld
|
||||
mov ecx,32
|
||||
rep movsb
|
||||
|
||||
call String_to_DoubleFloat
|
||||
cmp dword[option_group1],opt1
|
||||
jne .opt_all_end ;если выбран float, то преобразуем из ранее полученного double
|
||||
finit
|
||||
fld qword[Data_Double] ;читаем из double
|
||||
fstp dword[Data_Double] ;а возвращаем во float
|
||||
.opt_all_end:
|
||||
jmp red
|
||||
@@:
|
||||
jmp still
|
||||
|
||||
align 4
|
||||
mouse:
|
||||
stdcall [edit_box_mouse], edit1
|
||||
stdcall [option_box_mouse], Option_boxes1
|
||||
jmp still
|
||||
|
||||
;------------------------------------------------
|
||||
align 4
|
||||
draw_window:
|
||||
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors
|
||||
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
mov edx, 0x14000000
|
||||
or edx, [sys_colors.work]
|
||||
mcall SF_CREATE_WINDOW, (200 shl 16)+300, (200 shl 16)+175, ,,title
|
||||
|
||||
mcall SF_DEFINE_BUTTON, ((300-53) shl 16)+38, (145 shl 16)+15, 5, [sys_colors.work_button] ; кнопка Ok
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_text]
|
||||
mcall SF_DRAW_TEXT, (15 shl 16) +30,, binstr,
|
||||
mcall , (15 shl 16) +58,, decstr,
|
||||
mcall , ((240-56*3) shl 16) +58,, Data_String,
|
||||
mcall , (15 shl 16) +72,, hexstr,
|
||||
mcall , (15 shl 16)+150,, numstr,
|
||||
|
||||
mov ecx, 0x80000000
|
||||
or ecx, [sys_colors.work_button_text]
|
||||
mcall , ((300-42) shl 16)+149, , Okstr,3
|
||||
|
||||
cmp dword[option_group1],opt1
|
||||
je @f ;если выбран float, то старшие 4 байта (из double) не печатаем
|
||||
cmp dword[option_group1],opt3
|
||||
je @f ;если выбран float, то старшие 4 байта (из double) не печатаем
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(185 shl 16)+72,[sys_colors.work_text] ; 16-ная
|
||||
|
||||
mov ecx, dword[Data_Double+4]
|
||||
mcall ,(8 shl 16)+512,,(240 shl 16)+30, ; 2-ная
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+30,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+30,
|
||||
ror ecx, 8
|
||||
@@:
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(240 shl 16)+72,[sys_colors.work_text] ; 16-ная
|
||||
|
||||
mov ecx,dword[Data_Double]
|
||||
mcall , (8 shl 16)+512,,(240 shl 16)+44, ; 2-ная
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*2) shl 16)+44,
|
||||
ror ecx, 8
|
||||
mcall ,,,((240-56*3) shl 16)+44,
|
||||
ror ecx, 8
|
||||
|
||||
mcall SF_DRAW_LINE, (15 shl 16)+300-15, (137 shl 16)+137, [sys_colors.work_graph]
|
||||
stdcall [edit_box_draw], edit1
|
||||
stdcall [option_box_draw], Option_boxes1
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
|
||||
ret
|
||||
|
||||
|
||||
string1 db 32 dup (0)
|
||||
string1_end:
|
||||
|
||||
|
||||
;input:
|
||||
; buf - указатель на строку, число должно быть в 10 или 16 ричном виде
|
||||
;output:
|
||||
; eax - число
|
||||
align 4
|
||||
proc conv_str_to_int uses ebx ecx esi, buf:dword
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
mov esi,[buf]
|
||||
;определение отрицательных чисел
|
||||
xor ecx,ecx
|
||||
inc ecx
|
||||
cmp byte[esi],'-'
|
||||
jne @f
|
||||
dec ecx
|
||||
inc esi
|
||||
@@:
|
||||
|
||||
cmp word[esi],'0x'
|
||||
je .load_digit_16
|
||||
|
||||
.load_digit_10: ;считывание 10-тичных цифр
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'9'
|
||||
jg @f
|
||||
sub bl,'0'
|
||||
imul eax,10
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .load_digit_10
|
||||
jmp @f
|
||||
|
||||
.load_digit_16: ;считывание 16-ричных цифр
|
||||
add esi,2
|
||||
.cycle_16:
|
||||
mov bl,byte[esi]
|
||||
cmp bl,'0'
|
||||
jl @f
|
||||
cmp bl,'f'
|
||||
jg @f
|
||||
cmp bl,'9'
|
||||
jle .us1
|
||||
cmp bl,'A'
|
||||
jl @f ;отсеиваем символы >'9' и <'A'
|
||||
.us1: ;составное условие
|
||||
cmp bl,'F'
|
||||
jle .us2
|
||||
cmp bl,'a'
|
||||
jl @f ;отсеиваем символы >'F' и <'a'
|
||||
sub bl,32 ;переводим символы в верхний регистр, для упрощения их последущей обработки
|
||||
.us2: ;составное условие
|
||||
sub bl,'0'
|
||||
cmp bl,9
|
||||
jle .cor1
|
||||
sub bl,7 ;convert 'A' to '10'
|
||||
.cor1:
|
||||
shl eax,4
|
||||
add eax,ebx
|
||||
inc esi
|
||||
jmp .cycle_16
|
||||
@@:
|
||||
cmp ecx,0 ;если число отрицательное
|
||||
jne @f
|
||||
sub ecx,eax
|
||||
mov eax,ecx
|
||||
@@:
|
||||
ret
|
||||
endp
|
||||
|
||||
;-------------------------------------------------
|
||||
title db 'string to double 03.01.21',0
|
||||
hexstr db 'hex:',0
|
||||
decstr db 'dec:',0
|
||||
binstr db 'bin:',0
|
||||
|
||||
if lang eq ru_RU
|
||||
numstr db 'Число:',0
|
||||
Okstr db 'Ввод',0
|
||||
else ; Default to en_US
|
||||
numstr db 'Number:',0
|
||||
Okstr db 'Ok',0
|
||||
end if
|
||||
|
||||
mouse_dd dd 0
|
||||
edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0
|
||||
editboxes_end:
|
||||
|
||||
;option_boxes
|
||||
opt1 option_box option_group1, 15, 90, 8, 12, 0xffffff, 0x80ff, 0, op_text.1, 17
|
||||
opt2 option_box option_group1, 15, 106, 8, 12, 0xffffff, 0x80ff, 0, op_text.2, 18
|
||||
opt3 option_box option_group1, 15, 122, 8, 12, 0xffffff, 0x80ff, 0, op_text.3, 21
|
||||
|
||||
op_text: ;текст для радио кнопок
|
||||
.1 db 'str(dec) -> float'
|
||||
.2 db 'str(dec) -> double'
|
||||
.3 db 'float(dec,hex) -> str'
|
||||
;указатели для option_box
|
||||
option_group1 dd opt1
|
||||
Option_boxes1 dd opt1, opt2, opt3, 0
|
||||
|
||||
system_dir_0 db '/sys/lib/'
|
||||
lib_name_0 db 'box_lib.obj',0
|
||||
|
||||
|
||||
l_libs_start:
|
||||
lib_0 l_libs lib_name_0, library_path, system_dir_0,import_box_lib
|
||||
l_libs_end:
|
||||
|
||||
align 4
|
||||
import_box_lib:
|
||||
;dd sz_init1
|
||||
edit_box_draw dd sz_edit_box_draw
|
||||
edit_box_key dd sz_edit_box_key
|
||||
edit_box_mouse dd sz_edit_box_mouse
|
||||
;edit_box_set_text dd sz_edit_box_set_text
|
||||
option_box_draw dd aOption_box_draw
|
||||
option_box_mouse dd aOption_box_mouse
|
||||
;version_op dd aVersion_op
|
||||
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
|
||||
aOption_box_draw db 'option_box_draw',0
|
||||
aOption_box_mouse db 'option_box_mouse',0
|
||||
;aVersion_op db 'version_op',0
|
||||
|
||||
i_end:
|
||||
sys_colors system_colors
|
||||
align 16
|
||||
sys_path rb 4096
|
||||
library_path rb 4096
|
||||
rb 0x400 ;stack
|
||||
e_end: ; метка конца программы
|
||||
@@ -1,491 +1,501 @@
|
||||
|
||||
sz htext,'TINYPAD ',APP_VERSION
|
||||
|
||||
menubar_res main_menu,\
|
||||
ru,'Файл' ,mm.File ,onshow.file ,\
|
||||
ru,'Правка' ,mm.Edit ,onshow.edit ,\
|
||||
ru,'Поиск' ,mm.Search ,onshow.search ,\
|
||||
ru,'Запуск' ,mm.Run ,onshow.run ,\
|
||||
ru,'Кодировка',mm.Encoding,onshow.recode ,\
|
||||
ru,'Опции' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
en,'File' ,mm.File ,onshow.file ,\
|
||||
en,'Edit' ,mm.Edit ,onshow.edit ,\
|
||||
en,'Search' ,mm.Search ,onshow.search ,\
|
||||
en,'Run' ,mm.Run ,onshow.run ,\
|
||||
en,'Encoding' ,mm.Encoding,onshow.recode ,\
|
||||
en,'Options' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
it,'File' ,mm.File ,onshow.file ,\
|
||||
it,'Modificare' ,mm.Edit ,onshow.edit ,\
|
||||
it,'Ricerca' ,mm.Search ,onshow.search ,\
|
||||
it,'Correre' ,mm.Run ,onshow.run ,\
|
||||
it,'Codifica' ,mm.Encoding,onshow.recode ,\
|
||||
it,'Opzioni' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
et,'Fail' ,mm.File ,onshow.file ,\
|
||||
et,'Muuda' ,mm.Edit ,onshow.edit ,\
|
||||
et,'Otsi' ,mm.Search ,onshow.search ,\
|
||||
et,'Kфivita' ,mm.Run ,onshow.run ,\
|
||||
et,'Kodeering',mm.Encoding,onshow.recode ,\
|
||||
et,'Seaded' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
sp,'Archivo' ,mm.File ,onshow.file ,\
|
||||
sp,'Editar' ,mm.Edit ,onshow.edit ,\
|
||||
sp,'Buscar' ,mm.Search ,onshow.search ,\
|
||||
sp,'Ejecutar' ,mm.Run ,onshow.run ,\
|
||||
sp,'Codificaciєn',mm.Encoding,onshow.recode,\
|
||||
sp,'Opciones' ,mm.Options ,onshow.options
|
||||
|
||||
popup_res mm.File,\
|
||||
ru,'Новый' ,'Ctrl+N' ,New ,\
|
||||
ru,'Открыть...','Ctrl+O' ,Open ,\
|
||||
ru,'Сохранить' ,'Ctrl+S' ,Save ,\
|
||||
ru,'Сохранить как...','Ctrl+Shift+S',SaveAs,\
|
||||
ru,'-','',,\
|
||||
ru,'Закрыть' ,'Ctrl+F4' ,Close ,\
|
||||
ru,'-','',,\
|
||||
ru,'Выход' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
en,'New' ,'Ctrl+N' ,New ,\
|
||||
en,'Open...' ,'Ctrl+O' ,Open ,\
|
||||
en,'Save' ,'Ctrl+S' ,Save ,\
|
||||
en,'Save as...','Ctrl+Shift+S',SaveAs ,\
|
||||
en,'-','',,\
|
||||
en,'Close' ,'Ctrl+F4' ,Close ,\
|
||||
en,'-','',,\
|
||||
en,'Exit' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
it,'Nuovo' ,'Ctrl+N' ,New ,\
|
||||
it,'Aperto...' ,'Ctrl+O' ,Open ,\
|
||||
it,'Salva' ,'Ctrl+S' ,Save ,\
|
||||
it,'Salva come...','Ctrl+Shift+S',SaveAs ,\
|
||||
it,'-','',,\
|
||||
it,'Chiudi' ,'Ctrl+F4' ,Close ,\
|
||||
it,'-','',,\
|
||||
it,'Uscita' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
et,'Uus' ,'Ctrl+N' ,New ,\
|
||||
et,'Ava...' ,'Ctrl+O' ,Open ,\
|
||||
et,'Salvesta' ,'Ctrl+S' ,Save ,\
|
||||
et,'Salvesta nimega...','Ctrl+Shift+S',SaveAs,\
|
||||
et,'-','',,\
|
||||
et,'Sulge' ,'Ctrl+F4' ,Close ,\
|
||||
et,'-','',,\
|
||||
et,'Vфlju' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
sp,'Nuevo' ,'Ctrl+N' ,New ,\
|
||||
sp,'Abrir...' ,'Ctrl+O' ,Open ,\
|
||||
sp,'Guardar' ,'Ctrl+S' ,Save ,\
|
||||
sp,'Guardar como...','Ctrl+Shift+S',SaveAs,\
|
||||
sp,'-','',,\
|
||||
sp,'Cerrar' ,'Ctrl+F4',Close,\
|
||||
sp,'-','',,\
|
||||
sp,'Salir' ,'Alt+X' ,Exit
|
||||
|
||||
popup_res mm.Edit,\
|
||||
ru,'Вырезать' ,'Ctrl+X',Cut ,\
|
||||
ru,'Копировать' ,'Ctrl+C',Copy ,\
|
||||
ru,'Вставить' ,'Ctrl+V',Insert,\
|
||||
ru,'Удалить' ,'' ,Delete,\
|
||||
ru,'-','',,\
|
||||
ru,'Выделить всё' ,'Ctrl+A',SelAll,\
|
||||
\
|
||||
en,'Cut' ,'Ctrl+X',Cut ,\
|
||||
en,'Copy' ,'Ctrl+C',Copy ,\
|
||||
en,'Paste' ,'Ctrl+V',Insert,\
|
||||
en,'Delete' ,'' ,Delete,\
|
||||
en,'-','',,\
|
||||
en,'Select all','Ctrl+A',SelAll,\
|
||||
\
|
||||
it,'Taglio' ,'Ctrl+X',Cut ,\
|
||||
it,'Copia' ,'Ctrl+C',Copy ,\
|
||||
it,'Incolla' ,'Ctrl+V',Insert,\
|
||||
it,'Elimina' ,'' ,Delete,\
|
||||
it,'-','',,\
|
||||
it,'Seleziona tutto','Ctrl+A',SelAll,\
|
||||
\
|
||||
et,'Lїika' ,'Ctrl+X',Cut ,\
|
||||
et,'Kopeeri' ,'Ctrl+C',Copy ,\
|
||||
et,'Kleebi' ,'Ctrl+V',Insert,\
|
||||
et,'Kustuta' ,'' ,Delete,\
|
||||
et,'-','',,\
|
||||
et,'Vali kїik','Ctrl+A',SelAll,\
|
||||
\
|
||||
sp,'Cortar' ,'Ctrl+X',Cut ,\
|
||||
sp,'Copiar' ,'Ctrl+C',Copy ,\
|
||||
sp,'Pegar' ,'Ctrl+V',Insert,\
|
||||
sp,'Eliminar' ,'' ,Delete,\
|
||||
sp,'-','',,\
|
||||
sp,'Seleccionar todo','Ctrl+A',SelAll
|
||||
|
||||
popup_res mm.Search,\
|
||||
ru,'Перейти...' ,'Ctrl+G',Position,\
|
||||
ru,'-','',,\
|
||||
ru,'Найти...' ,'Ctrl+F',Find ,\
|
||||
ru,'Найти далее','F3' ,FindNext,\
|
||||
ru,'Заменить...','Ctrl+H',Replace ,\
|
||||
\
|
||||
en,'Position...','Ctrl+G',Position,\
|
||||
en,'-','',,\
|
||||
en,'Find...' ,'Ctrl+F',Find ,\
|
||||
en,'Find next' ,'F3' ,FindNext,\
|
||||
en,'Replace...' ,'Ctrl+H',Replace ,\
|
||||
\
|
||||
it,'Posizione...','Ctrl+G',Position,\
|
||||
it,'-','',,\
|
||||
it,'Trova...' ,'Ctrl+F',Find ,\
|
||||
it,'Trova il prossimo' ,'F3' ,FindNext,\
|
||||
it,'Sostituire...' ,'Ctrl+H',Replace ,\
|
||||
\
|
||||
et,'Positsioon...','Ctrl+G',Position,\
|
||||
et,'-','',,\
|
||||
et,'Leia...' ,'Ctrl+F',Find ,\
|
||||
et,'Leia jфrgmine','F3' ,FindNext,\
|
||||
et,'Asenda...' ,'Ctrl+H',Replace ,\
|
||||
\
|
||||
sp,'Posiciєn...' ,'Ctrl+G',Position,\
|
||||
sp,'-','',,\
|
||||
sp,'Buscar...' ,'Ctrl+F',Find ,\
|
||||
sp,'Buscar siguiente','F3' ,FindNext,\
|
||||
sp,'Reemplazar...','Ctrl+H',Replace
|
||||
|
||||
popup_res mm.Run,\
|
||||
ru,'Запустить' ,'F9' ,Run ,\
|
||||
ru,'Запустить в дебаггере','F10',Debug ,\
|
||||
ru,'Компилировать' ,'Ctrl+F9',Compile ,\
|
||||
ru,'-','',,\
|
||||
ru,'Доска отладки' ,'' ,DbgBoard,\
|
||||
ru,'Системные функции','' ,SysFuncs,\
|
||||
\
|
||||
en,'Run' ,'F9' ,Run ,\
|
||||
en,'Run in debugger' ,'F10' ,Debug ,\
|
||||
en,'Compile' ,'Ctrl+F9',Compile ,\
|
||||
en,'-','',,\
|
||||
en,'Debug board' ,'' ,DbgBoard,\
|
||||
en,'System functions' ,'' ,SysFuncs,\
|
||||
\
|
||||
it,'Correre' ,'F9' ,Run ,\
|
||||
it,'Esegui nel debugger','F10',Debug ,\
|
||||
it,'Compilare','Ctrl+F9',Compile ,\
|
||||
it,'-','',,\
|
||||
it,'Scheda di debug' ,'' ,DbgBoard,\
|
||||
it,'Funzioni di sistema','' ,SysFuncs,\
|
||||
\
|
||||
et,'Kфivita' ,'F9' ,Run ,\
|
||||
et,'Kфivita aastal siluri','F10',Debug ,\
|
||||
et,'Kompileeri' ,'Ctrl+F9',Compile ,\
|
||||
et,'-','',,\
|
||||
et,'Silumis paneel' ,'' ,DbgBoard,\
|
||||
et,'S№steemi funktsioonid','' ,SysFuncs,\
|
||||
\
|
||||
sp,'Ejecutar' ,'F9' ,Run ,\
|
||||
sp,'Ejecutar en el depurador','F10',Debug,\
|
||||
sp,'Compilar' ,'Ctrl+F9',Compile ,\
|
||||
sp,'-','',,\
|
||||
sp,'Depuraciєn' ,'' ,DbgBoard,\
|
||||
sp,'Funciones del sistema' ,'',SysFuncs
|
||||
|
||||
popup_res mm.Encoding,\
|
||||
@!,<'CP866 ',0x1A,' CP1251'>,'',CP866.CP1251,\
|
||||
@!,<'CP1251 ',0x1A,' CP866' >,'',CP1251.CP866,\
|
||||
@!,<'-'>,'',,\
|
||||
@!,<'CP866 ',0x1A,' KOI8-R'>,'',CP866.KOI8R ,\
|
||||
@!,<'KOI8-R ',0x1A,' CP866' >,'',KOI8R.CP866 ,\
|
||||
@!,<'-'>,'',,\
|
||||
@!,<'CP1251 ',0x1A,' KOI8-R'>,'',CP1251.KOI8R,\
|
||||
@!,<'KOI8-R ',0x1A,' CP1251'>,'',KOI8R.CP1251
|
||||
|
||||
popup_res mm.Options,\
|
||||
ru,'Увеличить' ,'Ctrl +',ZoomIn ,\
|
||||
ru,'Уменьшить' ,'Ctrl -',ZoomOut ,\
|
||||
ru,'-','',,\
|
||||
ru,'Номера строк' ,'',LineNumbers ,\
|
||||
ru,'Безопасное выделение' ,'',SecureSel ,\
|
||||
ru,'Автоматические скобки' ,'',AutoBrackets,\
|
||||
ru,'Автоматический отступ' ,'',AutoIndents ,\
|
||||
ru,'Оптимальное сохранение' ,'',OptimalFill ,\
|
||||
ru,'-','',,\
|
||||
ru,'Внешний вид...' ,'',Appearance ,\
|
||||
\
|
||||
en,'Zoom in' ,'Ctrl +',ZoomIn ,\
|
||||
en,'Zoom out' ,'Ctrl -',ZoomOut ,\
|
||||
en,'-','',,\
|
||||
en,'Line numbers' ,'',LineNumbers ,\
|
||||
en,'Secure selection' ,'',SecureSel ,\
|
||||
en,'Automatic brackets' ,'',AutoBrackets,\
|
||||
en,'Automatic indents' ,'',AutoIndents ,\
|
||||
en,'Optimal fill on saving' ,'',OptimalFill ,\
|
||||
en,'-','',,\
|
||||
en,'Appearance...' ,'',Appearance ,\
|
||||
\
|
||||
it,'Ingrandire' ,'Ctrl +',ZoomIn ,\
|
||||
it,'Rimpicciolisci' ,'Ctrl -',ZoomOut ,\
|
||||
it,'-','',,\
|
||||
it,'Numeri di riga' ,'',LineNumbers ,\
|
||||
it,'Selezione sicura' ,'',SecureSel ,\
|
||||
it,'Staffe automatiche' ,'',AutoBrackets,\
|
||||
it,'Rientri automatici' ,'',AutoIndents ,\
|
||||
it,'Combina spazi' ,'',OptimalFill ,\
|
||||
it,'-','',,\
|
||||
it,'Aspetto...' ,'',Appearance ,\
|
||||
\
|
||||
et,'Zoom in' ,'Ctrl +',ZoomIn ,\
|
||||
et,'Zoom out' ,'Ctrl -',ZoomOut ,\
|
||||
et,'-','',,\
|
||||
et,'Rea numbrid' ,'',LineNumbers ,\
|
||||
et,'Turvaline valimine' ,'',SecureSel ,\
|
||||
et,'Automaatsed sulud' ,'',AutoBrackets,\
|
||||
et,'Automaatsed taandread' ,'',AutoIndents ,\
|
||||
et,'Optimaalne tфitmine salvestamisel','',OptimalFill,\
|
||||
et,'-','',,\
|
||||
et,'Vфlimus...' ,'',Appearance ,\
|
||||
\
|
||||
sp,'Zoom in' ,'Ctrl +',ZoomIn ,\
|
||||
sp,'Zoom out' ,'Ctrl -',ZoomOut ,\
|
||||
sp,'-','',,\
|
||||
sp,'N·meros en lэneas' ,'',LineNumbers ,\
|
||||
sp,'Selecciєn segura' ,'',SecureSel ,\
|
||||
sp,'Parщntesis automсticos' ,'',AutoBrackets,\
|
||||
sp,'Identaciєn automсtica' ,'',AutoIndents ,\
|
||||
sp,'Llenado єptimo al guardar','',OptimalFill ,\
|
||||
sp,'-','',,\
|
||||
sp,'Apariencia...' ,'',Appearance
|
||||
|
||||
lsz s_defname,\
|
||||
ru,<'Безымянный',0>,\
|
||||
en,<'Untitled',0>,\
|
||||
it,<'Senza titolo',0>,\
|
||||
et,<'Nimetu',0>,\
|
||||
sp,<'Sin tэtulo',0>
|
||||
|
||||
lsz s_modified,\
|
||||
ru,'Изменено',\
|
||||
en,'Modified',\
|
||||
it,'Modificato',\
|
||||
et,'Muudetud',\
|
||||
sp,'Modificado'
|
||||
|
||||
lsz s_2filename,\
|
||||
ru,'Имя файла:',\
|
||||
en,'Filename:',\
|
||||
en,'Nome del file:',\
|
||||
et,'Faili nimi:',\
|
||||
sp,'Nombre de archivo:'
|
||||
lsz s_2open,\
|
||||
ru,'Открыть',\
|
||||
en,'Open',\
|
||||
it,'Aperto',\
|
||||
et,'Ava',\
|
||||
sp,'Abrir'
|
||||
lsz s_2save,\
|
||||
ru,'Сохранить',\
|
||||
en,'Save',\
|
||||
it,'Salva',\
|
||||
et,'Salvesta',\
|
||||
sp,'Guardar'
|
||||
lsz s_2save_no,\
|
||||
ru,'Нет',\
|
||||
en,'No',\
|
||||
it,'No',\
|
||||
et,'Ei',\
|
||||
sp,'No'
|
||||
lsz s_2find,\
|
||||
ru,'Найти',\
|
||||
en,'Find',\
|
||||
it,'Trova',\
|
||||
et,'Leia',\
|
||||
sp,'Buscar'
|
||||
db ':'
|
||||
lsz s_2replace,\
|
||||
ru,'Заменить',\
|
||||
en,'Replace',\
|
||||
it,'Sostituire',\
|
||||
et,'Asenda',\
|
||||
sp,'Reemplazar'
|
||||
db ':'
|
||||
lsz s_2cancel,\
|
||||
ru,'Отмена',\
|
||||
en,'Cancel',\
|
||||
it,'Annulla',\
|
||||
et,'T№hista',\
|
||||
sp,'Cancelar'
|
||||
lsz s_color,\
|
||||
ru,'Цвет: 0x',\
|
||||
en,'Color: 0x',\
|
||||
it,'Colore: 0x',\
|
||||
et,'Vфrv: 0x',\
|
||||
sp,'Color: 0x'
|
||||
lsz s_tabpos,\
|
||||
ru,'Расположение закладок',\
|
||||
en,'Tabs placement',\
|
||||
it,'Posizionamento delle schede',\
|
||||
et,'Saki asetus',\
|
||||
sp,'Lugar de tabulador'
|
||||
|
||||
lsz s_enter_filename,\
|
||||
ru,<'Введите имя файла',0>,\
|
||||
en,<'Enter filename',0>,\
|
||||
it,<'Inserisci il nome del file',0>,\
|
||||
et,<'Sisesta faili nimi',0>,\
|
||||
sp,<'Ingresa el nombre del archivo',0>
|
||||
|
||||
lsz s_ask_save,\
|
||||
ru,<'Желаете сохранить?',0>,\
|
||||
en,<'Would you like to save?',0>,\
|
||||
it,<'Vorresti salvare?',0>,\
|
||||
et,<'Kas soovite salvestada?',0>,\ ; Now correct
|
||||
sp,<'┐Quieres guardar?',0>
|
||||
|
||||
lsz s_enter_text_to_find,\
|
||||
ru,<'Введите текст для поиска',0>,\
|
||||
en,<'Enter text to find',0>,\
|
||||
it,<'Inserisci il testo per trovare',0>,\
|
||||
et,<'Sisesta otsitav tekst',0>,\
|
||||
sp,<'Ingresa el texto a buscar',0>
|
||||
|
||||
lsz s_enter_text_to_replace,\
|
||||
ru,<'Введите текст для замены',0>,\
|
||||
en,<'Enter text to replace',0>,\
|
||||
it,<'Inserisci il testo da sostituire',0>,\
|
||||
et,<'Sisesta asendatav tekst',0>,\
|
||||
sp,<'Ingresa el texto a reemplazar',0>
|
||||
|
||||
lsz s_text_not_found,\
|
||||
ru,<'Достигнут конец файла, текст не найден',0>,\
|
||||
en,<'Reached end of file, text not found',0>,\
|
||||
it,<'Raggiunta la fine del file, testo non trovato',0>,\
|
||||
et,<'Faili lїpp, teksti ei leitud',0>,\
|
||||
sp,<'Se llegє al final del archivo, texto no encontrado',0>
|
||||
|
||||
lszc s_fs_error,b,\
|
||||
ru,<'Операция завершена успешно (0)',0>,\
|
||||
ru,<'',0>,\
|
||||
ru,<'Функция не поддерживается для данной файловой системы (2)',0>,\
|
||||
ru,<'Неизвестная файловая система (3)',0>,\
|
||||
ru,<'',0>,\
|
||||
ru,<'Невозможно открыть файл (5)',0>,\
|
||||
ru,<'Операция завершена успешно (6)',0>,\
|
||||
ru,<'Адрес находится за границами памяти программы (7)',0>,\
|
||||
ru,<'На диске нет свободного места (8)',0>,\
|
||||
ru,<'Таблица FAT уничтожена (9)',0>,\
|
||||
ru,<'Доступ запрещён (10)',0>,\
|
||||
ru,<'Ошибка устройства (11)',0>,\
|
||||
\
|
||||
en,<'Operation executed successfully (0)',0>,\
|
||||
en,<'',0>,\
|
||||
en,<'Function is not supported for the given filesystem (2)',0>,\
|
||||
en,<'Unknown filesystem (3)',0>,\
|
||||
en,<'',0>,\
|
||||
en,<'Unable to open file (5)',0>,\
|
||||
en,<'Operation executed successfully (6)',0>,\
|
||||
en,<'Pointer lies outside of application memory (7)',0>,\
|
||||
en,<'Disk is full (8)',0>,\
|
||||
en,<'FAT table is destroyed (9)',0>,\
|
||||
en,<'Access denied (10)',0>,\
|
||||
en,<'Device error (11)',0>,\
|
||||
\
|
||||
it,<'Operazione eseguita correttamente (0)',0>,\
|
||||
it,<'',0>,\
|
||||
it,<'La funzione non e supportata per il file system specificato (2)', 0>, \
|
||||
it,<'Unknown filesystem (3)',0>,\
|
||||
it,<'',0>,\
|
||||
it,<'Impossibile aprire il file (5)',0>,\
|
||||
it,<'Operazione eseguita correttamente (6)',0>,\
|
||||
it,<'Il puntatore si trova al di fuori della memoria dell',96,'applicazione (7)', 0>, \
|
||||
it,<'Il disco e pieno (8)',0>,\
|
||||
it,<'La tabella FAT e distrutta (9)',0>,\
|
||||
it,<'Accesso negato (10)',0>,\
|
||||
it,<'Errore dispositivo (11)',0>,\
|
||||
\
|
||||
et,<'Operatsioon kфivitati edukalt (0)',0>,\
|
||||
et,<'',0>,\
|
||||
et,<'Failis№steem ei toeta funktsiooni (2)',0>,\
|
||||
et,<'Tundmatu failis№steem (3)',0>,\
|
||||
et,<'',0>,\
|
||||
et,<'Faili ei suudetud avada (5)',0>,\
|
||||
et,<'Operatsioon kфivitatud edukalt (6)',0>,\
|
||||
et,<'Viit on vфljaspool programmi mфlu (7)',0>,\
|
||||
et,<'Ketas tфis (8)',0>,\
|
||||
et,<'FAT tabel hфvitatud (9)',0>,\
|
||||
et,<'Juurdepффs keelatud (10)',0>,\
|
||||
et,<'Seadme viga (11)',0>,\
|
||||
\
|
||||
sp,<'Operaciєn ejecutada correctamente (0)',0>,\
|
||||
sp,<'',0>,\
|
||||
sp,<'La funciєn no estс soportada por el sistema de archivos dado (2)',0>,\
|
||||
sp,<'Sistema de archivos desconocido (3)',0>,\
|
||||
sp,<'',0>,\
|
||||
sp,<'No es posible abrir el archivo (5)',0>,\
|
||||
sp,<'Operaciєn ejecutada correctamente (6)',0>,\
|
||||
sp,<'El puntero estс fuera de la memoria de la aplicaciєn (7)',0>,\
|
||||
sp,<'El disco estс lleno (8)',0>,\
|
||||
sp,<'La tabla FAT estс destruida (9)',0>,\
|
||||
sp,<'Acceso denegado (10)',0>,\
|
||||
sp,<'Error de dispositivo (11)',0>
|
||||
|
||||
lszc s_appearance,b,\
|
||||
ru,'Текст',\
|
||||
ru,'Фон',\
|
||||
ru,'Текст выделения',\
|
||||
ru,'Фон выделения',\
|
||||
ru,'Символы',\
|
||||
ru,'Числа',\
|
||||
ru,'Строки',\
|
||||
ru,'Комментарии',\
|
||||
ru,'Изменёные строки',\
|
||||
ru,'Сохранённые строки',\
|
||||
\
|
||||
en,'Text',\
|
||||
en,'Background',\
|
||||
en,'Selection text',\
|
||||
en,'Selection background',\
|
||||
en,'Symbols',\
|
||||
en,'Numbers',\
|
||||
en,'Strings',\
|
||||
en,'Comments',\
|
||||
en,'Modified lines',\
|
||||
en,'Saved lines',\
|
||||
\
|
||||
it,'Testo',\
|
||||
it,'Sfondo',\
|
||||
it,'Testo di selezione',\
|
||||
it,'Sfondo di selezione',\
|
||||
it,'Simboli',\
|
||||
it,'Numeri',\
|
||||
it,'Stringhe',\
|
||||
it,'Commenti',\
|
||||
it,'Linee modificate',\
|
||||
it,'Linee salvate',\
|
||||
\
|
||||
et,'Tekst',\
|
||||
et,'Taust',\
|
||||
et,'Valitud tekst',\
|
||||
et,'Valitud taust',\
|
||||
et,'S№mbolid',\
|
||||
et,'Numbrid',\
|
||||
et,'Stringid',\
|
||||
et,'Kommentaarid',\
|
||||
et,'Muudetud read',\
|
||||
et,'Salvestatud read',\
|
||||
\
|
||||
sp,'Texto',\
|
||||
sp,'Fondo',\
|
||||
sp,'Texto de selecciєn',\
|
||||
sp,'Fondo de selecciєn',\
|
||||
sp,'Sэmbolos',\
|
||||
sp,'N·meros',\
|
||||
sp,'Cadenas',\
|
||||
sp,'Comentarios',\
|
||||
sp,'Lэneas modificadas',\
|
||||
sp,'Lэneas guardadas'
|
||||
|
||||
lsz sysfuncs_filename,\
|
||||
ru,<'SYSFUNCR.TXT',0>,\
|
||||
en,<'SYSFUNCS.TXT',0>,\
|
||||
it,<'SYSFUNCS.TXT',0>,\
|
||||
et,<'SYSFUNCET.TXT',0>,\
|
||||
sp,<'SYSFUNCS.TXT',0>
|
||||
|
||||
sz s_example,'/sys/example.asm'
|
||||
sz s_still ,'still'
|
||||
|
||||
sz htext,'TINYPAD ',APP_VERSION
|
||||
|
||||
; Language support for locales: ru_RU (CP866), en_US, it_IT, et_EE, es_ES.
|
||||
|
||||
menubar_res main_menu,\
|
||||
ru_RU,'Файл' ,mm.File ,onshow.file ,\
|
||||
ru_RU,'Правка' ,mm.Edit ,onshow.edit ,\
|
||||
ru_RU,'Поиск' ,mm.Search ,onshow.search ,\
|
||||
ru_RU,'Запуск' ,mm.Run ,onshow.run ,\
|
||||
ru_RU,'Кодировка',mm.Encoding,onshow.recode ,\
|
||||
ru_RU,'Опции' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
en_US,'File' ,mm.File ,onshow.file ,\
|
||||
en_US,'Edit' ,mm.Edit ,onshow.edit ,\
|
||||
en_US,'Search' ,mm.Search ,onshow.search ,\
|
||||
en_US,'Run' ,mm.Run ,onshow.run ,\
|
||||
en_US,'Encoding' ,mm.Encoding,onshow.recode ,\
|
||||
en_US,'Options' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
it_IT,'File' ,mm.File ,onshow.file ,\
|
||||
it_IT,'Modificare' ,mm.Edit ,onshow.edit ,\
|
||||
it_IT,'Ricerca' ,mm.Search ,onshow.search ,\
|
||||
it_IT,'Correre' ,mm.Run ,onshow.run ,\
|
||||
it_IT,'Codifica' ,mm.Encoding,onshow.recode ,\
|
||||
it_IT,'Opzioni' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
et_EE,'Fail' ,mm.File ,onshow.file ,\
|
||||
et_EE,'Muuda' ,mm.Edit ,onshow.edit ,\
|
||||
et_EE,'Otsi' ,mm.Search ,onshow.search ,\
|
||||
et_EE,'Kфivita' ,mm.Run ,onshow.run ,\
|
||||
et_EE,'Kodeering',mm.Encoding,onshow.recode ,\
|
||||
et_EE,'Seaded' ,mm.Options ,onshow.options,\
|
||||
\
|
||||
es_ES,'Archivo' ,mm.File ,onshow.file ,\
|
||||
es_ES,'Editar' ,mm.Edit ,onshow.edit ,\
|
||||
es_ES,'Buscar' ,mm.Search ,onshow.search ,\
|
||||
es_ES,'Ejecutar' ,mm.Run ,onshow.run ,\
|
||||
es_ES,'Codificaciєn',mm.Encoding,onshow.recode,\
|
||||
es_ES,'Opciones' ,mm.Options ,onshow.options
|
||||
|
||||
popup_res mm.File,\
|
||||
ru_RU,'Новый' ,'Ctrl+N' ,New ,\
|
||||
ru_RU,'Открыть...','Ctrl+O' ,Open ,\
|
||||
ru_RU,'Сохранить' ,'Ctrl+S' ,Save ,\
|
||||
ru_RU,'Сохранить как...','Ctrl+Shift+S',SaveAs,\
|
||||
ru_RU,'-','',,\
|
||||
ru_RU,'Закрыть' ,'Ctrl+F4' ,Close ,\
|
||||
ru_RU,'-','',,\
|
||||
ru_RU,'Выход' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
en_US,'New' ,'Ctrl+N' ,New ,\
|
||||
en_US,'Open...' ,'Ctrl+O' ,Open ,\
|
||||
en_US,'Save' ,'Ctrl+S' ,Save ,\
|
||||
en_US,'Save as...','Ctrl+Shift+S',SaveAs ,\
|
||||
en_US,'-','',,\
|
||||
en_US,'Close' ,'Ctrl+F4' ,Close ,\
|
||||
en_US,'-','',,\
|
||||
en_US,'Exit' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
it_IT,'Nuovo' ,'Ctrl+N' ,New ,\
|
||||
it_IT,'Aperto...' ,'Ctrl+O' ,Open ,\
|
||||
it_IT,'Salva' ,'Ctrl+S' ,Save ,\
|
||||
it_IT,'Salva come...','Ctrl+Shift+S',SaveAs ,\
|
||||
it_IT,'-','',,\
|
||||
it_IT,'Chiudi' ,'Ctrl+F4' ,Close ,\
|
||||
it_IT,'-','',,\
|
||||
it_IT,'Uscita' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
et_EE,'Uus' ,'Ctrl+N' ,New ,\
|
||||
et_EE,'Ava...' ,'Ctrl+O' ,Open ,\
|
||||
et_EE,'Salvesta' ,'Ctrl+S' ,Save ,\
|
||||
et_EE,'Salvesta nimega...','Ctrl+Shift+S',SaveAs,\
|
||||
et_EE,'-','',,\
|
||||
et_EE,'Sulge' ,'Ctrl+F4' ,Close ,\
|
||||
et_EE,'-','',,\
|
||||
et_EE,'Vфlju' ,'Alt+X' ,Exit ,\
|
||||
\
|
||||
es_ES,'Nuevo' ,'Ctrl+N' ,New ,\
|
||||
es_ES,'Abrir...' ,'Ctrl+O' ,Open ,\
|
||||
es_ES,'Guardar' ,'Ctrl+S' ,Save ,\
|
||||
es_ES,'Guardar como...','Ctrl+Shift+S',SaveAs,\
|
||||
es_ES,'-','',,\
|
||||
es_ES,'Cerrar' ,'Ctrl+F4',Close,\
|
||||
es_ES,'-','',,\
|
||||
es_ES,'Salir' ,'Alt+X' ,Exit
|
||||
|
||||
popup_res mm.Edit,\
|
||||
ru_RU,'Вырезать' ,'Ctrl+X',Cut ,\
|
||||
ru_RU,'Копировать' ,'Ctrl+C',Copy ,\
|
||||
ru_RU,'Вставить' ,'Ctrl+V',Insert,\
|
||||
ru_RU,'Удалить' ,'' ,Delete,\
|
||||
ru_RU,'-','',,\
|
||||
ru_RU,'Выделить всё' ,'Ctrl+A',SelAll,\
|
||||
\
|
||||
en_US,'Cut' ,'Ctrl+X',Cut ,\
|
||||
en_US,'Copy' ,'Ctrl+C',Copy ,\
|
||||
en_US,'Paste' ,'Ctrl+V',Insert,\
|
||||
en_US,'Delete' ,'' ,Delete,\
|
||||
en_US,'-','',,\
|
||||
en_US,'Select all','Ctrl+A',SelAll,\
|
||||
\
|
||||
it_IT,'Taglio' ,'Ctrl+X',Cut ,\
|
||||
it_IT,'Copia' ,'Ctrl+C',Copy ,\
|
||||
it_IT,'Incolla' ,'Ctrl+V',Insert,\
|
||||
it_IT,'Elimina' ,'' ,Delete,\
|
||||
it_IT,'-','',,\
|
||||
it_IT,'Seleziona tutto','Ctrl+A',SelAll,\
|
||||
\
|
||||
et_EE,'Lїika' ,'Ctrl+X',Cut ,\
|
||||
et_EE,'Kopeeri' ,'Ctrl+C',Copy ,\
|
||||
et_EE,'Kleebi' ,'Ctrl+V',Insert,\
|
||||
et_EE,'Kustuta' ,'' ,Delete,\
|
||||
et_EE,'-','',,\
|
||||
et_EE,'Vali kїik','Ctrl+A',SelAll,\
|
||||
\
|
||||
es_ES,'Cortar' ,'Ctrl+X',Cut ,\
|
||||
es_ES,'Copiar' ,'Ctrl+C',Copy ,\
|
||||
es_ES,'Pegar' ,'Ctrl+V',Insert,\
|
||||
es_ES,'Eliminar' ,'' ,Delete,\
|
||||
es_ES,'-','',,\
|
||||
es_ES,'Seleccionar todo','Ctrl+A',SelAll
|
||||
|
||||
popup_res mm.Search,\
|
||||
ru_RU,'Перейти...' ,'Ctrl+G',Position,\
|
||||
ru_RU,'-','',,\
|
||||
ru_RU,'Найти...' ,'Ctrl+F',Find ,\
|
||||
ru_RU,'Найти далее','F3' ,FindNext,\
|
||||
ru_RU,'Заменить...','Ctrl+H',Replace ,\
|
||||
\
|
||||
en_US,'Position...','Ctrl+G',Position,\
|
||||
en_US,'-','',,\
|
||||
en_US,'Find...' ,'Ctrl+F',Find ,\
|
||||
en_US,'Find next' ,'F3' ,FindNext,\
|
||||
en_US,'Replace...' ,'Ctrl+H',Replace ,\
|
||||
\
|
||||
it_IT,'Posizione...','Ctrl+G',Position,\
|
||||
it_IT,'-','',,\
|
||||
it_IT,'Trova...' ,'Ctrl+F',Find ,\
|
||||
it_IT,'Trova il prossimo' ,'F3' ,FindNext,\
|
||||
it_IT,'Sostituire...' ,'Ctrl+H',Replace ,\
|
||||
\
|
||||
et_EE,'Positsioon...','Ctrl+G',Position,\
|
||||
et_EE,'-','',,\
|
||||
et_EE,'Leia...' ,'Ctrl+F',Find ,\
|
||||
et_EE,'Leia jфrgmine','F3' ,FindNext,\
|
||||
et_EE,'Asenda...' ,'Ctrl+H',Replace ,\
|
||||
\
|
||||
es_ES,'Posiciєn...' ,'Ctrl+G',Position,\
|
||||
es_ES,'-','',,\
|
||||
es_ES,'Buscar...' ,'Ctrl+F',Find ,\
|
||||
es_ES,'Buscar siguiente','F3' ,FindNext,\
|
||||
es_ES,'Reemplazar...','Ctrl+H',Replace
|
||||
|
||||
popup_res mm.Run,\
|
||||
ru_RU,'Запустить' ,'F9' ,Run ,\
|
||||
ru_RU,'Запустить в дебаггере','F10',Debug ,\
|
||||
ru_RU,'Компилировать' ,'Ctrl+F9',Compile ,\
|
||||
ru_RU,'-','',,\
|
||||
ru_RU,'Доска отладки' ,'' ,DbgBoard,\
|
||||
ru_RU,'Системные функции','' ,SysFuncs,\
|
||||
\
|
||||
en_US,'Run' ,'F9' ,Run ,\
|
||||
en_US,'Run in debugger' ,'F10' ,Debug ,\
|
||||
en_US,'Compile' ,'Ctrl+F9',Compile ,\
|
||||
en_US,'-','',,\
|
||||
en_US,'Debug board' ,'' ,DbgBoard,\
|
||||
en_US,'System functions' ,'' ,SysFuncs,\
|
||||
\
|
||||
it_IT,'Correre' ,'F9' ,Run ,\
|
||||
it_IT,'Esegui nel debugger','F10',Debug ,\
|
||||
it_IT,'Compilare','Ctrl+F9',Compile ,\
|
||||
it_IT,'-','',,\
|
||||
it_IT,'Scheda di debug' ,'' ,DbgBoard,\
|
||||
it_IT,'Funzioni di sistema','' ,SysFuncs,\
|
||||
\
|
||||
et_EE,'Kфivita' ,'F9' ,Run ,\
|
||||
et_EE,'Kфivita aastal siluri','F10',Debug ,\
|
||||
et_EE,'Kompileeri' ,'Ctrl+F9',Compile ,\
|
||||
et_EE,'-','',,\
|
||||
et_EE,'Silumis paneel' ,'' ,DbgBoard,\
|
||||
et_EE,'S№steemi funktsioonid','' ,SysFuncs,\
|
||||
\
|
||||
es_ES,'Ejecutar' ,'F9' ,Run ,\
|
||||
es_ES,'Ejecutar en el depurador','F10',Debug,\
|
||||
es_ES,'Compilar' ,'Ctrl+F9',Compile ,\
|
||||
es_ES,'-','',,\
|
||||
es_ES,'Depuraciєn' ,'' ,DbgBoard,\
|
||||
es_ES,'Funciones del sistema' ,'',SysFuncs
|
||||
|
||||
popup_res mm.Encoding,\
|
||||
@!,<'CP866 ',0x1A,' CP1251'>,'',CP866.CP1251,\
|
||||
@!,<'CP1251 ',0x1A,' CP866' >,'',CP1251.CP866,\
|
||||
@!,<'-'>,'',,\
|
||||
@!,<'CP866 ',0x1A,' KOI8-R'>,'',CP866.KOI8R ,\
|
||||
@!,<'KOI8-R ',0x1A,' CP866' >,'',KOI8R.CP866 ,\
|
||||
@!,<'-'>,'',,\
|
||||
@!,<'CP1251 ',0x1A,' KOI8-R'>,'',CP1251.KOI8R,\
|
||||
@!,<'KOI8-R ',0x1A,' CP1251'>,'',KOI8R.CP1251
|
||||
|
||||
popup_res mm.Options,\
|
||||
ru_RU,'Увеличить' ,'Ctrl +',ZoomIn ,\
|
||||
ru_RU,'Уменьшить' ,'Ctrl -',ZoomOut ,\
|
||||
ru_RU,'-','',,\
|
||||
ru_RU,'Номера строк' ,'',LineNumbers ,\
|
||||
ru_RU,'Безопасное выделение' ,'',SecureSel ,\
|
||||
ru_RU,'Автоматические скобки' ,'',AutoBrackets,\
|
||||
ru_RU,'Автоматический отступ' ,'',AutoIndents ,\
|
||||
ru_RU,'Оптимальное сохранение' ,'',OptimalFill ,\
|
||||
ru_RU,'-','',,\
|
||||
ru_RU,'Внешний вид...' ,'',Appearance ,\
|
||||
\
|
||||
en_US,'Zoom in' ,'Ctrl +',ZoomIn ,\
|
||||
en_US,'Zoom out' ,'Ctrl -',ZoomOut ,\
|
||||
en_US,'-','',,\
|
||||
en_US,'Line numbers' ,'',LineNumbers ,\
|
||||
en_US,'Secure selection' ,'',SecureSel ,\
|
||||
en_US,'Automatic brackets' ,'',AutoBrackets,\
|
||||
en_US,'Automatic indents' ,'',AutoIndents ,\
|
||||
en_US,'Optimal fill on saving' ,'',OptimalFill ,\
|
||||
en_US,'-','',,\
|
||||
en_US,'Appearance...' ,'',Appearance ,\
|
||||
\
|
||||
it_IT,'Ingrandire' ,'Ctrl +',ZoomIn ,\
|
||||
it_IT,'Rimpicciolisci' ,'Ctrl -',ZoomOut ,\
|
||||
it_IT,'-','',,\
|
||||
it_IT,'Numeri di riga' ,'',LineNumbers ,\
|
||||
it_IT,'Selezione sicura' ,'',SecureSel ,\
|
||||
it_IT,'Staffe automatiche' ,'',AutoBrackets,\
|
||||
it_IT,'Rientri automatici' ,'',AutoIndents ,\
|
||||
it_IT,'Combina spazi' ,'',OptimalFill ,\
|
||||
it_IT,'-','',,\
|
||||
it_IT,'Aspetto...' ,'',Appearance ,\
|
||||
\
|
||||
et_EE,'Zoom in' ,'Ctrl +',ZoomIn ,\
|
||||
et_EE,'Zoom out' ,'Ctrl -',ZoomOut ,\
|
||||
et_EE,'-','',,\
|
||||
et_EE,'Rea numbrid' ,'',LineNumbers ,\
|
||||
et_EE,'Turvaline valimine' ,'',SecureSel ,\
|
||||
et_EE,'Automaatsed sulud' ,'',AutoBrackets,\
|
||||
et_EE,'Automaatsed taandread' ,'',AutoIndents ,\
|
||||
et_EE,'Optimaalne tфitmine salvestamisel','',OptimalFill,\
|
||||
et_EE,'-','',,\
|
||||
et_EE,'Vфlimus...' ,'',Appearance ,\
|
||||
\
|
||||
es_ES,'Zoom in' ,'Ctrl +',ZoomIn ,\
|
||||
es_ES,'Zoom out' ,'Ctrl -',ZoomOut ,\
|
||||
es_ES,'-','',,\
|
||||
es_ES,'N·meros en lэneas' ,'',LineNumbers ,\
|
||||
es_ES,'Selecciєn segura' ,'',SecureSel ,\
|
||||
es_ES,'Parщntesis automсticos' ,'',AutoBrackets,\
|
||||
es_ES,'Identaciєn automсtica' ,'',AutoIndents ,\
|
||||
es_ES,'Llenado єptimo al guardar','',OptimalFill ,\
|
||||
es_ES,'-','',,\
|
||||
es_ES,'Apariencia...' ,'',Appearance
|
||||
|
||||
lsz s_defname,\
|
||||
ru_RU,<'Безымянный',0>,\
|
||||
en_US,<'Untitled',0>,\
|
||||
it_IT,<'Senza titolo',0>,\
|
||||
et_EE,<'Nimetu',0>,\
|
||||
es_ES,<'Sin tэtulo',0>
|
||||
|
||||
lsz s_modified,\
|
||||
ru_RU,'Изменено',\
|
||||
en_US,'Modified',\
|
||||
it_IT,'Modificato',\
|
||||
et_EE,'Muudetud',\
|
||||
es_ES,'Modificado'
|
||||
|
||||
lsz s_2filename,\
|
||||
ru_RU,'Имя файла:',\
|
||||
en_US,'Filename:',\
|
||||
en_US,'Nome del file:',\
|
||||
et_EE,'Faili nimi:',\
|
||||
es_ES,'Nombre de archivo:'
|
||||
|
||||
lsz s_2open,\
|
||||
ru_RU,'Открыть',\
|
||||
en_US,'Open',\
|
||||
it_IT,'Aperto',\
|
||||
et_EE,'Ava',\
|
||||
es_ES,'Abrir'
|
||||
|
||||
lsz s_2save,\
|
||||
ru_RU,'Сохранить',\
|
||||
en_US,'Save',\
|
||||
it_IT,'Salva',\
|
||||
et_EE,'Salvesta',\
|
||||
es_ES,'Guardar'
|
||||
|
||||
lsz s_2save_no,\
|
||||
ru_RU,'Нет',\
|
||||
en_US,'No',\
|
||||
it_IT,'No',\
|
||||
et_EE,'Ei',\
|
||||
es_ES,'No'
|
||||
|
||||
lsz s_2find,\
|
||||
ru_RU,'Найти',\
|
||||
en_US,'Find',\
|
||||
it_IT,'Trova',\
|
||||
et_EE,'Leia',\
|
||||
es_ES,'Buscar'
|
||||
db ':'
|
||||
|
||||
lsz s_2replace,\
|
||||
ru_RU,'Заменить',\
|
||||
en_US,'Replace',\
|
||||
it_IT,'Sostituire',\
|
||||
et_EE,'Asenda',\
|
||||
es_ES,'Reemplazar'
|
||||
db ':'
|
||||
|
||||
lsz s_2cancel,\
|
||||
ru_RU,'Отмена',\
|
||||
en_US,'Cancel',\
|
||||
it_IT,'Annulla',\
|
||||
et_EE,'T№hista',\
|
||||
es_ES,'Cancelar'
|
||||
|
||||
lsz s_color,\
|
||||
ru_RU,'Цвет: 0x',\
|
||||
en_US,'Color: 0x',\
|
||||
it_IT,'Colore: 0x',\
|
||||
et_EE,'Vфrv: 0x',\
|
||||
es_ES,'Color: 0x'
|
||||
|
||||
lsz s_tabpos,\
|
||||
ru_RU,'Расположение закладок',\
|
||||
en_US,'Tabs placement',\
|
||||
it_IT,'Posizionamento delle schede',\
|
||||
et_EE,'Saki asetus',\
|
||||
es_ES,'Lugar de tabulador'
|
||||
|
||||
lsz s_enter_filename,\
|
||||
ru_RU,<'Введите имя файла',0>,\
|
||||
en_US,<'Enter filename',0>,\
|
||||
it_IT,<'Inserisci il nome del file',0>,\
|
||||
et_EE,<'Sisesta faili nimi',0>,\
|
||||
es_ES,<'Ingresa el nombre del archivo',0>
|
||||
|
||||
lsz s_ask_save,\
|
||||
ru_RU,<'Желаете сохранить?',0>,\
|
||||
en_US,<'Would you like to save?',0>,\
|
||||
it_IT,<'Vorresti salvare?',0>,\
|
||||
et_EE,<'Kas soovite salvestada?',0>,\
|
||||
es_ES,<'┐Quieres guardar?',0>
|
||||
|
||||
lsz s_enter_text_to_find,\
|
||||
ru_RU,<'Введите текст для поиска',0>,\
|
||||
en_US,<'Enter text to find',0>,\
|
||||
it_IT,<'Inserisci il testo per trovare',0>,\
|
||||
et_EE,<'Sisesta otsitav tekst',0>,\
|
||||
es_ES,<'Ingresa el texto a buscar',0>
|
||||
|
||||
lsz s_enter_text_to_replace,\
|
||||
ru_RU,<'Введите текст для замены',0>,\
|
||||
en_US,<'Enter text to replace',0>,\
|
||||
it_IT,<'Inserisci il testo da sostituire',0>,\
|
||||
et_EE,<'Sisesta asendatav tekst',0>,\
|
||||
es_ES,<'Ingresa el texto a reemplazar',0>
|
||||
|
||||
lsz s_text_not_found,\
|
||||
ru_RU,<'Достигнут конец файла, текст не найден',0>,\
|
||||
en_US,<'Reached end of file, text not found',0>,\
|
||||
it_IT,<'Raggiunta la fine del file, testo non trovato',0>,\
|
||||
et_EE,<'Faili lїpp, teksti ei leitud',0>,\
|
||||
es_ES,<'Se llegє al final del archivo, texto no encontrado',0>
|
||||
|
||||
lszc s_fs_error,b,\
|
||||
ru_RU,<'Операция завершена успешно (0)',0>,\
|
||||
ru_RU,<'',0>,\
|
||||
ru_RU,<'Функция не поддерживается для данной файловой системы (2)',0>,\
|
||||
ru_RU,<'Неизвестная файловая система (3)',0>,\
|
||||
ru_RU,<'',0>,\
|
||||
ru_RU,<'Невозможно открыть файл (5)',0>,\
|
||||
ru_RU,<'Операция завершена успешно (6)',0>,\
|
||||
ru_RU,<'Адрес находится за границами памяти программы (7)',0>,\
|
||||
ru_RU,<'На диске нет свободного места (8)',0>,\
|
||||
ru_RU,<'Таблица FAT уничтожена (9)',0>,\
|
||||
ru_RU,<'Доступ запрещён (10)',0>,\
|
||||
ru_RU,<'Ошибка устройства (11)',0>,\
|
||||
\
|
||||
en_US,<'Operation executed successfully (0)',0>,\
|
||||
en_US,<'',0>,\
|
||||
en_US,<'Function is not supported for the given filesystem (2)',0>,\
|
||||
en_US,<'Unknown filesystem (3)',0>,\
|
||||
en_US,<'',0>,\
|
||||
en_US,<'Unable to open file (5)',0>,\
|
||||
en_US,<'Operation executed successfully (6)',0>,\
|
||||
en_US,<'Pointer lies outside of application memory (7)',0>,\
|
||||
en_US,<'Disk is full (8)',0>,\
|
||||
en_US,<'FAT table is destroyed (9)',0>,\
|
||||
en_US,<'Access denied (10)',0>,\
|
||||
en_US,<'Device error (11)',0>,\
|
||||
\
|
||||
it_IT,<'Operazione eseguita correttamente (0)',0>,\
|
||||
it_IT,<'',0>,\
|
||||
it_IT,<'La funzione non e supportata per il file system specificato (2)', 0>, \
|
||||
it_IT,<'Unknown filesystem (3)',0>,\
|
||||
it_IT,<'',0>,\
|
||||
it_IT,<'Impossibile aprire il file (5)',0>,\
|
||||
it_IT,<'Operazione eseguita correttamente (6)',0>,\
|
||||
it_IT,<'Il puntatore si trova al di fuori della memoria dell',96,'applicazione (7)', 0>, \
|
||||
it_IT,<'Il disco e pieno (8)',0>,\
|
||||
it_IT,<'La tabella FAT e distrutta (9)',0>,\
|
||||
it_IT,<'Accesso negato (10)',0>,\
|
||||
it_IT,<'Errore dispositivo (11)',0>,\
|
||||
\
|
||||
et_EE,<'Operatsioon kфivitati edukalt (0)',0>,\
|
||||
et_EE,<'',0>,\
|
||||
et_EE,<'Failis№steem ei toeta funktsiooni (2)',0>,\
|
||||
et_EE,<'Tundmatu failis№steem (3)',0>,\
|
||||
et_EE,<'',0>,\
|
||||
et_EE,<'Faili ei suudetud avada (5)',0>,\
|
||||
et_EE,<'Operatsioon kфivitatud edukalt (6)',0>,\
|
||||
et_EE,<'Viit on vфljaspool programmi mфlu (7)',0>,\
|
||||
et_EE,<'Ketas tфis (8)',0>,\
|
||||
et_EE,<'FAT tabel hфvitatud (9)',0>,\
|
||||
et_EE,<'Juurdepффs keelatud (10)',0>,\
|
||||
et_EE,<'Seadme viga (11)',0>,\
|
||||
\
|
||||
es_ES,<'Operaciєn ejecutada correctamente (0)',0>,\
|
||||
es_ES,<'',0>,\
|
||||
es_ES,<'La funciєn no estс soportada por el sistema de archivos dado (2)',0>,\
|
||||
es_ES,<'Sistema de archivos desconocido (3)',0>,\
|
||||
es_ES,<'',0>,\
|
||||
es_ES,<'No es posible abrir el archivo (5)',0>,\
|
||||
es_ES,<'Operaciєn ejecutada correctamente (6)',0>,\
|
||||
es_ES,<'El puntero estс fuera de la memoria de la aplicaciєn (7)',0>,\
|
||||
es_ES,<'El disco estс lleno (8)',0>,\
|
||||
es_ES,<'La tabla FAT estс destruida (9)',0>,\
|
||||
es_ES,<'Acceso denegado (10)',0>,\
|
||||
es_ES,<'Error de dispositivo (11)',0>
|
||||
|
||||
lszc s_appearance,b,\
|
||||
ru_RU,'Текст',\
|
||||
ru_RU,'Фон',\
|
||||
ru_RU,'Текст выделения',\
|
||||
ru_RU,'Фон выделения',\
|
||||
ru_RU,'Символы',\
|
||||
ru_RU,'Числа',\
|
||||
ru_RU,'Строки',\
|
||||
ru_RU,'Комментарии',\
|
||||
ru_RU,'Изменёные строки',\
|
||||
ru_RU,'Сохранённые строки',\
|
||||
\
|
||||
en_US,'Text',\
|
||||
en_US,'Background',\
|
||||
en_US,'Selection text',\
|
||||
en_US,'Selection background',\
|
||||
en_US,'Symbols',\
|
||||
en_US,'Numbers',\
|
||||
en_US,'Strings',\
|
||||
en_US,'Comments',\
|
||||
en_US,'Modified lines',\
|
||||
en_US,'Saved lines',\
|
||||
\
|
||||
it_IT,'Testo',\
|
||||
it_IT,'Sfondo',\
|
||||
it_IT,'Testo di selezione',\
|
||||
it_IT,'Sfondo di selezione',\
|
||||
it_IT,'Simboli',\
|
||||
it_IT,'Numeri',\
|
||||
it_IT,'Stringhe',\
|
||||
it_IT,'Commenti',\
|
||||
it_IT,'Linee modificate',\
|
||||
it_IT,'Linee salvate',\
|
||||
\
|
||||
et_EE,'Tekst',\
|
||||
et_EE,'Taust',\
|
||||
et_EE,'Valitud tekst',\
|
||||
et_EE,'Valitud taust',\
|
||||
et_EE,'S№mbolid',\
|
||||
et_EE,'Numbrid',\
|
||||
et_EE,'Stringid',\
|
||||
et_EE,'Kommentaarid',\
|
||||
et_EE,'Muudetud read',\
|
||||
et_EE,'Salvestatud read',\
|
||||
\
|
||||
es_ES,'Texto',\
|
||||
es_ES,'Fondo',\
|
||||
es_ES,'Texto de selecciєn',\
|
||||
es_ES,'Fondo de selecciєn',\
|
||||
es_ES,'Sэmbolos',\
|
||||
es_ES,'N·meros',\
|
||||
es_ES,'Cadenas',\
|
||||
es_ES,'Comentarios',\
|
||||
es_ES,'Lэneas modificadas',\
|
||||
es_ES,'Lэneas guardadas'
|
||||
|
||||
lsz sysfuncs_filename,\
|
||||
ru_RU,<'SYSFUNCR.TXT',0>,\
|
||||
en_US,<'SYSFUNCS.TXT',0>,\
|
||||
it_IT,<'SYSFUNCS.TXT',0>,\
|
||||
et_EE,<'SYSFUNCET.TXT',0>,\
|
||||
es_ES,<'SYSFUNCS.TXT',0>
|
||||
|
||||
sz s_example,'/sys/example.asm'
|
||||
sz s_still ,'still'
|
||||
Reference in new issue
Block a user