cmm: uploading all, part 1
git-svn-id: svn://kolibrios.org@3363 a494cfbc-eb01-0410-851d-a64ba20cac60
@ -4,6 +4,7 @@
|
||||
//home icon - rachel fu, GPL licence
|
||||
|
||||
//libraries
|
||||
#define MEMSIZE 0x100000
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\figures.h"
|
||||
@ -42,7 +43,7 @@ proc_info Form;
|
||||
#define WIN_H 480
|
||||
|
||||
|
||||
dword stak[100]; //ìåíþ ÏÊÌ
|
||||
char stak[100]; //ìåíþ ÏÊÌ
|
||||
mouse m;
|
||||
|
||||
#include "TWB.h"
|
||||
@ -234,13 +235,13 @@ void Draw_Window()
|
||||
if (Form.width<280) MoveSize(OLD,OLD,280,OLD);
|
||||
|
||||
PutPaletteImage(#toolbar,200,42,0,0,8,#toolbar_pal);
|
||||
if (GetProcessSlot(downloader_id)<>0) PutImage(#stop_btn,24,24,88,10);
|
||||
if (GetProcessSlot(downloader_id)<>0) _PutImage(88,10, 24,24, #stop_btn);
|
||||
|
||||
DrawBar(200,0,onLeft(200,9),43,0xE4DFE1); //çàêðàøèâàåì ôîí ïîä òóëáàðîì
|
||||
DrawBar(0,42,onLeft(5,4),1,0xE2DBDC); //âûïóêëîñòü
|
||||
DrawBar(0,43,onLeft(5,4),1,0xD2CED0); //âûïóêëîñòü
|
||||
for (j=0; j<5; j++) DefineButton(j*37+11, 7, 29, 29, 300+j+BT_HIDE, 0xE4DFE1);
|
||||
PutImage(#URLgoto,40,19,onLeft(57,0),14);
|
||||
_PutImage(onLeft(57,0),14, 40,19, #URLgoto);
|
||||
DefineButton(onLeft(37,0),15, 18, 16, GOTOURL+BT_HIDE, 0xE4DFE1);
|
||||
DefineButton(onLeft(56,0),15, 17, 16, SEARCHWEB+BT_HIDE, 0xE4DFE1);
|
||||
DrawRectangle(205,14,onLeft(58,205),18,0x94AECE); //îáîäîê ïîëîñû àäðåñà
|
||||
|
@ -475,7 +475,7 @@ void TWebBrowser::ParseHTML(dword bword){
|
||||
if (line[strlen(#line)-1]==' ') break; //óáðàòü 2 ïðîáåëà ïîäðÿä
|
||||
if (!stolbec) && (!line) break; //ñòðîêà íå ìîæåò íà÷èíàòüñÿ ñ ïðîáåëà
|
||||
}
|
||||
if (strlen(#line)<sizeof(line)) strcat(#line, #bukva);
|
||||
if (strlen(#line)<sizeof(line)) chrcat(#line, bukva);
|
||||
|
||||
if (stolbec + strlen(#line) > lines.column_max)
|
||||
{
|
||||
@ -828,7 +828,6 @@ void Images(int left1, top1, width1)
|
||||
char img_path[4096], alt[4096];
|
||||
int w=0, h=0, img_lines_first=0, cur_pic=0;
|
||||
|
||||
if (GetFileInfo(libimg)<>0) return; //åñëè áèáëèîòåêè íåò
|
||||
do{
|
||||
if (!strcmp(#parametr,"src=")) //íàäî îáúåäèíèòü ñ GetNewUrl()
|
||||
{
|
||||
|
@ -1,6 +1,5 @@
|
||||
..\C--\c-- HTMLv.c /lst
|
||||
del HTMLv
|
||||
rename HTMLv.com HTMLv
|
||||
rem ..\C--\kpack HTMLv
|
||||
del warning.txt
|
||||
pause
|
||||
@del HTMLv
|
||||
@rename HTMLv.com HTMLv
|
||||
@del warning.txt
|
||||
@pause
|
@ -62,7 +62,7 @@ inline void Skew(dword x,y,w,h)
|
||||
CopyScreen(italic_buf, x+Form.left+2, y+Form.top+skin_height, w, h);
|
||||
|
||||
FOR (i=0;i*tile_height<h;i++)
|
||||
PutImage(w*3*tile_height*i+italic_buf,w,tile_height,x+shift-i+1,i*tile_height+y);
|
||||
_PutImage(x+shift-i+1,i*tile_height+y, w,tile_height, w*3*tile_height*i+italic_buf);
|
||||
|
||||
mem_Free(italic_buf);
|
||||
}
|
||||
|
67
programs/cmm/buildall.bat
Normal file
@ -0,0 +1,67 @@
|
||||
set BINDIR=C:\Users\111\Desktop\svn\programs\cmm\_bin
|
||||
md %BINDIR%
|
||||
cd %BINDIR%
|
||||
FOR %%A in (*.*) do del \Q "%%A"
|
||||
|
||||
cd ..\browser
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y htmlv %BINDIR%
|
||||
|
||||
cd ..\copyf
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y copyf %BINDIR%
|
||||
|
||||
cd ..\dicty
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y dicty %BINDIR%
|
||||
|
||||
cd ..\eolite
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y eolite %BINDIR%
|
||||
|
||||
cd ..\example
|
||||
cls
|
||||
call compile.bat
|
||||
|
||||
cd ..\installer
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y installer.kex %BINDIR%
|
||||
|
||||
cd ..\liza
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y liza_mail %BINDIR%
|
||||
|
||||
cd ..\end
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y end %BINDIR%
|
||||
|
||||
cd ..\notify
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y @notify %BINDIR%
|
||||
|
||||
cd ..\rb
|
||||
cls
|
||||
call compile_rus.bat
|
||||
copy /Y @rb %BINDIR%
|
||||
|
||||
cd ..\skinsel
|
||||
cls
|
||||
call compile.bat
|
||||
copy /Y skinsel %BINDIR%
|
||||
|
||||
cd ..\tmpdisk
|
||||
cls
|
||||
call compile_ru.bat
|
||||
copy /Y tmpdisk %BINDIR%
|
||||
|
||||
cd %BINDIR%
|
||||
FOR %%A in (*.*) do ..\c--\kpack "%%A"
|
||||
pause
|
@ -1,5 +0,0 @@
|
||||
del dicty
|
||||
..\C--\C-- dicty
|
||||
rename dicty.com dicty
|
||||
del warning.txt
|
||||
pause
|
@ -1,306 +0,0 @@
|
||||
//dict_path > cur_dict
|
||||
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\file_system.h"
|
||||
#include "..\lib\mem.h"
|
||||
#include "..\lib\dll.h"
|
||||
#include "..\lib\edit_box_lib.h"
|
||||
|
||||
unsigned char title[]= "Dictionary v1.0";
|
||||
unsigned char direction[] = "Translate direction:";
|
||||
unsigned char translate_caption[] = "Translate";
|
||||
unsigned char dict_not_found[] = "Dictionary not found";
|
||||
unsigned char dict_opened[] = "Dictionary loaded";
|
||||
unsigned char empty_word[] = "Type a word to translate";
|
||||
//char direction[] = "Íàïðàâëåíèå ïåðåâîäà:"w;
|
||||
|
||||
|
||||
int mouse_dd;
|
||||
edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b};
|
||||
|
||||
system_colors sc;
|
||||
proc_info Form;
|
||||
|
||||
unsigned char edword[4096], translate_result[4096], search_word[4096], cur_dict[4096];
|
||||
#define DEFAULT_DICT_DIRECROTY "dictionaries/"
|
||||
#define DEFAULT_DICT "eng - rus.dict";
|
||||
dword files_buf;
|
||||
dword buff, fsize;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
int id;
|
||||
word key;
|
||||
|
||||
mem_Init();
|
||||
load_dll2(boxlib, #edit_box_draw,0);
|
||||
|
||||
|
||||
program_path[strrchr(#program_path, '/')] = 0; //îáðåçàåì å¸ óðë äî ïîñëåäíåãî /
|
||||
strcpy(#program_path+strlen(#program_path), DEFAULT_DICT_DIRECROTY);
|
||||
SetCurDir(#program_path);
|
||||
|
||||
strcpy(#cur_dict, DEFAULT_DICT);
|
||||
OpenDictionary(#cur_dict);
|
||||
|
||||
if (param)
|
||||
{
|
||||
strcpy(#edword, #param);
|
||||
edit1.size=edit1.pos=strlen(#edword);
|
||||
Translate();
|
||||
}
|
||||
|
||||
SetEventMask(0x27);
|
||||
loop()
|
||||
{
|
||||
switch(WaitEvent())
|
||||
{
|
||||
case evMouse:
|
||||
edit_box_mouse stdcall (#edit1);
|
||||
break;
|
||||
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
if (id==1) ExitProcess();
|
||||
if (id==10)
|
||||
{
|
||||
Translate();
|
||||
DrawTranslation();
|
||||
}
|
||||
|
||||
if (id==11)
|
||||
{
|
||||
ShowDictList();
|
||||
break;
|
||||
}
|
||||
if (id==12)
|
||||
{
|
||||
Draw_Window();
|
||||
break;
|
||||
}
|
||||
|
||||
if (id>=20)
|
||||
{
|
||||
strcpy(#cur_dict, id-20*304+files_buf+72);
|
||||
OpenDictionary(#cur_dict);
|
||||
}
|
||||
break;
|
||||
|
||||
case evKey:
|
||||
key = GetKey();
|
||||
IF (key==013) //Enter
|
||||
{
|
||||
Translate();
|
||||
DrawTranslation();
|
||||
}
|
||||
|
||||
EAX=key<<8;
|
||||
edit_box_key stdcall(#edit1);
|
||||
|
||||
//LiveSearch();
|
||||
break;
|
||||
|
||||
case evReDraw:
|
||||
Draw_Window();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*void LiveSearch()
|
||||
{
|
||||
dword bj, i;
|
||||
byte IsNativeWord=1;
|
||||
unsigned char native[256];
|
||||
unsigned char bukovka;
|
||||
|
||||
for (bj=0; bj<fsize; bj++;)
|
||||
{
|
||||
bukovka=ESBYTE[buff+bj];
|
||||
if (buff+bj==0x0a)
|
||||
{
|
||||
bj++;
|
||||
if (buff+bj!='"') IsNativeWord=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i=0; i<strlen(#edword); i++) if (edword[i]<>native[i]) goto __NE_RAVNO;
|
||||
debug(#native);
|
||||
__NE_RAVNO:
|
||||
native = '\0';
|
||||
IsNativeWord = 0;
|
||||
}
|
||||
if (IsNativeWord==1) native[strlen(#native)] = bukovka;
|
||||
}
|
||||
}*/
|
||||
|
||||
|
||||
void Translate()
|
||||
{
|
||||
dword tj;
|
||||
char w_native[100], w_translation[100], bukva[1];
|
||||
|
||||
byte InfType;
|
||||
#define NATIVE_WORD 0
|
||||
#define TRANSLATION 1
|
||||
#define IGNORE 2
|
||||
|
||||
if (!fsize) return;
|
||||
|
||||
translate_result = 0;
|
||||
strcpy(#search_word, #edword);
|
||||
strupr(#search_word);
|
||||
|
||||
if (!edword)
|
||||
{
|
||||
strcpy(#translate_result, #empty_word);
|
||||
return;
|
||||
}
|
||||
|
||||
for (tj=0; tj<fsize; tj++;)
|
||||
{
|
||||
bukva = ESBYTE[buff+tj];
|
||||
switch (bukva)
|
||||
{
|
||||
case '"':
|
||||
if (w_translation)
|
||||
{
|
||||
if (!strcmp(#w_native, #search_word))
|
||||
{
|
||||
|
||||
if (translate_result) strcat(#translate_result, ", ");
|
||||
strcat(#translate_result, #w_translation);
|
||||
}
|
||||
else
|
||||
if (translate_result) return;
|
||||
|
||||
w_translation = w_native = 0;
|
||||
}
|
||||
InfType = TRANSLATION;
|
||||
break;
|
||||
case 0x0a:
|
||||
InfType = NATIVE_WORD;
|
||||
break;
|
||||
default:
|
||||
if (InfType==NATIVE_WORD)
|
||||
{
|
||||
strcat(#w_native, #bukva);
|
||||
//if (w_native<>search_word) InfType = IGNORE; //åñëè ïåðâàÿ áóêâà íå ñîâïàäàåò èãíîðèì âñ¸ ñëîâî
|
||||
}
|
||||
if (InfType==TRANSLATION) strcat(#w_translation, #bukva);
|
||||
}
|
||||
}
|
||||
if (!translate_result) strcpy(#translate_result, "Word is'nt found in the dictionary");
|
||||
}
|
||||
|
||||
|
||||
void OpenDictionary(dword dict_path)
|
||||
{
|
||||
dword j, words_count=0;
|
||||
|
||||
mem_Free(buff);
|
||||
buff = mem_Alloc(3500576);
|
||||
ReadFile(0, 3500576, buff, dict_path);
|
||||
IF (EAX<>6)
|
||||
{
|
||||
fsize=0;
|
||||
strcpy(#translate_result, #dict_not_found);
|
||||
Draw_Window();
|
||||
return;
|
||||
}
|
||||
fsize=EBX;
|
||||
|
||||
strcpy(#search_word, dict_path);
|
||||
strcpy(#translate_result, #dict_opened);
|
||||
Draw_Window();
|
||||
}
|
||||
|
||||
|
||||
void ShowDictList()
|
||||
{
|
||||
int j, fcount=10;
|
||||
|
||||
mem_Free(files_buf);
|
||||
files_buf= mem_Alloc(32);
|
||||
ReadDir(0, files_buf, #program_path);
|
||||
fcount=ESDWORD[files_buf+8];
|
||||
mem_Free(files_buf);
|
||||
files_buf = mem_Alloc(fcount+1*304+32);
|
||||
|
||||
ReadDir(fcount, files_buf, #program_path);
|
||||
|
||||
fcount-=2;
|
||||
mem_Move(files_buf,files_buf+608,fcount*304);
|
||||
|
||||
|
||||
DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button);
|
||||
for (j=0; j<fcount; j++;)
|
||||
{
|
||||
DefineButton(edit1.left+130,j+1*20+35, 107,20, 20+j, sc.work_button);
|
||||
WriteText(edit1.left+130+8,j+1*20+35+7,0x80,sc.work_button_text, j*304+files_buf+72, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DrawTranslation()
|
||||
{
|
||||
int text_break=0;
|
||||
char tt[4096]='';
|
||||
|
||||
int y_pos=70, skin_height=GetSkinHeight();
|
||||
char draw_buf[4096];
|
||||
strcpy(#draw_buf, #translate_result);
|
||||
|
||||
DrawBar(0, y_pos, Form.width-9, Form.height - y_pos-skin_height-4, 0xFFFFFF);
|
||||
strttl(#draw_buf);
|
||||
WriteText(10+1, y_pos+8, 0x90, 0x800080, #search_word, 0);
|
||||
WriteText(10 , y_pos+8, 0x90, 0x800080, #search_word, 0);
|
||||
while (draw_buf)
|
||||
{
|
||||
text_break= Form.width/6-6;
|
||||
if (text_break>strlen(#draw_buf))
|
||||
{
|
||||
WriteText(10, y_pos+21, 0x80, 0, #draw_buf, 0);
|
||||
return;
|
||||
}
|
||||
while (draw_buf[text_break]<>' ') && (text_break>0) text_break--;
|
||||
strcpy(#tt, #draw_buf+text_break+1);
|
||||
draw_buf[text_break]=0x0;
|
||||
WriteText(10, y_pos+21, 0x80, 0, #draw_buf, 0);
|
||||
strcpy(#draw_buf, #tt);
|
||||
y_pos+=12;
|
||||
if (y_pos+24+skin_height+12>Form.height) return; //÷òîá íå çàëåçàëî íà íèæíèé îáîäîê
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Draw_Window()
|
||||
{
|
||||
sc.get();
|
||||
DefineAndDrawWindow(215,120,400,250,0x73,sc.work,#title);
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
if (Form.status_window>2) return; //åñëè ñâåðíóòî â çàãîëîâîê, íè÷åãî íå ðèñóåì
|
||||
if (Form.height<140) MoveSize(OLD,OLD,OLD,140);
|
||||
if (Form.width<400) MoveSize(OLD,OLD,400,OLD);
|
||||
|
||||
DrawBar(0, 0, Form.width-9, 69, sc.work);
|
||||
edit1.focus_border_color=sc.work_graph;
|
||||
edit1.width=Form.width-edit1.left-edit1.left-9;
|
||||
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
||||
DefineButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button);
|
||||
WriteText(edit1.left+edit1.width-80+14,35+7,0x80,sc.work_button_text,#translate_caption, 0);
|
||||
DrawBar(0, 69, Form.width-9, 1, sc.work_graph);
|
||||
|
||||
WriteText(edit1.left,35+7,0x80,sc.work_text,#direction, 0);
|
||||
DefineButton(edit1.left+130,35, 120,20, 11, sc.work_button);
|
||||
WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19", 0);
|
||||
DrawBar(edit1.left+130+1,36, 107,19, 0xFFFFFF);
|
||||
WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict, 0);
|
||||
|
||||
DrawTranslation();
|
||||
}
|
||||
|
||||
|
||||
stop:
|
5
programs/cmm/dicty/compile.bat
Normal file
@ -0,0 +1,5 @@
|
||||
..\C--\C-- dicty
|
||||
@del dicty
|
||||
@rename dicty.com dicty
|
||||
@del warning.txt
|
||||
@pause
|
@ -1,53 +1,54 @@
|
||||
#define MEMSIZE 0x8000
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\file_system.h"
|
||||
#include "..\lib\mem.h"
|
||||
#include "..\lib\file_system.h"
|
||||
#include "..\lib\figures.h"
|
||||
#include "..\lib\dll.h"
|
||||
#include "..\lib\edit_box_lib.h"
|
||||
|
||||
char title[]= "Dictionary v1.0";
|
||||
|
||||
unsigned char speaker[23*40*3]= FROM "speaker.raw";
|
||||
char title[]= "Dictionary v1.3";
|
||||
char direction[] = "Translate direction:";
|
||||
char translate_caption[] = "Translate";
|
||||
char dict_not_found[] = "Dictionary not found";
|
||||
char dict_opened[] = "Dictionary loaded";
|
||||
char empty_word[] = "Type a word to translate";
|
||||
//char direction[] = "Íàïðàâëåíèå ïåðåâîäà:"w;
|
||||
|
||||
|
||||
int mouse_dd;
|
||||
edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b};
|
||||
|
||||
system_colors sc;
|
||||
proc_info Form;
|
||||
|
||||
char edword[4096], translate_result[4096], search_word[4096], cur_dict[4096];
|
||||
#define DEFAULT_DICT_DIRECROTY "dictionaries/"
|
||||
#define DEFAULT_DICT "eng - rus.dict";
|
||||
dword files_buf;
|
||||
dword buff, fsize;
|
||||
char edword[256], search_word[256], translate_result[4096], dict_folder[4096], cur_dict[256];
|
||||
#define DICT_DIRECROTY "dictionaries"
|
||||
#define PRONOUNCED_FILE "/tmp9/1/dicty/pronounced.txt"
|
||||
#define SPEECH_PATH "/tmp9/1/media/speech/speech"
|
||||
dword dir_buf, file_buf, fsize;
|
||||
|
||||
int mouse_dd, speaker_id;
|
||||
edit_box edit1= {200,20,16,0xffffff,0x94AECE,0x94AECE,0x94AECE,0,248,#edword,#mouse_dd,100000000000010b};
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
int id;
|
||||
word key;
|
||||
|
||||
int id, key;
|
||||
mem_Init();
|
||||
load_dll2(boxlib, #edit_box_draw,0);
|
||||
|
||||
|
||||
program_path[strrchr(#program_path, '/')] = 0; //îáðåçàåì å¸ óðë äî ïîñëåäíåãî /
|
||||
strcpy(#program_path+strlen(#program_path), DEFAULT_DICT_DIRECROTY);
|
||||
SetCurDir(#program_path);
|
||||
|
||||
strcpy(#cur_dict, DEFAULT_DICT);
|
||||
OpenDictionary(#cur_dict);
|
||||
program_path[strrchr(#program_path, '/')] = 0;
|
||||
strcpy(#dict_folder, #program_path);
|
||||
strcat(#dict_folder, DICT_DIRECROTY);
|
||||
SetCurDir(#dict_folder);
|
||||
OpenDictionary(0);
|
||||
|
||||
if (param)
|
||||
{
|
||||
strcpy(#edword, #param);
|
||||
edit1.size=edit1.pos=strlen(#edword);
|
||||
Translate();
|
||||
DrawTranslation();
|
||||
edit_box_draw stdcall(#edit1);
|
||||
}
|
||||
|
||||
SetEventMask(0x27);
|
||||
@ -62,28 +63,25 @@ void main()
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
if (id==1) ExitProcess();
|
||||
if (id==10)
|
||||
if (id==10) { Translate(); DrawTranslation(); }
|
||||
if (id==11) ShowDictList();
|
||||
if (id==12) DrawWindowContent();
|
||||
if (id==15)
|
||||
{
|
||||
Translate();
|
||||
DrawTranslation();
|
||||
}
|
||||
|
||||
if (id==11)
|
||||
if (GetProcessSlot(speaker_id)!=0))
|
||||
{
|
||||
ShowDictList();
|
||||
break;
|
||||
KillProcess(speaker_id);
|
||||
pause(50);
|
||||
}
|
||||
if (id==12)
|
||||
else
|
||||
{
|
||||
Draw_Window();
|
||||
break;
|
||||
if (WriteFile(strlen(#translate_result)+1, #translate_result, PRONOUNCED_FILE)!=0) break;
|
||||
pause(50);
|
||||
speaker_id = RunProgram(SPEECH_PATH, PRONOUNCED_FILE);
|
||||
}
|
||||
|
||||
if (id>=20)
|
||||
{
|
||||
strcpy(#cur_dict, id-20*304+files_buf+72);
|
||||
OpenDictionary(#cur_dict);
|
||||
SpeakerDraw(Form.cwidth-38, Form.cheight-32);
|
||||
}
|
||||
if (id>=20) OpenDictionary(id - 20);
|
||||
break;
|
||||
|
||||
case evKey:
|
||||
@ -96,88 +94,48 @@ void main()
|
||||
|
||||
EAX=key<<8;
|
||||
edit_box_key stdcall(#edit1);
|
||||
|
||||
//LiveSearch();
|
||||
break;
|
||||
|
||||
case evReDraw:
|
||||
Draw_Window();
|
||||
DrawWindowContent();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Draw_Window()
|
||||
void DrawWindowContent()
|
||||
{
|
||||
sc.get();
|
||||
DefineAndDrawWindow(215,120,400,250,0x73,sc.work,#title);
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
if (Form.status_window>2) return; //åñëè ñâåðíóòî â çàãîëîâîê, íè÷åãî íå ðèñóåì
|
||||
if (Form.status_window>2) return;
|
||||
if (Form.height<140) MoveSize(OLD,OLD,OLD,140);
|
||||
if (Form.width<400) MoveSize(OLD,OLD,400,OLD);
|
||||
|
||||
DrawBar(0, 0, Form.width-9, 69, sc.work);
|
||||
edit1.focus_border_color=sc.work_graph;
|
||||
edit1.width=Form.width-edit1.left-edit1.left-9;
|
||||
edit_box_draw stdcall(#edit1); //ðèñóåì ñòðîêó àäðåñà
|
||||
DefineButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button);
|
||||
WriteText(edit1.left+edit1.width-80+14,35+7,0x80,sc.work_button_text,#translate_caption);
|
||||
|
||||
DrawBar(0, 0, Form.width-9, 69, sc.work);
|
||||
edit_box_draw stdcall(#edit1);
|
||||
DrawCaptButton(edit1.left+edit1.width-80,35, 80,20, 10, sc.work_button, sc.work_button_text,#translate_caption);
|
||||
DrawBar(0, 69, Form.width-9, 1, sc.work_graph);
|
||||
|
||||
WriteText(edit1.left,35+7,0x80,sc.work_text,#direction);
|
||||
DefineButton(edit1.left+130,35, 120,20, 11, sc.work_button);
|
||||
WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19");
|
||||
DrawBar(edit1.left+130+1,36, 107,19, 0xFFFFFF);
|
||||
WriteText(edit1.left+130+112,35+7,0x80,sc.work_button_text,"\x19");
|
||||
WriteText(edit1.left+130+8,35+7,0x80,0x000000,#cur_dict);
|
||||
|
||||
|
||||
DrawTranslation();
|
||||
}
|
||||
|
||||
|
||||
void OpenDictionary(dword dict_path)
|
||||
void SpeakerDraw(dword x, y)
|
||||
{
|
||||
dword j, words_count=0;
|
||||
|
||||
mem_Free(buff);
|
||||
buff = mem_Alloc(3500576);
|
||||
ReadFile(0, 3500576, buff, dict_path);
|
||||
IF (EAX<>6)
|
||||
{
|
||||
fsize=0;
|
||||
strcpy(#translate_result, #dict_not_found);
|
||||
Draw_Window();
|
||||
return;
|
||||
}
|
||||
fsize=EBX;
|
||||
|
||||
strcpy(#search_word, dict_path);
|
||||
strcpy(#translate_result, #dict_opened);
|
||||
Draw_Window();
|
||||
}
|
||||
|
||||
void ShowDictList()
|
||||
{
|
||||
int j, fcount=10;
|
||||
|
||||
mem_Free(files_buf);
|
||||
files_buf= mem_Alloc(32);
|
||||
ReadDir(0, files_buf, #program_path);
|
||||
fcount=ESDWORD[files_buf+8];
|
||||
mem_Free(files_buf);
|
||||
files_buf = mem_Alloc(fcount+1*304+32);
|
||||
|
||||
ReadDir(fcount, files_buf, #program_path);
|
||||
|
||||
fcount-=2;
|
||||
memmov(files_buf,files_buf+608,fcount*304);
|
||||
|
||||
|
||||
DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button);
|
||||
for (j=0; j<fcount; j++;)
|
||||
{
|
||||
DefineButton(edit1.left+130,j+1*20+35, 107,20, 20+j, sc.work_button);
|
||||
WriteText(edit1.left+130+8,j+1*20+35+7,0x80,sc.work_button_text, j*304+files_buf+72);
|
||||
}
|
||||
if (!strstr(#cur_dict, "- rus")) return;
|
||||
DefineButton(x-5, y-5, 23+10, 20+9, 15+BT_HIDE+BT_NOFRAME, 0);
|
||||
if (GetProcessSlot(speaker_id)==0)) _PutImage(x, y, 23,20, #speaker); else _PutImage(x, y, 23,20, 23*20*3+#speaker);
|
||||
}
|
||||
|
||||
void Translate()
|
||||
@ -191,6 +149,7 @@ void Translate()
|
||||
#define IGNORE 2
|
||||
|
||||
if (!fsize) return;
|
||||
KillProcess(speaker_id);
|
||||
|
||||
translate_result = 0;
|
||||
strcpy(#search_word, #edword);
|
||||
@ -204,7 +163,7 @@ void Translate()
|
||||
|
||||
for (tj=0; tj<fsize; tj++;)
|
||||
{
|
||||
bukva = ESBYTE[buff+tj];
|
||||
bukva = ESBYTE[file_buf+tj];
|
||||
switch (bukva)
|
||||
{
|
||||
case '"':
|
||||
@ -229,36 +188,78 @@ void Translate()
|
||||
default:
|
||||
if (InfType==NATIVE_WORD)
|
||||
{
|
||||
strcat(#w_native, #bukva);
|
||||
chrcat(#w_native, bukva);
|
||||
//if (w_native<>search_word) InfType = IGNORE; //åñëè ïåðâàÿ áóêâà íå ñîâïàäàåò èãíîðèì âñ¸ ñëîâî
|
||||
}
|
||||
if (InfType==TRANSLATION) strcat(#w_translation, #bukva);
|
||||
if (InfType==TRANSLATION) chrcat(#w_translation, bukva);
|
||||
}
|
||||
}
|
||||
if (!translate_result) strcpy(#translate_result, "Word is'nt found in the dictionary");
|
||||
}
|
||||
|
||||
|
||||
void OpenDictionary(dword fileid)
|
||||
{
|
||||
if (!dir_buf) ShowDictList();
|
||||
if (!dir_buf) strcpy(#cur_dict, "none");
|
||||
else strcpy(#cur_dict, fileid*304+dir_buf+72);
|
||||
fsize = ESDWORD[fileid*304 + dir_buf+64];
|
||||
|
||||
free(file_buf);
|
||||
file_buf = malloc(fsize);
|
||||
ReadFile(0, fsize, file_buf, #cur_dict);
|
||||
IF (EAX<>0)
|
||||
{
|
||||
fsize = 0;
|
||||
strcpy(#search_word, "Error #");
|
||||
strcat(#search_word, itoa(EAX));
|
||||
strcpy(#translate_result, #dict_not_found);
|
||||
DrawWindowContent();
|
||||
return;
|
||||
}
|
||||
strcpy(#search_word, #cur_dict);
|
||||
strcpy(#translate_result, #dict_opened);
|
||||
DrawWindowContent();
|
||||
}
|
||||
|
||||
|
||||
void ShowDictList()
|
||||
{
|
||||
int j, fcount, error;
|
||||
|
||||
free(dir_buf);
|
||||
error = GetDir(#dir_buf, #fcount, #dict_folder);
|
||||
if (!error)
|
||||
{
|
||||
DefineButton(0,0, Form.width,Form.height, 12+BT_HIDE+BT_NOFRAME, sc.work_button);
|
||||
for (j=0; j<fcount; j++;)
|
||||
{
|
||||
DefineButton(edit1.left+130,j+1*20+35, 107,20, 20+j, sc.work_button);
|
||||
WriteText(edit1.left+130+8,j+1*20+35+7,0x80,sc.work_button_text, j*304+dir_buf+72);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DrawTranslation()
|
||||
{
|
||||
int text_break=0;
|
||||
char tt[4096]='';
|
||||
|
||||
int y_pos=70, skin_height=GetSkinHeight();
|
||||
int y_pos=70;
|
||||
char draw_buf[4096];
|
||||
strcpy(#draw_buf, #translate_result);
|
||||
|
||||
DrawBar(0, y_pos, Form.width-9, Form.height - y_pos-skin_height-4, 0xFFFFFF);
|
||||
DrawBar(0, y_pos, Form.width-9, Form.cheight - y_pos, 0xFFFFFF);
|
||||
strttl(#draw_buf);
|
||||
WriteText(10+1, y_pos+8, 0x90, 0x800080, #search_word);
|
||||
WriteText(10 , y_pos+8, 0x90, 0x800080, #search_word);
|
||||
WriteTextB(10+1, y_pos+8, 0x90, 0x800080, #search_word);
|
||||
while (draw_buf)
|
||||
{
|
||||
text_break= Form.width/6-6;
|
||||
if (text_break>strlen(#draw_buf))
|
||||
{
|
||||
WriteText(10, y_pos+21, 0x80, 0, #draw_buf);
|
||||
return;
|
||||
break;
|
||||
}
|
||||
while (draw_buf[text_break]<>' ') && (text_break>0) text_break--;
|
||||
strcpy(#tt, #draw_buf+text_break+1);
|
||||
@ -266,8 +267,9 @@ void DrawTranslation()
|
||||
WriteText(10, y_pos+21, 0x80, 0, #draw_buf);
|
||||
strcpy(#draw_buf, #tt);
|
||||
y_pos+=12;
|
||||
if (y_pos+24+skin_height+12>Form.height) return; //÷òîá íå çàëåçàëî íà íèæíèé îáîäîê
|
||||
if (y_pos+24+8>Form.cheight) break; //÷òîá íå çàëåçàëî íà íèæíèé îáîäîê
|
||||
}
|
||||
SpeakerDraw(Form.cwidth-38, Form.cheight-32);
|
||||
}
|
||||
|
||||
|
BIN
programs/cmm/dicty/speaker.ico
Normal file
After Width: | Height: | Size: 7.6 KiB |
1
programs/cmm/dicty/speaker.raw
Normal file
@ -0,0 +1 @@
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蓙鴪<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鴪鯒津播爆煇<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>都<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D;A孀<41><E5AD80><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>遧竑杷把梅渤<E6A285><E6B8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蜑<EFBFBD>mgkC;AC;A澱<41><E6BEB1><EFBFBD><EFBFBD>裴衢瞥諡<E79EA5><E8ABA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>渟淒吐蒜副弡<E589AF><E5BCA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汎<EFBFBD>SJPE<BE<BE<B澱<42><E6BEB1><EFBFBD><EFBFBD>玳瀏吐棉油<E6A389><E6B2B9><EFBFBD><EFBFBD>嵭刕独氾煤珀<E785A4><E78F80><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G?EF>DF>DF>DF>D澱<44><E6BEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>吐氾賠竇<E8B3A0><E7AB87><EFBFBD><EFBFBD><EFBFBD><EFBFBD>樛榿吐緬<E59090><E7B7AC><EFBFBD><EFBFBD>窶甍<E7AAB6>綿<EFBFBD><E7B6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>H?EH?EH?EH?EH?EH?E禿<45><E7A6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>掎挌波曜満<E69B9C><E6BA80><EFBFBD><EFBFBD>迯軾波版毘都<E6AF98><EFA8A6><EFBFBD>IAG{ty<74><79><EFBFBD>gafIAGIAGIAGIAGIAGIAG督<47><E79DA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>韶霾波頁備<E9A081><E58299><EFBFBD><EFBFBD><EFBFBD><EFBFBD>波頁非鴦<E99D9E><E9B4A6><EFBFBD>KBH<42>{<7B><><EFBFBD><EFBFBD>c\aKBHKBHKBHKBHKBHKBH氾<48><E6B0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嶹劦波頁肥銕<E882A5><E98A95><EFBFBD><EFBFBD><EFBFBD>波頁緋謖<E7B78B><E8AC96><EFBFBD>LDJ<44><4A><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_X^LDJLDJLDJLDJLDJLDJ氾<4A><E6B0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>綿綿琶聽<E790B6><E881BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>藁亙琶籵<E790B6><E7B1B5><EFBFBD><EFBFBD>NEK<45><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bZ_NEKNEKNEKNEKNEKNEK氾<4B><E6B0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>量綿畔聽<E79594><E881BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>冦亙畔粐<E79594><E7B290><EFBFBD><EFBFBD>OFL<46>|<7C><><EFBFBD><EFBFBD>hafOFLOFLOFLOFLOFLOFL錨<4C><E98CA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嶹勛畔免菩銕<E88FA9><E98A95><EFBFBD><EFBFBD><EFBFBD>畔免簿跛<E7B0BF><E8B79B><EFBFBD>QHN<48>{~<7E><><EFBFBD>pinQHNQHNQHNQHNQHNQHN米<4E><E7B1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>髑駝畔免峯<E5858D><E5B3AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>畔免報齠嶹奛矮髑<E79FAE><E9AB91><EFBFBD><EFBFBD>控<EFBFBD>TKQRIORIORIORIORIO米<4F><E7B1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>槞枳別侏<E588A5><E4BE8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>迯輒別綿愈鄕<E68488><E98495><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嗤<EFBFBD>d\aSKQSKQSKQSKQ僻<51><E583BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>別擁門肄<E99680><E88284><EFBFBD><EFBFBD><EFBFBD><EFBFBD>烟瀝別冢<E588A5><E586A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>闕<EFBFBD><E99795>y}ULRULRULR僻<52><E583BB><EFBFBD><EFBFBD>痿瀝別冢劑<E586A2><E58A91><EFBFBD><EFBFBD>嶹匀僕擁問邃<E5958F><E98283><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WOUVNT鉾<54><E989BE><EFBFBD><EFBFBD>蒿舁僕諡<E58395><E8ABA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>痼疝瞥量煉都<E78589><EFA8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>厠<EFBFBD><E58EA0><EFBFBD><EFBFBD>竟<EFBFBD><E7AB9F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>都綷摸楊翼痺<E7BFBC><E797BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鴃靉麺陵吏嶹<E5908F><E5B6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>聿髏<E881BF><E9AB8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>墹<EFBFBD><E5A2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>孑<EFBFBD>@8>D=C謚<43><E8AC9A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>都<EFBFBD><EFA8A6><EFBFBD><EFBFBD>D;A孀<41><E5AD80><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>闕<EFBFBD>G>DB9?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蜑<EFBFBD>mgkC;AC;A澱<41><E6BEB1><EFBFBD><EFBFBD>元<EFBFBD>TLR住<52><E4BD8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C;AJBH闕<48><E99795><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汎<EFBFBD>RJPD<BD<BD<B澱<42><E6BEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D<BSLQ<4C><51><EFBFBD><EFBFBD><EFBFBD>蒟<EFBFBD>G@ED<B<><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G?EF>DF>DF>DF>D澱<44><E6BEB1><EFBFBD><EFBFBD>掎<EFBFBD>F>DF>DΒ<44><CE92><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F>DVNT<4E><54><EFBFBD>痼甎<E797BC>綿<EFBFBD><E7B6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G?EG?EG?EG?EG?EG?E禿<45><E7A6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y~G?ESLQ都<51><EFA8A6><EFBFBD><EFBFBD>西<EFBFBD>G?EG?E齟<45><E9BD9F><EFBFBD><EFBFBD>I@F{sx<73><78><EFBFBD>g_dI@FI@FI@FI@FI@FI@F督<46><E79DA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>綿<EFBFBD>I@FI@F窶<46><E7AAB6><EFBFBD><EFBFBD>毓<EFBFBD>I@FI@F慟<46><E6859F><EFBFBD><EFBFBD>JBH<42>{<7B><><EFBFBD><EFBFBD>c\aJBHJBHJBHJBHJBHJBH禿<48><E7A6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>裴<EFBFBD>JBHJBH涜<48><E6B69C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>KCIJBH執<48><E59FB7><EFBFBD><EFBFBD>LCI<43><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_W]LCILCILCILCILCILCI氾<49><E6B0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ULRLCI<43><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`X]LCI<43><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MEK<45><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bZ_MEKMEKMEKMEKMEKMEK氾<4B><E6B0BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VNTMEK<45><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bZ_MEK<45><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OFL<46>|<7C><><EFBFBD><EFBFBD>hafOFLOFLOFLOFLOFLOFL錨<4C><E98CA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>謚<EFBFBD>OFLOFL播<4C><E692AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PGMOFL深召<E6B7B1><E58FAC>PHN<48>{~<7E><><EFBFBD>oinPHNPHNPHNPHNPHNPHN米<4E><E7B1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>量<EFBFBD>PHNPHN粃<4E><E7B283><EFBFBD><EFBFBD>毫<EFBFBD>PHNPHN旒戈嶹繧糀髑<E7B380><E9AB91><EFBFBD>控<EFBFBD>TKQRIORIORIORIORIO米<4F><E7B1B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RIO]U[¬<><EFBFA2><EFBFBD><EFBFBD>胆<EFBFBD>RIORIO齠<4F><E9BDA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嗜<EFBFBD>d[`SJPSJPSJPSJP米<50><E7B1B3><EFBFBD><EFBFBD>毟<EFBFBD>SJPSJP<4A><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SJPbY_<59><5F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>闕<EFBFBD><E99795>y}ULRULRULR僻<52><E583BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ULRbZ_<5A><5F><EFBFBD><EFBFBD><EFBFBD>謚<EFBFBD>XOUULR<4C><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>WNTVMS鉾<53><E989BE><EFBFBD><EFBFBD>⑨<EFBFBD>ZQW昇<57><E69887><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VMS\SY闔<59><E99794><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>侘<EFBFBD><E4BE98><EFBFBD><EFBFBD>竟<EFBFBD><E7AB9F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>都<EFBFBD><EFA8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>髏<EFBFBD>\TZWOU<4F><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>防<EFBFBD>YPV]TZ諡<5A><E8ABA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¦鉎Й擁<D099><E69381><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
5
programs/cmm/end/compile.bat
Normal file
@ -0,0 +1,5 @@
|
||||
..\C--\C-- end.c
|
||||
@del end
|
||||
@rename end.com end
|
||||
@del warning.txt
|
||||
@pause
|
@ -1,3 +1,4 @@
|
||||
#define MEMSIZE 0x3E80
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\figures.h"
|
||||
#include "..\lib\strings.h"
|
||||
@ -38,19 +39,45 @@ dword stars_col[4]={0xD2CF19, 0x716900, 0x002041}; //0x005BFF -
|
||||
|
||||
|
||||
|
||||
:void ShadowScreen(dword img, w, h)
|
||||
{
|
||||
dword to = w*h*3 + img;
|
||||
for ( ; img < to; img+=4) { ESDWORD[img] >>= 1; $and ESDWORD[img], 7F7F7F7Fh }
|
||||
//for ( ; img < to; img+=4) { ESDWORD[img] >>= 2; $and ESDWORD[img], 3F3F3F3Fh }
|
||||
}
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
int key;
|
||||
dword s1,s2, s3, s4, sides_w;
|
||||
|
||||
pause(10);
|
||||
|
||||
mem_Init();
|
||||
WIN_SIZE_X=GetScreenWidth()+1;
|
||||
WIN_SIZE_Y=GetScreenHeight()+1;
|
||||
|
||||
PANEL_X=WIN_SIZE_X-PANEL_SIZE_X/2;
|
||||
PANEL_Y=WIN_SIZE_Y-PANEL_SIZE_Y/2;
|
||||
|
||||
sides_w = WIN_SIZE_X-PANEL_SIZE_X/2;
|
||||
s1 = mem_Alloc(WIN_SIZE_X*PANEL_Y*3);
|
||||
s2 = mem_Alloc(sides_w*PANEL_Y*3);
|
||||
s3 = mem_Alloc(sides_w*PANEL_Y*3);
|
||||
s4 = mem_Alloc(WIN_SIZE_X*PANEL_Y*3);
|
||||
|
||||
CopyScreen(s1, 0, 0, WIN_SIZE_X, PANEL_Y);
|
||||
ShadowScreen(s1, WIN_SIZE_X, PANEL_Y);
|
||||
|
||||
CopyScreen(s2, 0, PANEL_Y, sides_w, PANEL_SIZE_Y+1);
|
||||
ShadowScreen(s2, sides_w, PANEL_SIZE_Y+1);
|
||||
|
||||
CopyScreen(s3, sides_w+PANEL_SIZE_X+1, PANEL_Y, sides_w-1, PANEL_SIZE_Y+1);
|
||||
ShadowScreen(s3, sides_w, PANEL_SIZE_Y+1);
|
||||
|
||||
CopyScreen(s4, 0, PANEL_Y+PANEL_SIZE_Y+1, WIN_SIZE_X, PANEL_Y-1);
|
||||
ShadowScreen(s4, WIN_SIZE_X, PANEL_Y-1);
|
||||
|
||||
|
||||
goto _DRAW;
|
||||
loop()
|
||||
{
|
||||
WaitEventTimeout(130);
|
||||
@ -76,39 +103,22 @@ void main()
|
||||
break;
|
||||
|
||||
case evReDraw:
|
||||
draw_window();
|
||||
sc.get();
|
||||
DefineAndDrawWindow(0,0,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF);
|
||||
//_PutImage(0,0,WIN_SIZE_X,WIN_SIZE_Y,shadow_buf);
|
||||
_PutImage(0,0,WIN_SIZE_X, PANEL_Y,s1);
|
||||
draw_main_area(PANEL_X, PANEL_Y, PANEL_SIZE_X, PANEL_SIZE_Y);
|
||||
_PutImage(0,PANEL_Y,sides_w, PANEL_SIZE_Y+1,s2);
|
||||
_PutImage(sides_w+PANEL_SIZE_X+1,PANEL_Y,sides_w-1, PANEL_SIZE_Y+1,s3);
|
||||
_PutImage(0,PANEL_Y+PANEL_SIZE_Y+1,WIN_SIZE_X, PANEL_Y-1,s4);
|
||||
break;
|
||||
default:
|
||||
default: _DRAW:
|
||||
draw_stars();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void draw_window()
|
||||
{
|
||||
int x, y;
|
||||
sc.get();
|
||||
|
||||
DefineAndDrawWindow(0,0,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF);
|
||||
|
||||
draw_main_area(PANEL_X, PANEL_Y, PANEL_SIZE_X, PANEL_SIZE_Y);
|
||||
|
||||
//draw grid
|
||||
for (y=0; y<WIN_SIZE_Y; y++)
|
||||
{
|
||||
for (x=0; x<WIN_SIZE_X; x++)
|
||||
{
|
||||
if (y>PANEL_Y) && (y<PANEL_Y+PANEL_SIZE_Y) && (x==PANEL_X) x+=PANEL_SIZE_X; //íà ïàíåëè íå ðèñóåì
|
||||
if (! y&1) && (! x&1) {PutPixel(x, y, 0); continue;}
|
||||
if ( y&1) && ( x&1) PutPixel(x, y, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void draw_main_area()
|
||||
{
|
||||
int i=0;
|
||||
@ -151,7 +161,7 @@ void draw_stars()
|
||||
PutPixel(PANEL_X +x_pic, PANEL_Y +y_pic-1, stars_col[1]);
|
||||
}*/
|
||||
|
||||
PutImage(#moon,6,6, PANEL_X+PANEL_SIZE_X-60,PANEL_Y+10);
|
||||
_PutImage(PANEL_X+PANEL_SIZE_X-60,PANEL_Y+10, 6,6, #moon);
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 614 B After Width: | Height: | Size: 614 B |
817
programs/cmm/eolite/Eolite.c
Normal file
@ -0,0 +1,817 @@
|
||||
//Leency & Veliant 2008-2013
|
||||
//GNU GPL licence.
|
||||
|
||||
//êîïèðîâàòü ÷åðåç ïîòîê
|
||||
//èêîíêà äåéñòâèòåëüíî íóæíà äðóãàÿ äëÿ íåèçâåñíûõ óñòðîéñòâ è ïàïîê â áóäóþùåì.
|
||||
|
||||
//libraries
|
||||
#define MEMSIZE 0xA0000
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\mem.h"
|
||||
#include "..\lib\dll.h"
|
||||
#include "..\lib\lib.obj\box_lib.h"
|
||||
#include "..\lib\file_system.h"
|
||||
#include "..\lib\figures.h"
|
||||
//images
|
||||
#include "imgs\toolbar.txt"
|
||||
#include "imgs\left_p.txt"
|
||||
|
||||
int BUTTON_HEIGHT=18;
|
||||
|
||||
//for OpenDir
|
||||
#define ONLY_SHOW 0
|
||||
#define WITH_REDRAW 1
|
||||
#define ONLY_OPEN 2
|
||||
|
||||
//ïåðåìåííûå
|
||||
#define title "Eolite File Manager v1.62"
|
||||
dword col_work = 0xE4DFE1;
|
||||
dword col_border = 0x819FC5;
|
||||
dword col_padding = 0xC8C9C9;
|
||||
dword col_selec = 0x94AECE;
|
||||
dword col_lpanel = 0x00699C;
|
||||
|
||||
|
||||
int f_visible,
|
||||
count,
|
||||
za_kadrom,
|
||||
curbtn;
|
||||
|
||||
|
||||
byte cut_active,
|
||||
rename_active,
|
||||
del_active;
|
||||
byte show_actions=1,
|
||||
show_dev_name=1,
|
||||
sort_num=2,
|
||||
isdir;
|
||||
unsigned char
|
||||
path[4096],
|
||||
edit_path[4096],
|
||||
file_path[4096],
|
||||
file_name[4096],
|
||||
copy_file[4096],
|
||||
temp[4096];
|
||||
int scroll_size;
|
||||
|
||||
struct path_string {
|
||||
char Item[4096];
|
||||
};
|
||||
|
||||
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
||||
char tmp_disk_del_param[3]="d0\0";
|
||||
|
||||
dword file_mas[6898];
|
||||
int j, i, mouse_dd;
|
||||
int scroll_used;
|
||||
|
||||
proc_info Form;
|
||||
mouse m;
|
||||
dword buf, off; //äëÿ òåêñòà è áóôåðà
|
||||
|
||||
edit_box edit2= {250,213,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6};
|
||||
PathShow_data PathShow = {0, 17,250, 6, 250, 0, 0, 0x0, 0xFFFfff, #path, #edit_path, 0};
|
||||
PathShow_data FileShow = {0, 56,215, 6, 100, 0, 0, 0x0, 0xFFFfff, #file_name, #temp, 0};
|
||||
|
||||
inline fastcall signed int _strrchr( ESI,BL)
|
||||
{
|
||||
int jj=0, last=strlen(ESI);
|
||||
do{
|
||||
jj++;
|
||||
$lodsb
|
||||
IF(AL==BL) last=jj;
|
||||
} while(AL!=0);
|
||||
return last;
|
||||
}
|
||||
|
||||
#include "include\some_code.h"
|
||||
#include "include\about_dialog.h"
|
||||
#include "include\sorting.h"
|
||||
#include "include\icons_f.h"
|
||||
#include "include\ini.h"
|
||||
#include "include\left_panel.h"
|
||||
#include "include\history.h"
|
||||
|
||||
void main()
|
||||
{
|
||||
word key, id, can_show;
|
||||
int min_win_h;
|
||||
|
||||
mem_Init();
|
||||
if (load_dll2(boxlib, #box_lib_init,0)!=0) notify("Error while loading library /rd/1/lib/box_lib.obj");
|
||||
SetEventMask(0x27);
|
||||
GetSystemDiscs();
|
||||
GetIni(1);
|
||||
|
||||
if (param)
|
||||
{
|
||||
strcpy(#path, #param);
|
||||
if (strcmp(#path+strlen(#path)-1,"/")<>0) strcat(#path, "/"); //åñëè íåò, + "/"
|
||||
}
|
||||
else
|
||||
strcpy(#path, "/rd/1/");
|
||||
|
||||
Open_Dir(#path,ONLY_OPEN);
|
||||
loop() switch(WaitEvent())
|
||||
{
|
||||
case evMouse:
|
||||
IF (del_active) break;
|
||||
|
||||
id=GetProcessSlot(Form.ID);
|
||||
IF (id<>GetActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì
|
||||
|
||||
IF (rename_active) edit_box_mouse stdcall(#edit2);
|
||||
|
||||
m.get();
|
||||
|
||||
/*if (m.pkm) && (m.x > 192) && (m.y > 57) can_show = 1;
|
||||
if (!m.pkm) && (can_show)
|
||||
{
|
||||
SwitchToAnotherThread();
|
||||
CreateThread(#FileMenu,#stak2);
|
||||
can_show = 0;
|
||||
}*/
|
||||
|
||||
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>40) && (m.y<57)
|
||||
{
|
||||
IF (m.lkm==1) DrawRectangle3D(onLeft(26,0),41,14,14,0xC7C7C7,0xFFFFFF);
|
||||
WHILE (m.lkm==1) && (za_kadrom>0)
|
||||
{
|
||||
pause(10);
|
||||
za_kadrom--;
|
||||
List_ReDraw();
|
||||
m.get();
|
||||
}
|
||||
DrawRectangle3D(onLeft(26,0),41,14,14,0xFFFFFF,0xC7C7C7);
|
||||
}
|
||||
|
||||
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>onTop(22,0)+1) && (m.y<onTop(22,0)+16)
|
||||
{
|
||||
IF (m.lkm==1) DrawRectangle3D(onLeft(26,0),onTop(21,0),14,14,0xC7C7C7,0xFFFFFF);
|
||||
while (m.lkm==1) && (za_kadrom<count-f_visible)
|
||||
{
|
||||
pause(10);
|
||||
za_kadrom++;
|
||||
List_ReDraw();
|
||||
m.get();
|
||||
}
|
||||
DrawRectangle3D(onLeft(26,0),onTop(21,0),14,14,0xFFFFFF,0xC7C7C7);
|
||||
}
|
||||
|
||||
//êîë¸ñèêî ìûøè
|
||||
IF (m.vert==65535) && (za_kadrom>0)
|
||||
{
|
||||
if (za_kadrom>0) za_kadrom--;
|
||||
if (curbtn<f_visible-1) curbtn++;
|
||||
List_ReDraw();
|
||||
if (za_kadrom>0) za_kadrom--;
|
||||
if (curbtn<f_visible-1) curbtn++;
|
||||
List_ReDraw();
|
||||
}
|
||||
IF (m.vert==1) && (za_kadrom<count-f_visible)
|
||||
{
|
||||
if (za_kadrom<count-f_visible) za_kadrom++;
|
||||
if (curbtn>0) curbtn--;
|
||||
List_ReDraw();
|
||||
if (za_kadrom<count-f_visible) za_kadrom++;
|
||||
if (curbtn>0) curbtn--;
|
||||
List_ReDraw();
|
||||
}
|
||||
//ñêðîëë
|
||||
if (!m.lkm) && (scroll_used) { scroll_used=NULL; TVScroll(); }
|
||||
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) && (m.y<Form.height) && (m.lkm) && (!scroll_used) {scroll_used=1;TVScroll();}
|
||||
|
||||
if (scroll_used)
|
||||
{
|
||||
IF (scroll_size/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //åñëè êóðñîð íàä îêíîì
|
||||
id=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî
|
||||
j= scroll_size/2;
|
||||
za_kadrom = m.y -j -57 * count;
|
||||
za_kadrom /= onTop(22,57);
|
||||
IF (f_visible+za_kadrom>count) za_kadrom=count-f_visible;
|
||||
IF (id<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü
|
||||
}
|
||||
break;
|
||||
//Button pressed-----------------------------------------------------------------------------
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
IF (id==1) ExitProcess();
|
||||
|
||||
IF (del_active)
|
||||
{
|
||||
IF (id==301) || (id==302) Del_File(302-id);
|
||||
break;
|
||||
}
|
||||
switch(id)
|
||||
{
|
||||
case 21: //Back
|
||||
GoBack();
|
||||
break;
|
||||
case 22: //Forward
|
||||
if (HistoryPath(GO_FORWARD))
|
||||
{
|
||||
za_kadrom=curbtn=NULL; //ââåðõ ñïèñêà
|
||||
Open_Dir(#path,WITH_REDRAW);
|
||||
}
|
||||
break;
|
||||
case 23: //up!
|
||||
Dir_Up();
|
||||
break;
|
||||
case 24: //cut
|
||||
key=24;
|
||||
case 25: //copy
|
||||
goto CTRLC_MARK;
|
||||
case 26: //paste
|
||||
Paste();
|
||||
break;
|
||||
case 31...33: //sort
|
||||
IF(sort_num==1) DrawFilledBar(onLeft(192,168)/2+210,42,6,10);
|
||||
IF(sort_num==2) DrawFilledBar(onLeft(115,0),42,6,10);
|
||||
IF(sort_num==3) DrawFilledBar(onLeft(44,0),42,6,10);
|
||||
sort_num=id-30;
|
||||
Open_Dir(#path,1);
|
||||
break;
|
||||
case 30: //about
|
||||
SwitchToAnotherThread();
|
||||
CreateThread(#about_dialog,#stak1);
|
||||
break;
|
||||
case 77:
|
||||
IF (show_actions==1) show_actions=0; ELSE show_actions=1;
|
||||
DrawLeftPanel();
|
||||
break;
|
||||
case 78: //rescan devices
|
||||
Tip(56, "Devices", 78, "-");
|
||||
pause(10);
|
||||
GetIni(1);
|
||||
GetSystemDiscs();
|
||||
Open_Dir(#path,WITH_REDRAW);
|
||||
DrawLeftPanel();
|
||||
break;
|
||||
case 80: //rename
|
||||
goto REN_MARK;
|
||||
case 81: //Delete file
|
||||
Del_Form();
|
||||
break;
|
||||
case 82: //create folder
|
||||
NEW_FOLDER_MARK:
|
||||
strcpy(#temp, #path);
|
||||
strcat(#temp, "New folder");
|
||||
CreateDir(#temp);
|
||||
IF (!EAX){
|
||||
SelectFile("New folder");
|
||||
goto REN_MARK;
|
||||
}
|
||||
ELSE
|
||||
{
|
||||
Write_Error(EAX);
|
||||
ShowMessage("Folder can not be created.");
|
||||
}
|
||||
break;
|
||||
case 100...120:
|
||||
DEVICE_MARK:
|
||||
DrawRectangle3D(17,id-100*16+74,159,16, 0, 0); //âûäåëåíèå
|
||||
strcpy(#path, #disk_list[id-100].Item);
|
||||
za_kadrom=curbtn=0;
|
||||
Open_Dir(#path,1);
|
||||
pause(5);
|
||||
DrawRectangle3D(17,id-100*16+74,159,16, 0xFFFFFF, 0xFFFFFF);
|
||||
break;
|
||||
case 130...160:
|
||||
tmp_disk_del_param[1]=disk_list[id-130].Item[4];
|
||||
RunProgram("/sys/tmpdisk", #tmp_disk_del_param);
|
||||
pause(10);
|
||||
GetSystemDiscs();
|
||||
Open_Dir(#path,WITH_REDRAW);
|
||||
DrawLeftPanel();
|
||||
break;
|
||||
default:
|
||||
if (id<200) break; //êíîïêè èç ñïèñêà ôàéëîâ
|
||||
if (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;}
|
||||
else
|
||||
{
|
||||
OPEN_MARK:
|
||||
if (!isdir)
|
||||
{
|
||||
GetIni(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!strcmp(#file_name,"..")) { Dir_Up(); break; }
|
||||
OPEN_DEV:
|
||||
strcpy(#path, #file_path);
|
||||
IF (strcmp(#path+strlen(#path)-1,"/")<>0) strcat(#path,"/"); //åñëè íåò, + "/"
|
||||
za_kadrom=curbtn=0;
|
||||
Open_Dir(#path,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
//Key pressed-----------------------------------------------------------------------------
|
||||
case evKey:
|
||||
key = GetKey();
|
||||
if (Form.status_window>2) break;
|
||||
IF (del_active)
|
||||
{
|
||||
IF (key==013) Del_File(true);
|
||||
IF (key==027) Del_File(false);
|
||||
break;
|
||||
}
|
||||
IF (edit2.flags<>64) && (key<>13) && (key<>27)
|
||||
{
|
||||
EAX=key<<8;
|
||||
edit_box_key stdcall (#edit2);
|
||||
break;
|
||||
}
|
||||
switch (key)
|
||||
{
|
||||
case 209...217:
|
||||
id=key-110;
|
||||
IF (id-100>=disc_num) break;
|
||||
GOTO DEVICE_MARK;
|
||||
case 8: //Íàçàä
|
||||
//GoBack();
|
||||
Dir_Up();
|
||||
break;
|
||||
case 004: //Ctrl+D ðèñ íà ðàá ñòîë ðàñòÿíóòü
|
||||
strcpy(#temp, "\\S__");
|
||||
strcat(#temp, #file_path);
|
||||
RunProgram("/sys/media/kiv", #temp);
|
||||
break;
|
||||
case 014: //Ctrl+N íîâîå îêíî
|
||||
IF (Form.left==98) MoveSize(Form.left-20,Form.top-20,OLD,OLD);
|
||||
RunProgram("/sys/File Managers/Eolite", #path);
|
||||
break;
|
||||
case 024: //Ctrl+X
|
||||
case 003: //Ctrl+C
|
||||
CTRLC_MARK:
|
||||
IF (isdir) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì
|
||||
strcpy(#copy_file, #file_path); //âû÷èñëÿåì êàêîé ôàéë êîïèðîâàòü
|
||||
IF (key==24) cut_active=1; ELSE cut_active=0;
|
||||
break;
|
||||
case 022: //Ctrl+V
|
||||
Paste();
|
||||
break;
|
||||
case 027: //Esc
|
||||
IF (rename_active==1) ReName(false);
|
||||
break;
|
||||
case 013: //Enter
|
||||
IF (rename_active==1) {ReName(true); break;}
|
||||
GOTO OPEN_MARK;
|
||||
break;
|
||||
case 55: //F6 - new folder
|
||||
goto NEW_FOLDER_MARK;
|
||||
case 56: //IF (rename_active==1) break;//up
|
||||
case 178: //up
|
||||
FileList_ReDraw(-1);
|
||||
break;
|
||||
case 177: //down
|
||||
FileList_ReDraw(1);
|
||||
break;
|
||||
case 180: //home
|
||||
za_kadrom=0;
|
||||
curbtn=0;
|
||||
List_ReDraw();
|
||||
break;
|
||||
case 181: //end
|
||||
za_kadrom=count-f_visible;
|
||||
curbtn=f_visible-1;
|
||||
List_ReDraw();
|
||||
break;
|
||||
case 183: //Page Down
|
||||
FileList_ReDraw(f_visible-1);
|
||||
break;
|
||||
case 184: //Page Up
|
||||
FileList_ReDraw(-f_visible+1);
|
||||
break;
|
||||
case 051: //Íàæàòà F2
|
||||
REN_MARK:
|
||||
if (!count) break;
|
||||
DeleteButton(curbtn+201); //ýòî ÷òîá ìîæíî áûëî âûäåëÿòü ìûøüþ
|
||||
edit2.flags=66; //äåëàåì êîìïîíåíò àêòèâíûì
|
||||
edit2.width=onLeft(24,217);
|
||||
edit2.top=curbtn*BUTTON_HEIGHT+59;
|
||||
edit2.size=edit2.pos=strlen(#file_name);
|
||||
edit_box_draw stdcall (#edit2);
|
||||
DrawBar(213,curbtn*BUTTON_HEIGHT+58,edit2.width+1,1,0xFFFFCC); //ïîëîñà æåëòàÿ ñâåðõó äëÿ îäèíàêîâîñòè
|
||||
rename_active=1;
|
||||
break;
|
||||
case 052: //Íàæàòà F3
|
||||
IF (!isdir) RunProgram("/sys/tinypad", #file_path);
|
||||
break;
|
||||
case 053: //Íàæàòà F4
|
||||
IF (!isdir) RunProgram("/sys/develop/heed", #file_path);
|
||||
break;
|
||||
case 054: //F5
|
||||
Open_Dir(#path,1);
|
||||
break;
|
||||
case 182: //delete file
|
||||
Del_Form();
|
||||
break;
|
||||
default:
|
||||
for (i=curbtn+za_kadrom+1; i<count; i++)
|
||||
{
|
||||
strcpy(#temp, file_mas[i]*304+buf+72);
|
||||
IF (temp[0]==key) || (temp[0]==key-32)
|
||||
{
|
||||
FileList_ReDraw(i-curbtn-za_kadrom);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case evReDraw:
|
||||
DefineAndDrawWindow(40,20,550,500,0x73,col_work,title);
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
if (Form.status_window>2) break;
|
||||
min_win_h = disc_num*16+195;
|
||||
if (Form.height < min_win_h) MoveSize(OLD,OLD,OLD,min_win_h);
|
||||
if (Form.width<480) MoveSize(OLD,OLD,480,OLD);
|
||||
draw_window();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
inline fastcall void draw_window()
|
||||
{
|
||||
//toolbar buttons
|
||||
PutPaletteImage(#toolbar,246,34,0,0,8,#toolbar_pal);
|
||||
for (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,col_work);
|
||||
for (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,col_work);
|
||||
//ïîëîñà àäðåñà
|
||||
DrawBar(246,0,onLeft(246,60),12, col_work); //ôîí íàä ïîëîñîé àäðåñà
|
||||
DrawBar(246,29,onLeft(246,60),5,col_work); //ôîí ïîä ïîëîñîé àäðåñà
|
||||
DrawRectangle3D(246,12,onLeft(66,246),16,col_border,col_border); //îáîäîê
|
||||
DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,col_work); //about
|
||||
PutPaletteImage(#goto_about,56,34,Form.width-65,0,8,#goto_about_pal);
|
||||
//ïðÿìîóãîëüíèêè âíóòðè
|
||||
DrawRectangle3D(1,40,Form.cwidth-3,onTop(46,0),col_border,col_border); //ñèíèé îáîäîê
|
||||
DrawRectangle3D(0,39,Form.cwidth-1,onTop(44,0),col_palette[4],col_palette[4]); //ôîí
|
||||
for (i=0; i<5; i++) DrawBar(0, 34+i, Form.cwidth, 1, col_palette[8-i]);
|
||||
DrawLeftPanel();
|
||||
//SortButtons
|
||||
DrawFlatButton(192,40,onLeft(192,168),16,31,col_work,"File");
|
||||
DrawFlatButton(onLeft(168,0),40,73,16,32,col_work,"Type");
|
||||
DrawFlatButton(onLeft(95,0),40,68,16,33,col_work,"Size");
|
||||
//Ïåðåðèñîâûâàåì ñïèñîê
|
||||
Open_Dir(#path,ONLY_SHOW);
|
||||
//ïðîêðóòêà
|
||||
DrawBar(onLeft(27,0),57,1,onTop(22,57),col_border); //ëèíèÿ ñëåâà îò ïðîêðóòêè
|
||||
DrawFlatButton(onLeft(27,0),40,16,16,0,col_work,"\x18"); //ïðîêðóòêà ââåðõ
|
||||
DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,col_work,"\x19");//ïðîêðóòêà âíèç
|
||||
if (del_active) Del_Form();
|
||||
DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,col_work); //about
|
||||
}
|
||||
|
||||
|
||||
void KEdit()
|
||||
{
|
||||
PathShow.area_size_x = Form.cwidth-306;
|
||||
DrawBar(PathShow.start_x-3, PathShow.start_y-4, PathShow.area_size_x+2, 15, 0xFFFfff);
|
||||
PathShow_prepare stdcall(#PathShow);
|
||||
PathShow_draw stdcall(#PathShow);
|
||||
}
|
||||
|
||||
|
||||
void FileList_ReDraw(int curbtn_)
|
||||
{
|
||||
if (curbtn_<=0) //ââåðõ
|
||||
{
|
||||
IF (za_kadrom==0) && (curbtn<=0) return;
|
||||
IF (-curbtn_-1<curbtn)
|
||||
{
|
||||
Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
|
||||
curbtn+=curbtn_;
|
||||
Line_ReDraw(col_selec, curbtn); //âûäåëåíèå
|
||||
return;
|
||||
}
|
||||
ELSE
|
||||
{
|
||||
IF (-curbtn_<za_kadrom) za_kadrom+=curbtn_; ELSE za_kadrom=0;
|
||||
curbtn=0;
|
||||
List_ReDraw();
|
||||
return;
|
||||
}
|
||||
}
|
||||
else //âíèç
|
||||
{
|
||||
IF (za_kadrom==count-f_visible) && (curbtn==f_visible-1) return;
|
||||
IF (f_visible-curbtn>curbtn_)
|
||||
{
|
||||
Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà
|
||||
curbtn+=curbtn_;
|
||||
Line_ReDraw(col_selec, curbtn); //âûäåëåíèå
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
IF(za_kadrom+curbtn+curbtn_>=count)
|
||||
{
|
||||
za_kadrom=count-f_visible;
|
||||
curbtn=curbtn_-za_kadrom+curbtn;
|
||||
}
|
||||
ELSE
|
||||
{
|
||||
za_kadrom+=curbtn_+curbtn-f_visible+1;
|
||||
curbtn=f_visible-1;
|
||||
}
|
||||
|
||||
IF (curbtn<0) || (curbtn>f_visible)
|
||||
{
|
||||
curbtn=f_visible-1;
|
||||
}
|
||||
List_ReDraw();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void List_ReDraw()
|
||||
{
|
||||
int paint_x=f_visible*BUTTON_HEIGHT+57;
|
||||
IF (count-za_kadrom<f_visible) || (curbtn>f_visible-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè
|
||||
{ za_kadrom=count-f_visible; curbtn=f_visible-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì
|
||||
|
||||
FOR (j=0; j<f_visible; j++) IF (curbtn<>j) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(col_selec, curbtn);
|
||||
DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà
|
||||
DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
|
||||
DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
|
||||
TVScroll();
|
||||
}
|
||||
|
||||
void Line_ReDraw(dword color, filenum){
|
||||
dword text_col=0, name_len=0, y=filenum*BUTTON_HEIGHT+57; //ïîëîæåíèå òåêñòà ïî Y
|
||||
IF (rename_active==1) ReName(false);
|
||||
DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //êíîïà
|
||||
//äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî çàòî ïåðåðèñîâêè íå âèäíî
|
||||
DrawBar(192,y,3,BUTTON_HEIGHT,color);
|
||||
DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color);
|
||||
if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color);
|
||||
if (BUTTON_HEIGHT>15) DrawBar(195,y,16,BUTTON_HEIGHT-15,color);
|
||||
|
||||
off=file_mas[filenum+za_kadrom]*304 + buf+72;
|
||||
|
||||
if (!TestBit(ESDWORD[off-40], 4)) //ýòî ÔÀÉË èëè ïàïêà?
|
||||
{
|
||||
strcpy(#temp, off);
|
||||
Put_icon(#temp+_strrchr(#temp,'.'), BUTTON_HEIGHT/2-7+y, color);
|
||||
WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8])); //size
|
||||
}
|
||||
else
|
||||
if (!strcmp("..",off))
|
||||
Put_icon("..", BUTTON_HEIGHT/2-7+y, color);
|
||||
else
|
||||
Put_icon("<DIR>", BUTTON_HEIGHT/2-7+y, color);
|
||||
|
||||
if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; //ôàéë ñêðûòûé èëè ñèñòåìíûé?
|
||||
if (color<>0xFFFfff)
|
||||
{
|
||||
isdir=TestBit(ESDWORD[off-40], 4);
|
||||
strcpy(#file_name, off);
|
||||
strcpy(#file_path, #path);
|
||||
strcat(#file_path, #file_name); //ïîëíûé ïóòü ê ôàéëó
|
||||
if (text_col==0xA6A6B7) text_col=0xFFFFFF;
|
||||
}
|
||||
FileShow.font_color = text_col;
|
||||
FileShow.area_size_x = Form.width - 380;
|
||||
FileShow.text_pointer = off;
|
||||
FileShow.start_y = BUTTON_HEIGHT/2-3+y;
|
||||
PathShow_prepare stdcall(#FileShow);
|
||||
PathShow_draw stdcall(#FileShow);
|
||||
|
||||
DrawBar(onLeft(168,0),y,1,BUTTON_HEIGHT,col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1
|
||||
DrawBar(onLeft(95,0),y,1,BUTTON_HEIGHT,col_work); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2
|
||||
}
|
||||
|
||||
|
||||
void Open_Dir(dword temp_, redraw){
|
||||
int errornum, max_count;
|
||||
char path_[4096],
|
||||
somelen=strlen(temp_)-1;
|
||||
|
||||
if (redraw<>ONLY_SHOW)
|
||||
{
|
||||
strcpy(#path_, temp_);
|
||||
if (somelen) path_[somelen]=NULL;
|
||||
|
||||
if (buf) free(buf);
|
||||
buf = malloc(32);
|
||||
errornum=ReadDir(0, buf, #path_);
|
||||
if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè
|
||||
{
|
||||
HistoryPath(ADD_NEW_PATH);
|
||||
GoBack();
|
||||
Write_Error(errornum);
|
||||
return;
|
||||
}
|
||||
count = ESDWORD[buf+8];
|
||||
buf = realloc(buf, count * 304 + 32);
|
||||
ReadDir(count, buf, #path_);
|
||||
count=EBX;
|
||||
max_count = sizeof(file_mas)/sizeof(dword)-1;
|
||||
if (count>max_count) count=max_count;
|
||||
|
||||
}
|
||||
if (count<>-1)
|
||||
{
|
||||
KEdit();
|
||||
HistoryPath(ADD_NEW_PATH);
|
||||
IF (!strcmp(".",buf+72)) {count--; memmov(buf,buf+304,count*304);} //ôèëüòðóåì ýëåìåíò "."
|
||||
FOR (j=0;j<f_visible;j++) DeleteButton(201+j); //óäàëÿåì ñòàðûå
|
||||
f_visible=onTop(6,57)/BUTTON_HEIGHT;
|
||||
IF (count<f_visible) f_visible=count;
|
||||
//ñòðåëî÷êà ñîðòèðîâêè
|
||||
IF (sort_num==1) WriteText(Form.width+60/2,45,0x80,0x4E78AC,"\x19");
|
||||
IF (sort_num==2) WriteText(Form.width-115,45,0x80,0x4E78AC,"\x19");
|
||||
IF (sort_num==3) WriteText(Form.width-44,45,0x80,0x4E78AC,"\x19");
|
||||
IF (redraw<>ONLY_SHOW) Sorting(); //äëÿ áîëüøèõ ïàïîê ïðè ðåïåèíòå îêíà
|
||||
IF (redraw<>ONLY_OPEN) List_ReDraw();
|
||||
}
|
||||
IF (count==-1) && (redraw<>ONLY_OPEN) {f_visible=count=0; List_ReDraw();}
|
||||
}
|
||||
|
||||
|
||||
|
||||
inline Sorting()
|
||||
{
|
||||
dword k=0, l=1;
|
||||
int i;
|
||||
if (!strcmp(#path,"/")) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/"
|
||||
{
|
||||
FOR(k=1;k<count;k++;) file_mas[k]=k;
|
||||
return;
|
||||
}
|
||||
FOR (j=count-1, off=count-1*304+buf+32; j>=0; j--, off-=304;) //ïàïêè ââåðõ, ôàéëû âíèç
|
||||
{
|
||||
strttl(off+40);
|
||||
if (TestBit(ESDWORD[off],4)) //ïàïêà?
|
||||
{
|
||||
file_mas[k]=j;
|
||||
k++;
|
||||
}
|
||||
else
|
||||
{
|
||||
file_mas[count-l]=j;
|
||||
l++;
|
||||
}
|
||||
}
|
||||
//Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû
|
||||
Sort_by_Name(0,k-1);
|
||||
IF (sort_num==1) Sort_by_Name(k,count-1);
|
||||
IF (sort_num==2) Sort_by_Type(k,count-1);
|
||||
IF (sort_num==3) Sort_by_Size(k,count-1);
|
||||
//åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà
|
||||
IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]><file_mas[0];
|
||||
}
|
||||
|
||||
|
||||
void Del_Form()
|
||||
{
|
||||
int dform_x=Form.width/2-13;
|
||||
//òèïà îêíî
|
||||
if (!count) return;
|
||||
FOR (i=5;i<11;i++) DeleteButton(201+i); //óäàëÿåì êíîïêè ïîä ôîðìîé
|
||||
DrawFlatButton(dform_x,160,200,80,0,col_work, ""); //ôîðìà
|
||||
WriteText(dform_x+19,175,0x80,0,"Do you really want to delete");
|
||||
IF (strlen(#file_name)<28)
|
||||
{
|
||||
WriteText(strlen(#file_name)*6+dform_x+20,190,0x80,0,"?");
|
||||
WriteText(dform_x+20,190,0x80,0,#file_name); //ïèøåì èìÿ
|
||||
}
|
||||
ELSE
|
||||
{
|
||||
WriteText(164+dform_x,190,0x80,0,"...?");
|
||||
ESI = 24;
|
||||
WriteText(dform_x+20,190,0,0,#file_name); //ïèøåì èìÿ
|
||||
}
|
||||
//êíîïî÷êè
|
||||
DrawFlatButton(dform_x+20,208,70,20,301,0xFFB6B5,"Yes");
|
||||
DrawFlatButton(dform_x+111,208,70,20,302,0xC6DFC6,"No");
|
||||
del_active=1;
|
||||
}
|
||||
|
||||
|
||||
void Del_File(byte dodel)
|
||||
{
|
||||
int del_file_rez;
|
||||
IF (dodel==true)
|
||||
{
|
||||
del_file_rez = DeleteFile(#file_path);
|
||||
IF (del_file_rez<>0)
|
||||
{
|
||||
Write_Error(del_file_rez);
|
||||
IF ( isdir) ShowMessage("Error. Folder isn't empty.");
|
||||
IF (!isdir) ShowMessage("Error. Filesystem read-only.");
|
||||
}
|
||||
}
|
||||
del_active=0;
|
||||
DeleteButton(301); DeleteButton(302); //óäàëÿåì êíîïî÷êè Yes/No
|
||||
Open_Dir(#path,1);
|
||||
}
|
||||
|
||||
void Paste()
|
||||
{
|
||||
char new_copy_path[4096];
|
||||
int copy_rezult;
|
||||
|
||||
IF (!copy_file) return; //îòìåíà, åøè åù¸ íè÷¸ íå ñêîïèðîâàëè
|
||||
strcpy(#new_copy_path, #path);
|
||||
strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/'));
|
||||
if (!strcmp(#copy_file,#new_copy_path)) //åñëè ìû êîïèðóåì è âñòàâëÿåì â îäíîé è òîé æå ïàïêå
|
||||
{
|
||||
strcpy(#new_copy_path, #path);
|
||||
strcat(#new_copy_path, "new_");
|
||||
strcat(#new_copy_path, #copy_file+strrchr(#copy_file,'/'));
|
||||
}
|
||||
copy_rezult=CopyFile(#copy_file,#new_copy_path);
|
||||
IF (copy_rezult<>0) //îøèáêà
|
||||
{
|
||||
Write_Error(copy_rezult);
|
||||
DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here.");
|
||||
pause(150);
|
||||
}
|
||||
IF (cut_active) //åñëè ìû âûáðàëè âûðåçàòü
|
||||
{
|
||||
strcpy(#file_path, #copy_file);
|
||||
Del_File(true);
|
||||
copy_file=NULL;
|
||||
cut_active=false;
|
||||
}
|
||||
SelectFile(#new_copy_path+strrchr(#new_copy_path,'/'));
|
||||
}
|
||||
|
||||
|
||||
void ReName(byte rename)
|
||||
{
|
||||
int del_file_rez;
|
||||
char edit_name[256];
|
||||
rename_active=0;
|
||||
edit2.flags=64;
|
||||
DefineButton(192,curbtn*BUTTON_HEIGHT+57,onLeft(27,192),BUTTON_HEIGHT,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF);
|
||||
if (rename==true)
|
||||
{
|
||||
strcpy(#temp, #path);
|
||||
strcpy(#edit_name, #file_name); //ñîõðàíÿåì íîâîå èìÿ ôàéëà, äëÿ òîãî, ÷òîáû åãî ïîòîì âûäåëèòü
|
||||
strcat(#temp, #file_name);
|
||||
if (strcmp(#file_path,#temp)<>0) && (file_name)
|
||||
IF (isdir)
|
||||
{
|
||||
del_file_rez = DeleteFile(#file_path);
|
||||
IF (del_file_rez<>0)
|
||||
{
|
||||
Write_Error(del_file_rez);
|
||||
ShowMessage("Error. Folder isn't empty.");
|
||||
return;
|
||||
}
|
||||
ELSE CreateDir(#temp);
|
||||
Open_Dir(#path,1);
|
||||
}
|
||||
ELSE
|
||||
{
|
||||
CopyFile(#file_path,#temp);
|
||||
Del_File(true);
|
||||
}
|
||||
SelectFile(#edit_name);
|
||||
}
|
||||
Line_ReDraw(col_selec,curbtn);
|
||||
}
|
||||
|
||||
|
||||
void SelectFile(dword that_file)
|
||||
{
|
||||
za_kadrom=curbtn=0; //ââåðõ ñïèñêà
|
||||
Open_Dir(#path,ONLY_OPEN);
|
||||
strttl(that_file);
|
||||
for (i=count-1; i>=0; i--;)
|
||||
if (!strcmp(file_mas[i]*304+buf+72,that_file)) break;
|
||||
FileList_ReDraw(i);
|
||||
List_ReDraw();
|
||||
}
|
||||
|
||||
|
||||
void Dir_Up()
|
||||
{
|
||||
char cur_folder[4096];
|
||||
i=strlen(#path)-1;
|
||||
if (i==0) return;
|
||||
path[i]=0x00;
|
||||
i = strrchr(#path, '/');
|
||||
strcpy(#cur_folder, #path+i);
|
||||
path[i]=0x00;
|
||||
SelectFile(#cur_folder);
|
||||
}
|
||||
|
||||
|
||||
inline fastcall void GoBack() //âíà÷àëå óäàëÿåì òåêóùèé ïóòü, à ïîòîì êîïèðóåì òî, ÷òî îñòàëîñü
|
||||
{
|
||||
char cur_folder[4096];
|
||||
strcpy(#cur_folder, GetCurrentFolder());
|
||||
if (HistoryPath(GO_BACK)) SelectFile(#cur_folder);
|
||||
}
|
||||
|
||||
stop:
|
||||
|
||||
char stak1[100];
|
||||
char stak2[100];
|
5
programs/cmm/eolite/compile.bat
Normal file
@ -0,0 +1,5 @@
|
||||
@del Eolite
|
||||
..\C--\c-- Eolite.c /lst
|
||||
@rename Eolite.com Eolite
|
||||
@del warning.txt
|
||||
@pause
|
BIN
programs/cmm/eolite/imgs/actions.raw
Normal file
BIN
programs/cmm/eolite/imgs/blue_hl8.raw
Normal file
BIN
programs/cmm/eolite/imgs/dev.raw
Normal file
BIN
programs/cmm/eolite/imgs/goto_about.raw
Normal file
BIN
programs/cmm/eolite/imgs/icons.raw
Normal file
7
programs/cmm/eolite/imgs/icons.txt
Normal file
@ -0,0 +1,7 @@
|
||||
/////////////////////////
|
||||
//Èêîíêè ïàïîê è ôàéëîâ//
|
||||
/////////////////////////
|
||||
|
||||
dword ficons_pal[] = {0x00FFFFFF,0x00606078,0x00D0D0D8,0x008888A8,0x00F8F8F8,0x009098B0,0x00E0E0E0,0x00A0A0B8,0x00F0F0F8,0x00A8A8C0,0x007880A0,0x00E8E8F0,0x00C8C8D0,0x00C8C8C8,0x00F0F8FF,0x00E0E0E8,0x00D8D8E0,0x00F8F8FF,0x00C8C8D8,0x00FFB898,0x008080A0,0x00C0C0C8,0x00FFA078,0x00586080,0x005878A8,0x006880A0,0x00D0D8E0,0x0080A0C0,0x00586078,0x00E0E8F0,0x008898B8,0x00B8C0D8,0x00D8E8F0,0x00D8F0FF,0x007088A8,0x00A8B0C0,0x007890B0,0x00C8E8F8,0x00F8F8F0,0x00E0E8E8,0x00D0D8D8,0x00C0C8E0,0x0080A0E0,0x007098C8,0x006090C8,0x005888C0,0x00A8B0C8,0x00A87868,0x00604840,0x00786038,0x00705028,0x00685048,0x00FFF8B8,0x00B89848,0x00F8E070,0x00C0A850,0x00F8D858,0x00A09880,0x00F8C050,0x00F0B848,0x00E0A850,0x00986860,0x00583830,0x00707898,0x0068C0D8,0x00B0E0F8,0x0070B8E0,0x00F8FFFF,0x00A0C8F0,0x00000000,0x00F84050,0x0048D040,0x000078B8,0x00F8C048,0x00A06858,0x00FFE898,0x00989070,0x00F8B840,0x00FFF8F0,0x00C0B8A8,0x00D8B040,0x00788088,0x00E8F0F0,0x00C08830,0x00584840,0x00A85800,0x00FFE8A8,0x00A86818,0x00F0F0D8,0x00F8C830,0x00F0B828,0x00381010,0x00D8A028,0x00B0C8E0,0x0078A0D0,0x0098B8E8,0x0088A8D0,0x0098B8E0,0x003070B8,0x00A0C8E8,0x005090C8,0x004888C0,0x003078C0,0x00B8D0E8,0x002068A8,0x0088B0E0,0x0080B0D8,0x0090B8E0,0x002068B0,0x00B8D0F0,0x002060A8,0x0070A0C8,0x002868B0,0x002870B0,0x002868A8,0x00687088,0x00E89090,0x00D09898,0x00909088,0x00C88080,0x00B87820,0x00B86818,0x00E8C068,0x00885810,0x00D09850,0x00B07028,0x00F0D8B0,0x00A87028,0x00B05800,0x00885028,0x00C89048,0x00C89038,0x00985000,0x00E8D8B0,0x00C89810,0x00FFF8D8,0x00FFFFC8,0x00F8E8A8,0x00F8E098,0x00FFE8C0,0x00F8D888,0x00F8D880,0x00F0D078,0x00D8A020,0x0088E068,0x00209018,0x00A87800,0x00188000,0x00A0D868,0x00309018,0x00C8F8A0,0x00289018,0x00608818,0x0050A830,0x0030A028,0x00A8F068,0x00808000,0x0088C840,0x0070C848,0x00D8C070,0x0080C840,0x00C0B850,0x00F8E0A0,0x00F8E090,0x00D8E0F8,0x0098D0D0,0x0038A878,0x0058A890,0x00309068,0x00308880,0x00105870,0x002890B8,0x00186880,0x00105058,0x0048A8C8,0x001098D8,0x0078B8E0,0x002098C8,0x002898C8,0x0058C8FF,0x002088B8,0x0030A0D8,0x00C84048,0x002078B0,0x0030A8D8,0x00808080,0x00407888,0x0040A060,0x0080B820,0x00A02828,0x00F86068,0x00E02040,0x00E01828,0x00A8A8A8,0x00B8B8C0,0x00787878,0x00407828,0x00406040,0x007898C8,0x00E85878,0x00E04870,0x000098E0,0x0008A8F8,0x00D85868,0x00E86080,0x00E88098,0x00E888A0,0x00888888,0x00E8E8E8,0x00A0A0A0,0x00F0E0B8,0x00FFD850,0x00B8B8C8,0x00606080,0x00FFC818,0x00505870,0x00D8D0D8,0x0098C8F0,0x00606880,0x00405068,0x00303840,0x00FF0000,0x00F8C8C8};
|
||||
|
||||
unsigned char ficons[6240] = FROM "imgs\icons.raw";
|
59
programs/cmm/eolite/imgs/left_p.txt
Normal file
@ -0,0 +1,59 @@
|
||||
unsigned char blue_hl[190*268]= FROM "imgs\blue_hl8.raw";
|
||||
|
||||
dword blue_hl_pal[]= {0x0001699C,0x0000699C,0x00026A9C,0x0002699C,
|
||||
0x00036A9C,0x00046B9C,0x00046A9C,0x00056B9D,0x00046B9D,0x00066C9D,
|
||||
0x00066C9E,0x00056C9D,0x00076D9E,0x00086E9F,0x00066D9E,0x00086D9E,
|
||||
0x00096E9F,0x00076C9E,0x000A6FA0,0x000B6FA0,0x000A6E9F,0x000B70A1,
|
||||
0x00096F9F,0x000A6F9F,0x000C70A1,0x000B70A0,0x000D71A1,0x000C71A1,
|
||||
0x000D71A2,0x000E71A2,0x00086D9F,0x000F72A2,0x000E72A2,0x001072A2,
|
||||
0x001172A2,0x000C70A0,0x001273A2,0x001373A2,0x001374A2,0x001474A3,
|
||||
0x001475A3,0x001474A2,0x001272A2,0x001575A3,0x001676A4,0x001576A3,
|
||||
0x001576A4,0x001777A4,0x001777A5,0x001878A5,0x001877A5,0x001776A4,
|
||||
0x001675A3,0x001978A6,0x001978A5,0x001A78A6,0x001B78A6,0x001676A3,
|
||||
0x000D70A1,0x001A77A6,0x001977A5,0x001977A6,0x001876A4,0x001876A5,
|
||||
0x001776A5,0x001675A4,0x001775A4,0x001574A3,0x001574A2,0x001473A2,
|
||||
0x000E71A1,0x001775A3,0x001674A3,0x001A79A6,0x001B79A7,0x001B79A6,
|
||||
0x001A78A5,0x001C7AA7,0x001C79A7,0x001A77A5,0x001D7AA8,0x001D7AA7,
|
||||
0x001173A2,0x001E7BA8,0x001D7BA8,0x001977A4,0x001F7CA8,0x001F7BA8,
|
||||
0x001E7AA8,0x001C79A6,0x001575A4,0x00207CA8,0x001E7AA7,0x001D79A7,
|
||||
0x001976A4,0x00217CA8,0x00227CA8,0x00207BA8,0x001976A5,0x001473A3,0};
|
||||
|
||||
unsigned char devices[14*78]= FROM "imgs\dev.raw";
|
||||
|
||||
unsigned char factions[16*44] = FROM "imgs\actions.raw";
|
||||
|
||||
unsigned char logo[7225] = FROM "imgs\logo8b.raw";
|
||||
|
||||
dword logo_pal[]= {0x8096C0,0x7D93BC,0x7D76B0,0x8094BE,0x7C83B3,0x7D0C82,
|
||||
0x7B73AC,0x7B90B7,0x7D7AB0,0x8C1B8C,0x74378B,0x7488AE,0x7C8EB8,0x846BAB,
|
||||
0xAF63B0,0x821C89,0x697A9C,0x768AB1,0x8B66A9,0xBF80BF,0x993399,0x6B5C90,
|
||||
0x975EA9,0xC48BC4,0xA955A9,0x72438B,0x7083A7,0x798DB5,0xA45CAA,0xC993C9,
|
||||
0xB164B1,0x793A8C,0x8185B5,0xB46CB5,0xC791C7,0xB873B8,0x84328F,0x7D54A0,
|
||||
0x840B84,0x82238B,0x7C539D,0x8A4C9F,0x8C3B95,0x637393,0x824399,0x9D409D,
|
||||
0x942B94,0x83288E,0x7B599E,0x833C94,0xA043A0,0x8B4194,0xA264AA,0xAC5BAC,
|
||||
0x9C3B9C,0x7982AE,0x861588,0xBC7BBC,0x7E4C90,0xAC6AB0,0xC083C0,0x7F4199,
|
||||
0xA650A6,0x68628B,0x7D73A6,0xB670B7,0x95449A,0x7D6BAA,0x953195,0x8B5C9B,
|
||||
0x60708E,0x8E519F,0x835598,0x7E65A9,0x7E2D91,0x7D5AA2,0x64648A,0xAD61AE,
|
||||
0x8B3594,0x8D218E,0x796BA5,0x902390,0x735B90,0x7384AA,0x756294,0xA752A8,
|
||||
0x76669F,0x8C2A91,0x965DA1,0x5D6C89,0x6C7EA2,0x8175AF,0x7474A5,0xB773B8,
|
||||
0x6E80A4,0x9254A2,0x814D9B,0x6B6B98,0x832F91,0x9F60A7,0x8D419A,0x6B6992,
|
||||
0x933A9A,0x8089B6,0x9C52A3,0x696492,0xA44AA4,0x606A8B,0x666690,0x75689F,
|
||||
0x79498E,0x7D3492,0x8C2791,0x795390,0x71709C,0x964E9D,0x7E1E89,0x7B2A8B,
|
||||
0x95539E,0x9C4A9B,0x645B88,0x7C4C9C,0x8E5FA8,0x891489,0x7D238B,0x824D95,
|
||||
0x963398,0x6B5A8A,0x774B94,0x810481,0x7A7CAE,0x7C2386,0x814494,0x753B89,
|
||||
0x861186,0x6F3C85,0x7C3D94,0x782D86,0x5C6B87,0x7C63A5,0x685187,0x6B5089,
|
||||
0xA4499B,0xB9656E,0xC77647,0xD08131,0xD1842C,0x8060A3,0xAB528D,0xCA7937,
|
||||
0xDE9408,0xE19808,0xE3A01C,0xE6AB36,0xE4A426,0xE29D14,0x655785,0x745A9A,
|
||||
0xBC6655,0xE6AE42,0x705593,0x717AA4,0x843291,0x7B308E,0xA34285,0x694B86,
|
||||
0x7F0280,0x7667A0,0x743484,0x615A85,0x7478A8,0x676892,0x703C86,0x9A3290,
|
||||
0x862186,0x6E5491,0x6F3E89,0xAD5066,0x764F98,0xC06947,0xCE8031,0x6F75A1,
|
||||
0xE3DEE0,0xE1DCDE,0xDAD5D7,0xC0ABBD,0x7F027F,0xBF6948,0x914490,0xCAC5C8,
|
||||
0xB38CB1,0xAA4964,0xE8B247,0xA887A6,0xD4CDD1,0xB089AE,0x8E1C84,0xE09F26,
|
||||
0xEAB855,0x8B328B,0xB7A9B5,0xD1CBCE,0xA677A5,0x8C2C8B,0x942577,0xC6BAC4,
|
||||
0xC1BABE,0xB09BAD,0x966695,0x883387,0x978495,0x987997,0x8D458D,0x985A97,
|
||||
0xB88AB6,0xAD6EAB,0x9D5C9C,0xCC8048,0x90468F,0xBAB5B7,0x851B85,0xA86AA6,
|
||||
0xC09EBE,0x943A94,0x882387,0x9E519D,0xBB96B9,0x8D3B8C,0x924C91,0x9A327D,
|
||||
0xC77C59,0xB0AAAD,0x872887,0xA599A3,0xB682B4,0xA0869E,0x935292,0x922488,
|
||||
0xB1576D,0xD49256,0x8F558E,0xAAA5A7,0xC39BC1,0xC6A8C4,0xA763A5,0xB47CB3,
|
||||
0x925A91,0x90578F,0xA09B9D,0xA06F9F,0x9E949C,0xB077AE,0xA66EA5,0xA75FA5,
|
||||
0xB98EB8};
|
BIN
programs/cmm/eolite/imgs/logo8b.raw
Normal file
BIN
programs/cmm/eolite/imgs/png/Eolite-Sun.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
programs/cmm/eolite/imgs/png/blue_hl81.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
programs/cmm/eolite/imgs/png/dev.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
programs/cmm/eolite/imgs/png/file_actions.png
Normal file
After Width: | Height: | Size: 694 B |
BIN
programs/cmm/eolite/imgs/png/icons.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
programs/cmm/eolite/imgs/png/rb.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
programs/cmm/eolite/imgs/png/toolbar.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
537
programs/cmm/eolite/imgs/toolbar.txt
Normal file
@ -0,0 +1,537 @@
|
||||
//Ãðàôèêà ïðîãè
|
||||
|
||||
//Êîïî÷êè íàçàä, âïåð¸ä, íà óðîâåíü ââåðõ, âûðåçàòü, êîïèðîâàòü, âñòàâèòü.
|
||||
|
||||
|
||||
dword toolbar_pal [] = {0xE4DFE0,0xDFE0E6,0x7EA4B6,0xD9DBD8,0x78A446,0x6E6C6E,0x898989,0xBDD0D9,0xFBFCFC,0xFDFDFD,0xCECEC4,0xF9FFF9,0xFFFFFF,0xCCD1D7,0xD2D2D3,0xDED8DA,0x78684B,0x73561E,0x83611E,0xF6F8F5,0x5C90A3,0xC3C9CB,0x8E9A9F,0x8E9CA0,0x909EA3,0x94A2A7,0x96A4A9,0x98A6AB,0x99A9AD,0x9CABB0,0x9CACB0,0x93A1A6,0x688935,0x9B9B89,0x9CA489,0x9CA494,0xA7A997,0xA3AB9B,0xABB49C,0x9AB4C8,0xEEEBEE,0x777577,0xBB9447,0xF8EEC1,0xEEF1F2,0xF0F3E7,0xF8F8F0,0x8F8C8D,0xE5E5E5,0x8A888A,0xF8F7D7,0xF8EBB8,0xE6EBEE,0xE6ECEF,0x888587,0xEDEDED,0xADABAD,0x9F9D9F,0xF7F2CD,0x5A5A5A,0xF1DDB5,0x8098A2,0xDCE4E7,0xE0E7EA,0x7F97A1,0x93A381,0xEBEFE0,0xAAA7A8,0x878686,0xF0DBAE,0x74929D,0xC4D3D8,0xD1DBE0,0xD2DDE2,0xD3DFE4,0xD1DBDE,0xD0D5D9,0x879973,0xE2E7D3,0xE6F0E6,0xD0CFD0,0xEFD7A6,0x78878F,0xCAD7DC,0xCBD8DE,0xCCD8DE,0xC2D2D8,0x9AB7C3,0x76868E,0xC8CED2,0xCAD0D3,0x819C79,0xDBE3C9,0x69892D,0xF8E5A9,0xEED198,0x3A768D,0xBBCCD2,0x91B0BD,0x34718A,0xCCD7B5,0xF8E09B,0x3B788F,0x96B6C4,0x97B8C6,0x98B9C6,0x97BAC8,0x8AACBA,0xB6CDD6,0x9CB6C0,0x96B6C2,0xB6C694,0xB4C49C,0xECCB87,0x89AEBC,0x89B0BE,0x8BB1C0,0x6C9BAE,0x718935,0xABBC89,0xACC48B,0xD7DFC5,0xF9D993,0x286580,0x7BA5B5,0x7EA8B9,0x6295A9,0x6192A5,0x26637D,0x578124,0xA3B47A,0xA3BE7A,0xD8E4CB,0xF8D586,0xE9C375,0x1C556D,0x6F9CAE,0x709EB1,0xB4C8D0,0x447992,0x476813,0x91A868,0x9AB470,0x9F9F9F,0xF8D17C,0x846320,0x568FA4,0x5690A7,0x306E85,0x95B3BE,0x2C7691,0x568DA3,0x88A350,0xEBEBEB,0xF7CE72,0xE6BD69,0x1C5670,0x458295,0x458398,0x4987A0,0x2A647B,0x427B91,0x3A6E85,0x457114,0x78953E,0x729B42,0xE3DEE0,0x7C8A9D,0x627B97,0x5A7796,0xC4C4C4,0x999999,0xF7C965,0xE4B558,0x417C8F,0x286379,0x327087,0x2C637D,0xC5D7B5,0x88BBEE,0x77AADD,0x2C7290,0x266882,0x2C697E,0x1E5D79,0x1C5A75,0x618425,0x648622,0x5380AE,0x406994,0x3E6791,0x6699CC,0x2D7A96,0x2D7994,0x276C85,0x256780,0x25647D,0x2A6C89,0x608224,0x5F8124,0x748397,0x84B7EA,0x507EAC,0x9097A2,0x2A6F8C,0x307D9B,0x29738F,0x266B84,0x2E7695,0x2D7492,0x2F7D98,0x546D8D,0x81B4E7,0x3F6892,0xF6C45C,0x286883,0x7CAFE2,0x456388,0x296C88,0x30809C,0x2F7998,0x608A24,0x688A24,0xF0F0E6,0x286985,0x6B8E24,0x78ABDE,0x70A1D5,0x5F92C5,0x1B546C,0x6C9ED1,0xDFB154,0x21566E,0x46701C,0xBE9134,0xBAC1C6,0x225870,0x205F7A,0x20617E,0x225770,0xC5C5BD,0x50771C,0x507114,0x4F7A13,0x57791C,0x58793D};
|
||||
|
||||
unsigned char toolbar[8364] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
|
||||
0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
|
||||
0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
|
||||
0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x06,
|
||||
0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08,
|
||||
0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x0A, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0B, 0x0A, 0x04, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x10, 0x11,
|
||||
0x12, 0x12, 0x06, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x06, 0x12, 0x12, 0x11,
|
||||
0x10, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0x15, 0x16, 0x17, 0x18,
|
||||
0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1D, 0x1C, 0x1C, 0x1B,
|
||||
0x1A, 0x1F, 0x18, 0x17, 0x16, 0x15, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
|
||||
0x08, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E,
|
||||
0x1E, 0x1D, 0x1C, 0x1C, 0x1B, 0x1A, 0x1F, 0x18, 0x17, 0x16, 0x15, 0x08, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0B, 0x0A, 0x21, 0x22, 0x23, 0x24, 0x24, 0x25, 0x25,
|
||||
0x24, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x24, 0x25, 0x25, 0x24, 0x24, 0x23, 0x22,
|
||||
0x21, 0x0A, 0x0B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x29,
|
||||
0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x10, 0x2A, 0x2B, 0x2B, 0x06, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13,
|
||||
0x13, 0x13, 0x13, 0x06, 0x2B, 0x2B, 0x2A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x09, 0x16, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C,
|
||||
0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x16, 0x09, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x16, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C,
|
||||
0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C, 0x2C,
|
||||
0x16, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x21, 0x2D,
|
||||
0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E,
|
||||
0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2D, 0x21, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x2F, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x28, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2B, 0x32, 0x06, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x06, 0x32, 0x33, 0x11, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x17, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34, 0x34,
|
||||
0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
|
||||
0x35, 0x17, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x17, 0x35, 0x35,
|
||||
0x35, 0x35, 0x34, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35, 0x35,
|
||||
0x35, 0x35, 0x35, 0x34, 0x34, 0x34, 0x17, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x20, 0x0C, 0x22, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D,
|
||||
0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x22, 0x0C, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x36, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
|
||||
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x39, 0x31, 0x29, 0x05, 0x05,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12,
|
||||
0x2B, 0x3A, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B, 0x3B,
|
||||
0x3B, 0x3A, 0x3C, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x3D, 0x3E,
|
||||
0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3F,
|
||||
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x40, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x14, 0x09, 0x40, 0x3E, 0x3E, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3E, 0x3E, 0x3E, 0x3E,
|
||||
0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3D, 0x09, 0x14, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x41, 0x42, 0x42, 0x42, 0x42, 0x42,
|
||||
0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x04, 0x04, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,
|
||||
0x42, 0x42, 0x42, 0x41, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x2F,
|
||||
0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37,
|
||||
0x44, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E, 0x05, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
|
||||
0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x45, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x14, 0x09, 0x46, 0x47, 0x48, 0x49, 0x49, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A,
|
||||
0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x49, 0x49, 0x48, 0x4B, 0x47, 0x46, 0x09, 0x14,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x46, 0x4C, 0x4B, 0x48, 0x49, 0x49, 0x4A,
|
||||
0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x4A, 0x49, 0x49,
|
||||
0x48, 0x4C, 0x46, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C,
|
||||
0x4D, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x04, 0x4F, 0x4F, 0x04, 0x4E,
|
||||
0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4E, 0x4D, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x29, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x2B, 0x33, 0x33, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x51, 0x12,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x52, 0x47, 0x47, 0x47, 0x53, 0x54,
|
||||
0x55, 0x54, 0x54, 0x56, 0x57, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x55, 0x55, 0x54, 0x53, 0x53,
|
||||
0x47, 0x47, 0x47, 0x58, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x58,
|
||||
0x59, 0x5A, 0x53, 0x53, 0x53, 0x54, 0x55, 0x55, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x57, 0x56,
|
||||
0x54, 0x54, 0x55, 0x54, 0x53, 0x5A, 0x5A, 0x59, 0x52, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x5B, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C,
|
||||
0x5D, 0x4F, 0x0C, 0x0C, 0x4F, 0x5D, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5C, 0x5B,
|
||||
0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x28, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28,
|
||||
0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05,
|
||||
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E,
|
||||
0x5E, 0x5E, 0x5E, 0x5E, 0x5F, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09,
|
||||
0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x62, 0x63, 0x63, 0x61, 0x61, 0x61, 0x61, 0x61,
|
||||
0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x60, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x09, 0x60, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61,
|
||||
0x61, 0x61, 0x61, 0x61, 0x63, 0x63, 0x62, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x60, 0x09,
|
||||
0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x20, 0x64, 0x64, 0x64,
|
||||
0x64, 0x64, 0x64, 0x64, 0x64, 0x5D, 0x4F, 0x0C, 0x0C, 0x0C, 0x0C, 0x4F, 0x5D, 0x64, 0x64, 0x64,
|
||||
0x64, 0x64, 0x64, 0x64, 0x64, 0x20, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x37, 0x50,
|
||||
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
|
||||
0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x39, 0x31, 0x29, 0x05,
|
||||
0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x05, 0x0E,
|
||||
0x05, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x5E, 0x65, 0x5F, 0x12, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x66, 0x67, 0x68, 0x68, 0x69, 0x6A, 0x6A, 0x6B, 0x63, 0x6C,
|
||||
0x63, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x67, 0x6E, 0x60,
|
||||
0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x60, 0x6E, 0x67, 0x6D, 0x6D,
|
||||
0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x6D, 0x63, 0x6C, 0x63, 0x6B, 0x6A, 0x6A,
|
||||
0x69, 0x68, 0x68, 0x67, 0x66, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x0C, 0x20, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x5D, 0x4F, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||
0x0C, 0x0C, 0x4F, 0x5D, 0x70, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x20, 0x0C, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x29, 0x28, 0x0E, 0x05, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65, 0x65,
|
||||
0x71, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x66, 0x72, 0x73, 0x74,
|
||||
0x74, 0x74, 0x75, 0x63, 0x6C, 0x09, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
|
||||
0x63, 0x63, 0x6D, 0x72, 0x72, 0x60, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
|
||||
0x09, 0x60, 0x72, 0x72, 0x6D, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63,
|
||||
0x63, 0x09, 0x6C, 0x63, 0x75, 0x74, 0x74, 0x74, 0x73, 0x72, 0x66, 0x09, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x76, 0x77, 0x77, 0x78, 0x78, 0x78, 0x78, 0x5D,
|
||||
0x79, 0x79, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x79, 0x79, 0x5D, 0x78, 0x78, 0x78, 0x78, 0x77,
|
||||
0x77, 0x76, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x05, 0x50, 0x37, 0x05, 0x00, 0x00, 0x05, 0x37, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
|
||||
0x28, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x28, 0x31, 0x09, 0x28, 0x0E, 0x05, 0x7A,
|
||||
0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x71, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x09, 0x7B, 0x7C, 0x02, 0x7D, 0x7D, 0x7E, 0x63, 0x6C, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x49, 0x63, 0x7F, 0x7C, 0x7C, 0x80, 0x09, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x80, 0x7C, 0x7C, 0x7F, 0x63, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x6C, 0x63, 0x7E, 0x7D, 0x7D, 0x02, 0x7C,
|
||||
0x7B, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x81, 0x82,
|
||||
0x82, 0x83, 0x83, 0x83, 0x83, 0x04, 0x5D, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x5D,
|
||||
0x04, 0x83, 0x83, 0x83, 0x83, 0x82, 0x82, 0x81, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x37, 0x05, 0x05, 0x37, 0x50, 0x05,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
|
||||
0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28,
|
||||
0x39, 0x31, 0x29, 0x05, 0x05, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x85, 0x86, 0x12, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x88, 0x89, 0x89, 0x14, 0x63, 0x6C, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x8A, 0x63, 0x8B, 0x88,
|
||||
0x88, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x88, 0x88,
|
||||
0x8B, 0x63, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x6C, 0x63, 0x14, 0x89, 0x89, 0x88, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x20, 0x0C, 0x8C, 0x8D, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x5D, 0x84, 0x0C,
|
||||
0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8E, 0x8D, 0x8C, 0x0C, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
|
||||
0x50, 0x37, 0x8F, 0x50, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x0E, 0x0E, 0x05, 0x90, 0x90, 0x90, 0x90, 0x90,
|
||||
0x90, 0x90, 0x86, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x7E,
|
||||
0x92, 0x93, 0x94, 0x95, 0x49, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x8A, 0x63, 0x96, 0x97, 0x7F, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x14, 0x09, 0x87, 0x7F, 0x97, 0x96, 0x63, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x49, 0x95, 0x94, 0x93, 0x92, 0x7E, 0x87, 0x09, 0x14, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0x8D, 0x98, 0x98, 0x98, 0x98,
|
||||
0x98, 0x98, 0x98, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84, 0x5D, 0x98, 0x98, 0x98, 0x98, 0x98,
|
||||
0x98, 0x98, 0x8D, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x50, 0x99, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38,
|
||||
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38,
|
||||
0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
|
||||
0x05, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9B, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x14, 0x09, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0, 0xA1, 0x8A, 0x34, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x8A, 0xA2, 0x96, 0x8B, 0x8B, 0x87, 0x09, 0x14,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x8B, 0x8B, 0x96, 0xA2, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x34, 0x8A, 0xA1, 0xA0, 0x9F,
|
||||
0x9E, 0x9D, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C,
|
||||
0xA3, 0xA4, 0xA4, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0x5D, 0x84, 0x0C, 0x0C, 0x0C, 0x0C, 0x84,
|
||||
0x5D, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA5, 0xA4, 0xA4, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xA7, 0xA8, 0xA9, 0xA9, 0xA9, 0xA9, 0xAA, 0xAB, 0x37, 0x0E,
|
||||
0xA9, 0xA9, 0xA9, 0xA9, 0xA9, 0xA7, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
|
||||
0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAD, 0x91,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0xAE, 0xAE, 0xAE, 0x7B, 0xAF,
|
||||
0xB0, 0x8A, 0x34, 0x09, 0x49, 0x49, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0xB1,
|
||||
0x96, 0x8B, 0x96, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87,
|
||||
0x96, 0x8B, 0x96, 0xB1, 0x09, 0x49, 0x49, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x8A, 0x09,
|
||||
0x34, 0x8A, 0xB0, 0xAF, 0x7B, 0xAE, 0xAE, 0xAE, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x81,
|
||||
0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0x5D, 0xA3,
|
||||
0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xA9, 0xB3, 0xB3, 0xB3, 0xB3,
|
||||
0xB3, 0xB3, 0xB4, 0x05, 0x05, 0xB4, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xB3, 0xA9, 0x00, 0xA6, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38,
|
||||
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28,
|
||||
0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0xAC, 0xAC, 0x9A,
|
||||
0x85, 0x85, 0x7A, 0x85, 0x9B, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09,
|
||||
0x9C, 0x63, 0x96, 0x96, 0xB5, 0xB6, 0xA0, 0xB7, 0x8A, 0x49, 0xB8, 0xB8, 0xB9, 0xB9, 0xB9, 0xB9,
|
||||
0xB9, 0xB8, 0xB9, 0xB9, 0xB9, 0xB9, 0x96, 0x96, 0x96, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x96, 0x96, 0x96, 0xB9, 0xB9, 0xB9, 0xB9, 0xB8, 0xB9, 0xB9,
|
||||
0xB9, 0xB9, 0xB9, 0xB8, 0xB8, 0x49, 0x8A, 0xB7, 0xA0, 0xB6, 0xB5, 0x96, 0x96, 0x63, 0x9C, 0x09,
|
||||
0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0xBA, 0xBA, 0xBB,
|
||||
0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBB, 0xBB, 0xBB,
|
||||
0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xA9, 0xB3, 0xBC, 0xBD, 0xBE, 0xBC, 0xBF, 0xB3, 0xBE, 0x0E, 0x0E, 0xBE, 0xB3, 0xBF, 0xBC, 0xBE,
|
||||
0xBD, 0xBC, 0xB3, 0xA9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
|
||||
0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
|
||||
0x28, 0x0E, 0x05, 0x85, 0x90, 0x7A, 0x90, 0x7A, 0x7A, 0x90, 0xAD, 0x91, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0x63, 0x96, 0xC0, 0xC1, 0x96, 0xC2, 0x80, 0xB7, 0x8A,
|
||||
0xB8, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xC3, 0xC3, 0xC3, 0xC4, 0xC5, 0x96, 0x96, 0x96, 0x87,
|
||||
0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0x96, 0x96, 0x96, 0xC5,
|
||||
0xC4, 0xC3, 0xC3, 0xC3, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0x8A, 0xB7, 0x80, 0xC2, 0xC1,
|
||||
0xC1, 0xC0, 0x96, 0x63, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x0C, 0xA3, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x81, 0xB2, 0x0C, 0x0C, 0x0C,
|
||||
0x0C, 0xB2, 0xC7, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xA3, 0x0C, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xC9, 0xCA, 0xCB, 0x00, 0x00, 0xCB, 0xBC, 0xB3, 0xBE, 0x00,
|
||||
0x00, 0xBE, 0xB3, 0xBC, 0xCB, 0x00, 0x00, 0xCB, 0xCA, 0xC9, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
|
||||
0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x7A, 0x7A, 0x9A, 0x85, 0x7A, 0x7A, 0xAC,
|
||||
0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x9C, 0xCC, 0x96, 0xCD,
|
||||
0xCD, 0xC1, 0x96, 0xCE, 0xC3, 0xA0, 0xCF, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
|
||||
0xC1, 0xCD, 0xD0, 0xD1, 0xCC, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
|
||||
0x09, 0x87, 0xCC, 0xD1, 0xD0, 0xCD, 0xC1, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
|
||||
0xCF, 0xA0, 0xC3, 0xCE, 0xC1, 0xD2, 0xD2, 0xD2, 0x96, 0xCC, 0x9C, 0x09, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x81, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
|
||||
0xBA, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA, 0xBA,
|
||||
0xC7, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD3, 0xD4, 0xD5, 0x00, 0x00,
|
||||
0x00, 0x00, 0xBE, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xD4,
|
||||
0xD3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
|
||||
0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x7A,
|
||||
0x7A, 0x90, 0x7A, 0x7A, 0x85, 0xD6, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x09, 0x9C, 0xCC, 0xD1, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0x96, 0xD7, 0xC5, 0xCD, 0xCD, 0xCD,
|
||||
0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xCC, 0x87, 0x09, 0x14, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xCC, 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xCD, 0xCD,
|
||||
0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xC5, 0xD7, 0x96, 0xC1, 0xCD, 0xCD, 0xCD, 0xCD, 0xD1, 0xCC,
|
||||
0x9C, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xA3, 0x81,
|
||||
0xBA, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0x81, 0xB2, 0x0C, 0x0C, 0x0C, 0x0C, 0xB2, 0x81, 0xBB,
|
||||
0xBB, 0xBB, 0xBB, 0xBB, 0xBB, 0xBA, 0x81, 0xA3, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xBE, 0xD8, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xD5,
|
||||
0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
|
||||
0x28, 0x0E, 0x05, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x0E, 0x05, 0x85, 0x7A, 0x7A, 0x7A, 0x7A, 0x85, 0xAC, 0xAD, 0x12, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xDA, 0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xD2,
|
||||
0xD2, 0x96, 0x96, 0xD2, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD2, 0xD2, 0xDC, 0xD0, 0xD1,
|
||||
0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xDA, 0xD1,
|
||||
0xD0, 0xDC, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0xD2, 0x96, 0x96, 0xC1, 0xD2,
|
||||
0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xBA, 0xDD, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 0x81, 0xB2, 0xDF,
|
||||
0xDF, 0xDF, 0xDF, 0xB2, 0x81, 0xDE, 0xDE, 0xDE, 0xDE, 0xDE, 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xBE, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xB3,
|
||||
0xBE, 0x00, 0x00, 0xBE, 0xB3, 0xD5, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xD8, 0xD9, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38,
|
||||
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x7A, 0x85, 0xAC, 0xAC, 0x7A,
|
||||
0x7A, 0x90, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0,
|
||||
0xD1, 0xD0, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xDC, 0xDC,
|
||||
0xDC, 0xDC, 0xDC, 0xDC, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD0, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xDC, 0xD2, 0xD2, 0xD2,
|
||||
0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD2, 0xD0, 0xD1, 0xDA, 0x87, 0x09, 0x14, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xBA, 0xDD, 0xDE, 0xE1,
|
||||
0xE1, 0xE1, 0xE1, 0x81, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0xB2, 0x81, 0xE1, 0xE1, 0xE1, 0xE1, 0xDD,
|
||||
0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xE2, 0xBC,
|
||||
0xCB, 0x00, 0x00, 0xCB, 0xCA, 0xB3, 0xBE, 0x00, 0x00, 0xBE, 0xC9, 0xCA, 0xCB, 0x00, 0x00, 0xCB,
|
||||
0xBC, 0xE2, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38,
|
||||
0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x0E,
|
||||
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
|
||||
0x05, 0x85, 0x85, 0xAC, 0xAC, 0x7A, 0x7A, 0x85, 0xAD, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD1, 0xD1, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0,
|
||||
0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD1, 0xE0, 0x87, 0x09, 0x14,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xD1, 0xD0, 0xD0, 0xD0, 0xD0,
|
||||
0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD1, 0xD1,
|
||||
0xD1, 0xE0, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C,
|
||||
0x8C, 0xC7, 0xBA, 0xBB, 0xBB, 0xDE, 0xE1, 0xE1, 0xE1, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3, 0xA3,
|
||||
0xA3, 0xE1, 0xE1, 0xE1, 0xDE, 0xDD, 0xBB, 0xBA, 0xC7, 0x8C, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xBE, 0xE3, 0xE4, 0xBC, 0xBD, 0xBD, 0xBC, 0xB3, 0xBE, 0x00, 0x00, 0x00, 0x00,
|
||||
0xBE, 0xB3, 0xBC, 0xBD, 0xBD, 0xBC, 0xE4, 0xE3, 0xBE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x0E, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38,
|
||||
0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0xAC, 0x7A, 0x7A, 0x7A, 0x7A, 0x7A, 0x9A, 0xAD, 0x12,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0x87, 0xE0, 0xE0, 0xD1, 0xD1, 0xD1,
|
||||
0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1,
|
||||
0xD1, 0xE0, 0xE0, 0xE5, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09, 0xE5,
|
||||
0xE0, 0xE0, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1,
|
||||
0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xD1, 0xE0, 0xE0, 0x87, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0x8C, 0xC7, 0xC7, 0xBA, 0xBB, 0xBB, 0xDE, 0xDE, 0xDE, 0x5D,
|
||||
0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x5D, 0xDE, 0xDE, 0xDE, 0xBB, 0xBB, 0xBB, 0xBA, 0xC7, 0x8C,
|
||||
0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0xBE, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6,
|
||||
0xBE, 0x00, 0xA6, 0x00, 0x00, 0xA6, 0x00, 0xBE, 0xE6, 0xE6, 0xE6, 0xE6, 0xE6, 0xBE, 0xC8, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x38, 0x38, 0x38, 0x38, 0x28, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0xD6, 0xAC, 0x90,
|
||||
0x85, 0x85, 0x9A, 0xD6, 0xE7, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x09,
|
||||
0xE8, 0x87, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
|
||||
0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x87, 0xE8, 0x09, 0x14, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x09, 0xE8, 0x87, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0,
|
||||
0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x87, 0xE8, 0x09,
|
||||
0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x0C, 0xE9, 0x8C, 0xC7, 0xC7,
|
||||
0xBA, 0xBA, 0xBB, 0xBB, 0xDE, 0xDE, 0xDE, 0x5D, 0x5D, 0x5D, 0x5D, 0xDE, 0xDE, 0xDE, 0xDE, 0xBB,
|
||||
0xBB, 0xBA, 0xC7, 0xC7, 0x8C, 0xE9, 0x0C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xC8, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0x00, 0xA6, 0x00, 0x00, 0x00, 0x00, 0xA6, 0x00, 0xBE, 0xBE,
|
||||
0xBE, 0xBE, 0xBE, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E,
|
||||
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x38, 0x38, 0x38, 0x38,
|
||||
0x28, 0x0E, 0x05, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xAD, 0xE7, 0xEA, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0xEB, 0xEC, 0x9C, 0xB9, 0xB9, 0xB8, 0xB8, 0xED, 0xEE, 0xEE,
|
||||
0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xED, 0xB8, 0xB8, 0xB9, 0xB9, 0x9C, 0xEF, 0xEB,
|
||||
0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x08, 0xEB, 0xEF, 0x9C, 0xB9, 0xB9,
|
||||
0xB8, 0xB8, 0xED, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xED, 0xB8, 0xB8,
|
||||
0xB9, 0xB9, 0x9C, 0xEC, 0xEB, 0x08, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x0B, 0xF0, 0xF1, 0xA3, 0xF2, 0xF2, 0xF3, 0xF3, 0xF1, 0xF1, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4,
|
||||
0xF4, 0xF4, 0xF4, 0xF1, 0xF3, 0xF3, 0xF3, 0xF2, 0xF2, 0xA3, 0xF1, 0xF0, 0x0B, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E,
|
||||
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28,
|
||||
0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x0E, 0x05, 0x91, 0x91, 0x91, 0x91, 0x91, 0x12, 0x11,
|
||||
0x10, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x07, 0x08, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14,
|
||||
0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,
|
||||
0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x07, 0x14, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x5B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||
0x0C, 0x0B, 0x5B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
|
||||
0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x09,
|
||||
0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x05, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x14, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
|
||||
0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x14, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x14, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
|
||||
0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96, 0x96,
|
||||
0x96, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF5, 0xE9, 0x8C,
|
||||
0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C,
|
||||
0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0x8C, 0xE9, 0xF5, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05,
|
||||
0x05, 0x05, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
|
||||
|
||||
dword goto_about_pal [] = {0x00E4DFE1,0x00C4CBDD,0x00C5CCDF,0x00CAD1E0,0x00C2CADC,0x00E7E1E3,0x00E3DFE2,0x00C1C9DB,0x00E4E9F1,0x00E4E9F0,0x00DAD6DD,0x00BEC5D8,0x00CAD2E2,0x00CBD2E2,0x00CBD3E2,0x00CBD2E3,0x00C9D1E0,0x00C8D1DF,0x00BBC2D6,0x00AFB9D2,0x00B5BED5,0x00B7C1D6,0x00B7C2D6,0x00B6BFD5,0x00B3BCD2,0x00ADB6CD,0x00E2DDE1,0x00819FC5,0x00C1CCDE,0x00DCDADF,0x00ADB6D1,0x00ACB5D0,0x00AEBAD1,0x00AFBAD2,0x00ADB9D0,0x00AAB4CC,0x00A8B3CB,0x00E4E0E2,0x00FBFBFB,0x00FFFFFF,0x00F3F3F3,0x00E6E3E4,0x00C5CBDF,0x00AEB9D0,0x00B6BFD4,0x00B9C3D6,0x00BFC6D8,0x00E3DFE1,0x00C8C9C9,0x00B4BED5,0x00B4BED4,0x00B4BED3,0x00B2BBD3,0x00E5E0E2,0x00D8D7D8,0x00CBD0E1,0x00B9C2D6,0x00C8CDE0,0x00E4DFE2,0x00BFC5DA,0x00C8D0DF,0x00CBD2E1,0x00BDC5D6,0x00E0DAE0,0x007DB835,0x00DCDDE9,0x00B3BDD4,0x00F2F4F9,0x00BAC4D8,0x00D5D6E4,0x00B3DA82,0x0076AD32,0x00A5B2CD,0x00DBE0EC,0x00DCE1EC,0x00DCE1EB,0x00DBE0E9,0x00A7B4CD,0x00CBD0E2,0x00AAB4D0,0x00C8CEE1,0x00CAD1E2,0x00C8CEDD,0x00C5CDDD,0x00ACB6CE,0x00C3CADD,0x00A0D162,0x00B7C2DB,0x00AAB5CE,0x00B9C2D8,0x00B6BFD3,0x00A6B2CA,0x00B2BCD6,0x0097CD53,0x00A4AFCB,0x00ABB4CE,0x00AEB9D1,0x00ADB7D0,0x00A8B4CB,0x009FABC5,0x00B4BDD6,0x00E2DEE0,0x00D3D3D3,0x00E5DDDA,0x00F5CFA3,0x00F7C888,0x00F8CC8E,0x00F7C787,0x00F5CC9D,0x00E5DBD7,0x00A3AFCB,0x00B1BBD2,0x00B4BFD4,0x00B5BED3,0x00AFB9D0,0x00A3AEC9,0x00E1DDDE,0x0090C947,0x00DFDCDD,0x00F7C279,0x00FCDBAF,0x00FCE4C2,0x00F9D6A2,0x00F7C177,0x00E6D9D1,0x00A6B3D0,0x00AEBAD0,0x00BDC5D8,0x00BDC6D8,0x00A5B1CC,0x00E5E0E3,0x00DDDBDC,0x00F7C17A,0x00FBD197,0x00FCD7A2,0x00FBD6A3,0x00FCD4A2,0x00FBC885,0x00F7BE74,0x00E4DDDA,0x00DDDDEA,0x00AAB6D1,0x00BBC3D8,0x00BBC4D8,0x00ABB6D0,0x00D9DAE5,0x00D7D6D7,0x00F5DFC8,0x00F6B965,0x00F8C782,0x00F9C986,0x00F9C887,0x00F9C885,0x00F7C276,0x00F5B661,0x00F4D8BA,0x00C1C8DA,0x00B9C2D5,0x00BFC5D8,0x00E1DDE1,0x00F7D2A4,0x00F7BB6B,0x00F7BD6F,0x00F7BF6F,0x00F7BC6B,0x00F7B962,0x00F7B359,0x00F6CC95,0x00EFECEE,0x00DCDADB,0x00F7CD94,0x00F7B45B,0x00F7B459,0x00F7B65C,0x00F7B662,0x00F5B75F,0x00F7B254,0x00F7B454,0x00F6C689,0x00F7B967,0x00F7BC6F,0x00F7BC6A,0x00F7B964,0x00F7B55B,0x00F7B85C,0x00F6CF9A,0x00F8BD6B,0x00F7BC6D,0x00F8C072,0x00F7C076,0x00F8BA65,0x00F5DBC3,0x00F7CA91,0x00F8BB69,0x00F7C072,0x00F7BA68,0x00F7BA65,0x00F6CA8C,0x00F7C991,0x00F8BC6D,0x00F7CB8F,0x00F7D2A6};
|
||||
|
||||
unsigned char goto_about[1904] = FROM "imgs\goto_about.raw";
|
40
programs/cmm/eolite/include/about_dialog.h
Normal file
@ -0,0 +1,40 @@
|
||||
//Leency - 2008-2013
|
||||
|
||||
#define EDITOR_PATH "/sys/tinypad"
|
||||
#define BROWSER_PATH "/sys/htmlv"
|
||||
#define BROWSER_LINK "http://kolibri-n.org/index.php"
|
||||
|
||||
|
||||
void about_dialog()
|
||||
{
|
||||
byte id;
|
||||
loop() switch(WaitEvent())
|
||||
{
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
IF (id==1) || (id==10) ExitProcess();
|
||||
IF (id==23) RunProgram(BROWSER_PATH, BROWSER_LINK);
|
||||
IF (id==33) RunProgram(EDITOR_PATH, #program_path);
|
||||
break;
|
||||
|
||||
case evKey:
|
||||
IF (GetKey()==27) ExitProcess();
|
||||
break;
|
||||
|
||||
case evReDraw:
|
||||
DefineAndDrawWindow(600,150,181,232+GetSkinHeight(),0x34,col_work,"About Eolite");
|
||||
DrawBar(0,0,172,50,0x8494C4);
|
||||
PutPaletteImage(#logo,85,85,43,7,8,#logo_pal);
|
||||
WriteTextB(46,100,0x90,0xBF40BF,"Eolite v1.62");
|
||||
WriteText(55,120,0x80,0,"Developers:");
|
||||
WriteText(39,130,0x80,0,"Leency & Veliant");
|
||||
WriteText(45,140,0x80,0,"KolibriOS Team");
|
||||
WriteText(61,150,0x80,0,"2008-2013");
|
||||
WriteText(29,170,0x80,0,"Visit");
|
||||
DrawLink(66,170,0x80,23, "kolibri-n.org");
|
||||
DrawFlatButton(85,190,70,22,10,0xE4DFE1, "Close");
|
||||
DefineButton(20-1,195-1, 16+1,15+1, 33+BT_HIDE, 0);
|
||||
PutPaletteImage(8*16*15+#ficons,16,15,20,195,8,#ficons_pal);
|
||||
DrawFilledBar(0, 216, 172, 12);
|
||||
}
|
||||
}
|
57
programs/cmm/eolite/include/history.h
Normal file
@ -0,0 +1,57 @@
|
||||
//06.04.2012
|
||||
|
||||
path_string history_list[40];
|
||||
int history_num;
|
||||
int history_current;
|
||||
|
||||
#define ADD_NEW_PATH 1
|
||||
#define GO_BACK 2
|
||||
#define GO_FORWARD 3
|
||||
|
||||
dword GetCurrentFolder()
|
||||
{
|
||||
char cur_fol[4096];
|
||||
strcpy(#cur_fol, #path);
|
||||
cur_fol[strlen(#cur_fol)-1]=0x00; //îáðåçàåì ïîñëåäíèé /
|
||||
strcpy(#cur_fol, #cur_fol+strrchr(#cur_fol,'/'));
|
||||
return #cur_fol;
|
||||
}
|
||||
|
||||
int HistoryPath(byte action)
|
||||
{
|
||||
int MAX_HISTORY_NUM;
|
||||
|
||||
if (action==ADD_NEW_PATH)
|
||||
{
|
||||
if (history_num>0) && (!strcmp(#path,#history_list[history_current].Item)) return;
|
||||
|
||||
MAX_HISTORY_NUM = sizeof(history_list)/sizeof(path_string);
|
||||
if (history_current>=MAX_HISTORY_NUM-1)
|
||||
{
|
||||
history_current/=2;
|
||||
for (i=0; i<history_current; i++;)
|
||||
{
|
||||
strcpy(#history_list[i].Item, #history_list[MAX_HISTORY_NUM-i].Item);
|
||||
}
|
||||
}
|
||||
history_current++;
|
||||
strcpy(#history_list[history_current].Item, #path);
|
||||
history_num=history_current;
|
||||
}
|
||||
|
||||
if (action==GO_BACK)
|
||||
{
|
||||
if (history_current<=2) return 0;
|
||||
history_current--;
|
||||
strcpy(#path, #history_list[history_current].Item);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (action==GO_FORWARD)
|
||||
{
|
||||
if (history_current==history_num) return 0;
|
||||
history_current++;
|
||||
strcpy(#path, #history_list[history_current].Item);
|
||||
return 1;
|
||||
}
|
||||
}
|
301
programs/cmm/eolite/include/icons_f.h
Normal file
@ -0,0 +1,301 @@
|
||||
char *ext[]={
|
||||
"..", 17,
|
||||
"<DIR>",16,
|
||||
"txt", 1,
|
||||
"doc", 1,
|
||||
"rtf", 1,
|
||||
"odt", 1,
|
||||
"log", 1,
|
||||
"docx",1,
|
||||
"htm", 2,
|
||||
"html",2,
|
||||
"mht", 2,
|
||||
"ini", 3,
|
||||
"js", 3,
|
||||
"conf",3,
|
||||
"inf", 3,
|
||||
"xlt", 4,
|
||||
"xls", 4,
|
||||
"ods", 4,
|
||||
"xlsx",4,
|
||||
"cmd", 5,
|
||||
"bat", 5,
|
||||
"py", 5,
|
||||
"sh", 5,
|
||||
"ksh", 5,
|
||||
"com", 5,
|
||||
"kex", 6,
|
||||
"lua", 6,
|
||||
"exe", 7,
|
||||
"msi", 7,
|
||||
"sys", 8,
|
||||
"ocx", 8,
|
||||
"drv", 8,
|
||||
"so", 8,
|
||||
"inc", 9,
|
||||
"chr", 10,
|
||||
"mt", 10,
|
||||
"ttf", 10,
|
||||
"fon", 10,
|
||||
"asm", 11,
|
||||
"skn", 13,
|
||||
"djvu",15,
|
||||
"pdf", 15,
|
||||
"fb2", 15,
|
||||
"nes", 18,
|
||||
"smc", 18,
|
||||
"img", 21,
|
||||
"ima", 21,
|
||||
"dll", 22,
|
||||
"obj", 22,
|
||||
"dict",22,
|
||||
"iso", 24,
|
||||
"cue", 24,
|
||||
"nrg", 24,
|
||||
"mdf", 24,
|
||||
"gif", 19,
|
||||
"bmp", 19,
|
||||
"tga", 19,
|
||||
"pcx", 19,
|
||||
"png", 19,
|
||||
"pnm", 19,
|
||||
"jpg", 19,
|
||||
"xcf", 19,
|
||||
"ai", 19,
|
||||
"jpeg",19,
|
||||
"raw", 19,
|
||||
"psd", 19,
|
||||
"wbmp",19,
|
||||
"tiff",19,
|
||||
"tif", 19,
|
||||
"3ds", 20,
|
||||
"ico", 20,
|
||||
"cur", 20,
|
||||
"ani", 20,
|
||||
"vox", 20,
|
||||
"rar", 23,
|
||||
"zip", 23,
|
||||
"cab", 23,
|
||||
"tar", 23,
|
||||
"ajr", 23,
|
||||
"jar", 23,
|
||||
"7z", 23,
|
||||
"gz", 23,
|
||||
"mp3", 12,
|
||||
"wav", 12,
|
||||
"mid", 12,
|
||||
"midi",12,
|
||||
"ogg", 12,
|
||||
"wma", 12,
|
||||
"flac",12,
|
||||
"avi", 14,
|
||||
"flv", 14,
|
||||
"mpg", 14,
|
||||
"wmv", 14,
|
||||
"mov", 14,
|
||||
"mkv", 14,
|
||||
"mp4", 14,
|
||||
"vob", 14,
|
||||
"grf", 25,
|
||||
0,0};
|
||||
|
||||
|
||||
#include "imgs\icons.txt"
|
||||
|
||||
|
||||
void Put_icon(dword extension, yy, fairing_color)
|
||||
{
|
||||
int icon_n=0, i;
|
||||
|
||||
for (i=0; ext[i]<>0; i+=2;)
|
||||
if (!strcmp(extension, ext[i]))
|
||||
{
|
||||
icon_n = ext[i+1];
|
||||
break;
|
||||
}
|
||||
|
||||
PutPaletteImage(icon_n*16*15+#ficons,16,15,195,yy,8,#ficons_pal);
|
||||
if (icon_n<>17) && (strlen(extension)<9) WriteText(-strlen(extension)*3+onLeft(168,0)+36,yy+4,0x80,0,extension);
|
||||
if (fairing_color<>0xFFFfff) IconFairing(icon_n, yy, fairing_color); //çàêðàøèâàåì èêîíêó
|
||||
}
|
||||
|
||||
|
||||
|
||||
void IconFairing(dword filenum, y, color)
|
||||
{
|
||||
switch(filenum)
|
||||
{
|
||||
case 0...1: //ôàéëèê
|
||||
DrawBar(195,y,2,15,color);
|
||||
RIGHT_PAINT:
|
||||
DrawBar(209,y,2,15,color);
|
||||
DrawBar(205,y,4,1,color);
|
||||
DrawBar(206,y+1,3,1,color);
|
||||
DrawBar(207,y+2,2,1,color);
|
||||
PutPixel(208,y+3,color);
|
||||
return;
|
||||
case 2: //html
|
||||
DrawBar(195,y,1,7,color);
|
||||
DrawBar(196,y,1,6,color);
|
||||
DrawBar(195,y+10,1,5,color);
|
||||
DrawBar(196,y+11,1,4,color);
|
||||
GOTO RIGHT_PAINT;
|
||||
case 3: //íàñòðîéêè
|
||||
DrawBar(195,y,2,7,color);
|
||||
DrawBar(195,y+7,1,2,color);
|
||||
DrawBar(195,y+12,1,3,color);
|
||||
PutPixel(196,y+14,color);
|
||||
GOTO RIGHT_PAINT;
|
||||
case 9: //inc
|
||||
DrawBar(195,y,1,12,color);
|
||||
DrawBar(196,y,1,11,color);
|
||||
DrawBar(197,y,1,10,color);
|
||||
DrawBar(198,y,1,5,color);
|
||||
DrawBar(199,y,1,4,color);
|
||||
DrawBar(200,y,1,3,color);
|
||||
DrawBar(201,y,1,2,color);
|
||||
DrawBar(202,y,1,3,color);
|
||||
DrawBar(203,y,1,2,color);
|
||||
PutPixel(204,y,color);
|
||||
PutPixel(205,y+4,color);
|
||||
PutPixel(206,y+3,color);
|
||||
PutPixel(207,y,color);
|
||||
PutPixel(207,y+2,color);
|
||||
DrawBar(208,y,1,3,color);
|
||||
DrawBar(209,y,2,4,color);
|
||||
DrawBar(210,y,1,15,color);
|
||||
PutPixel(198,y+14,color);
|
||||
DrawBar(199,y+13,1,2,color);
|
||||
DrawBar(200,y+12,10,3,color);
|
||||
PutPixel(205,y+11,color);
|
||||
DrawBar(206,y+10,1,2,color);
|
||||
DrawBar(207,y+9,1,3,color);
|
||||
PutPixel(207,y+7,color);
|
||||
DrawBar(208,y+6,2,7,color);
|
||||
PutPixel(209,y+5,color);
|
||||
return;
|
||||
case 10: //font
|
||||
DrawRectangle3D(195,y,15,14,color,color);
|
||||
DrawBar(196,y+1,1,13,color);
|
||||
DrawBar(197,y+1,1,11,color);
|
||||
DrawBar(198,y+1,1,10,color);
|
||||
DrawBar(199,y+1,1,9,color);
|
||||
DrawBar(200,y+1,1,7,color);
|
||||
DrawBar(201,y+1,1,5,color);
|
||||
DrawBar(202,y+1,1,4,color);
|
||||
DrawBar(203,y+1,1,2,color);
|
||||
DrawBar(209,y+1,1,13,color);
|
||||
DrawBar(208,y+1,1,11,color);
|
||||
PutPixel(204,y+6,color);
|
||||
DrawBar(203,y+10,2,1,color);
|
||||
DrawBar(202,y+11,2,3,color);
|
||||
return;
|
||||
case 11: //asm
|
||||
DrawBar(195,y,1,15,color);
|
||||
return;
|
||||
case 12: //audio
|
||||
DrawBar(195,y,16,1,color);
|
||||
DrawBar(195,y,1,15,color);
|
||||
DrawBar(196,y+1,4,8,color);
|
||||
DrawBar(196,y+9,1,2,color);
|
||||
PutPixel(197,y+9,color);
|
||||
PutPixel(196,y+14,color);
|
||||
DrawBar(210,y+1,1,14,color);
|
||||
DrawBar(202,y+4,6,4,color);
|
||||
DrawBar(202,y+8,4,1,color);
|
||||
DrawBar(202,y+9,3,1,color);
|
||||
DrawBar(202,y+10,2,3,color);
|
||||
DrawBar(201,y+13,4,1,color);
|
||||
DrawBar(200,y+14,14,1,color);
|
||||
DrawBar(209,y+12,1,2,color);
|
||||
PutPixel(208,y+13,color);
|
||||
return;
|
||||
case 13: //skin
|
||||
PutPixel(210,y,color);
|
||||
return;
|
||||
case 14...15: //video, book
|
||||
DrawBar(195,y,1,15,color);
|
||||
DrawBar(210,y,1,15,color);
|
||||
return;
|
||||
case 16...17: //ïàïêà
|
||||
DrawBar(195,y,1,15,color);
|
||||
DrawBar(203,y,8,2,color);
|
||||
IF (filenum==17) PutPixel(206,y+1,0x1A7B17); //çåë¸íàÿ òî÷êà ñòðåëêè
|
||||
DrawBar(196,y+13,15,2,color);
|
||||
PutPixel(196,y,color); //.òî÷êè
|
||||
PutPixel(202,y,color);
|
||||
PutPixel(210,y+2,color);
|
||||
PutPixel(196,y+12,color);
|
||||
PutPixel(210,y+12,color);
|
||||
return;
|
||||
case 18: //êàðòðèäæ
|
||||
DrawBar(195,y,16,2,color);
|
||||
DrawBar(195,y+11,1,2,color);
|
||||
DrawBar(210,y+11,1,2,color);
|
||||
DrawBar(195,y+13,16,2,color);
|
||||
return;
|
||||
case 19: //èçîáðàæåíèå
|
||||
case 20: //èçîáðàæåíèå
|
||||
DrawBar(195,y+14,16,1,color);
|
||||
return;
|
||||
case 21: //äèñêåòà
|
||||
PutPixel(195,y,color);
|
||||
PutPixel(210,y,color);
|
||||
return;
|
||||
case 22: //áèáëèîòåêà
|
||||
DrawBar(195,y,16,1,color); //ñâåðõó ñëåâà
|
||||
DrawBar(195,y+1,3,1,color);
|
||||
DrawBar(195,y+2,2,1,color);
|
||||
PutPixel(195,y+3,color);
|
||||
PutPixel(210,y+11,color); //ñïðàâà ñïðàâà
|
||||
DrawBar(209,y+12,2,1,color);
|
||||
DrawBar(208,y+13,3,1,color);
|
||||
DrawBar(207,y+14,4,1,color);
|
||||
return;
|
||||
case 23: //àðõèâ
|
||||
PutPixel(195,y+3,color);
|
||||
PutPixel(195,y+11,color);
|
||||
PutPixel(210,y+3,color);
|
||||
PutPixel(210,y+11,color);
|
||||
|
||||
DrawBar(195,y,7,1,color);
|
||||
DrawBar(204,y,7,1,color);
|
||||
DrawBar(195,y+14,7,1,color);
|
||||
DrawBar(204,y+14,7,1,color);
|
||||
|
||||
DrawBar(195,y+1,5,1,color);
|
||||
DrawBar(206,y+1,5,1,color);
|
||||
DrawBar(195,y+13,5,1,color);
|
||||
DrawBar(206,y+13,5,1,color);
|
||||
|
||||
DrawBar(195,y+2,3,1,color);
|
||||
DrawBar(208,y+2,3,1,color);
|
||||
DrawBar(195,y+12,3,1,color);
|
||||
DrawBar(208,y+12,3,1,color);
|
||||
return;
|
||||
case 24: //îáðàç
|
||||
DrawBar(195,y,6,1,color);
|
||||
DrawBar(195,y+1,4,1,color);
|
||||
DrawBar(195,y+2,3,1,color);
|
||||
DrawBar(195,y+3,2,2,color);
|
||||
|
||||
DrawBar(195,y+5,1,5,color);
|
||||
|
||||
DrawBar(195,y+10,2,2,color);
|
||||
DrawBar(195,y+12,3,1,color);
|
||||
DrawBar(195,y+13,4,1,color);
|
||||
DrawBar(195,y+14,6,1,color);
|
||||
|
||||
DrawBar(195+11,y,5,1,color);
|
||||
DrawBar(195+13,y+1,3,1,color);
|
||||
DrawBar(195+14,y+2,2,1,color);
|
||||
DrawBar(195+15,y+3,1,2,color);
|
||||
|
||||
DrawBar(195+15,y+10,1,2,color);
|
||||
DrawBar(195+14,y+12,2,1,color);
|
||||
DrawBar(195+13,y+13,3,1,color);
|
||||
DrawBar(195+11,y+14,5,1,color);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
134
programs/cmm/eolite/include/ini.h
Normal file
@ -0,0 +1,134 @@
|
||||
//INI parser in C--, GPL licence.
|
||||
//Leency - 2012
|
||||
|
||||
#define COMMENT 0
|
||||
#define SECTION 1
|
||||
#define PARAM 2
|
||||
#define OPTION 3
|
||||
|
||||
unsigned char *ERROR_TEXT[]={
|
||||
"Code #0 - No error",
|
||||
"Error #1 - Base or partition of a hard disk is not defined",
|
||||
"Error #2 - Function isn't supported for this file system",
|
||||
"Error #3 - Unknown file system",
|
||||
"Error #4 - Reserved, is never returned",
|
||||
"Error #5 - File or folder not found",
|
||||
"Error #6 - End of file, EOF",
|
||||
"Error #7 - Pointer lies outside of application memory",
|
||||
"Error #8 - FAT table is destroyed",
|
||||
"Error #9 - FAT table is destroyed",
|
||||
"Error #10 - Access denied",
|
||||
"Error #11 - Device error",
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
"Error #30 - Not enough memory",
|
||||
"Error #31 - File is not executable",
|
||||
"Error #32 - Too many processes",
|
||||
0};
|
||||
|
||||
void GetIni(byte onload)
|
||||
{
|
||||
byte section[32], parametr[32], option[256], InfType=0;
|
||||
char bukva[2];
|
||||
int errornum, tj;
|
||||
static dword buff, fsize;
|
||||
//÷èòàåì ôàéë
|
||||
if (onload==1)
|
||||
{
|
||||
free(buff);
|
||||
buff = malloc(12000);
|
||||
program_path[strrchr(#program_path, '/')] = NULL;
|
||||
strcat(#program_path, "Eolite.ini");
|
||||
ReadFile(0, 12000, buff, #program_path);
|
||||
fsize=EBX;
|
||||
IF (EAX<>6) ReadFile(0, 12000, buff, "/sys/File managers/Eolite.ini");
|
||||
IF (EAX<>6) notify("Eolite.ini not found. Defaults will be used.");
|
||||
}
|
||||
//ïàðñèì åãî
|
||||
for (tj=0; tj<fsize; tj++;)
|
||||
{
|
||||
bukva = ESBYTE[buff+tj];
|
||||
switch (bukva)
|
||||
{
|
||||
case ';':
|
||||
InfType=COMMENT;
|
||||
break;
|
||||
case '[':
|
||||
InfType=SECTION;
|
||||
section=NULL;
|
||||
break;
|
||||
case ']':
|
||||
InfType=PARAM;
|
||||
break;
|
||||
case '=':
|
||||
InfType=OPTION;
|
||||
break;
|
||||
case 0x0a:
|
||||
case 0x0d:
|
||||
InfType=PARAM;
|
||||
IF (!strcmp(#parametr,"SelectionColor")) edit2.shift_color=col_selec=StrToCol(#option);
|
||||
IF (!strcmp(#parametr,"LineHeight")) BUTTON_HEIGHT=atoi(#option);
|
||||
IF (!strcmp(#parametr,"ShowDeviceName")) show_dev_name=atoi(#option);
|
||||
|
||||
/*if (!strcmp(#section,"UserDirectories")) && (parametr) && (onload)
|
||||
{
|
||||
copystr(#parametr, #disk_list[disc_num].Item);
|
||||
disc_num++;
|
||||
}*/
|
||||
|
||||
IF (parametr) && (!strcmp(#file_name+strrchr(#file_name,'.'),#parametr)) && (!onload)
|
||||
{
|
||||
errornum=RunProgram(#option,#file_path);
|
||||
IF (errornum<0) Write_Error(errornum); //åñëè îøèáî÷êà âûøëà ïðè çàïóñêå
|
||||
return;
|
||||
}
|
||||
parametr=option=NULL;
|
||||
break;
|
||||
default:
|
||||
IF (InfType==SECTION) chrcat(#section, bukva);
|
||||
IF (InfType==PARAM) chrcat(#parametr, bukva);
|
||||
IF (InfType==OPTION) chrcat(#option, bukva);
|
||||
}
|
||||
}
|
||||
if (file_path) && (!onload)
|
||||
{
|
||||
errornum=RunProgram(#file_path,NULL);
|
||||
if (errornum<0) Write_Error(errornum); //åñëè îøèáî÷êà âûøëà ïðè çàïóñêå
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Write_Error(int error_number)
|
||||
{
|
||||
char error[256];
|
||||
|
||||
if (error_number<0) error_number=-1*error_number;
|
||||
|
||||
if (error_number<33)
|
||||
strcpy(#error, ERROR_TEXT[error_number]);
|
||||
else
|
||||
{
|
||||
strcpy(#error, itoa(error_number));
|
||||
strcat(#error, " - Unknown error number O_o");
|
||||
}
|
||||
if (curbtn>=0) Line_ReDraw(0xFF0000, curbtn);
|
||||
pause(5);
|
||||
notify(#error);
|
||||
}
|
||||
|
||||
|
||||
dword StrToCol(char* htmlcolor)
|
||||
{
|
||||
dword j, color=0;
|
||||
char ch=0x00;
|
||||
|
||||
FOR (j=0; j<6; j++)
|
||||
{
|
||||
ch=ESBYTE[htmlcolor+j];
|
||||
IF ((ch>='0') && (ch<='9')) ch -= '0';
|
||||
IF ((ch>='A') && (ch<='F')) ch -= 'A'-10;
|
||||
IF ((ch>='a') && (ch<='f')) ch -= 'a'-10;
|
||||
color = color*0x10 + ch;
|
||||
}
|
||||
return color;
|
||||
}
|
192
programs/cmm/eolite/include/left_panel.h
Normal file
@ -0,0 +1,192 @@
|
||||
void Tip(int y, dword caption, id, arrow)
|
||||
{
|
||||
int i;
|
||||
DrawBar(17,y,160,1,0xEFEDEE);
|
||||
DrawFilledBar(17, y+1, 160, 16);
|
||||
WriteText(25,y+5,0x80,0,caption);
|
||||
IF (id<>0) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0xE4DFE1); //êíîïà äëÿ ñòðåëêè
|
||||
WriteText(165,y+5,0x80,0,arrow); //ñòðåëêà âíèç
|
||||
DrawBar(17,y+17,160,1,0x94AECE); //ïîä÷¸ðêèâàíèå
|
||||
}
|
||||
|
||||
|
||||
path_string disk_list[20];
|
||||
int disc_num;
|
||||
dword devbuf;
|
||||
|
||||
void GetSystemDiscs()
|
||||
{
|
||||
unsigned char dev_name[10], sys_discs[10];
|
||||
unsigned int i1, j1, dev_num, dev_disc_num;
|
||||
|
||||
disc_num=0;
|
||||
if (devbuf) free(devbuf);
|
||||
devbuf = malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
|
||||
ReadDir(19, devbuf, "/");
|
||||
dev_num = EBX;
|
||||
for (i1=0; i1<dev_num; i1++)
|
||||
{
|
||||
strcpy(#dev_name, "/"); // /
|
||||
strcat(#dev_name, i1*304+ devbuf+72); // /rd
|
||||
strcat(#dev_name, "/"); // /rd/
|
||||
Open_Dir(#dev_name, ONLY_OPEN);
|
||||
dev_disc_num = count;
|
||||
//if (count<=0) copystr(#dev_name,#disk_list[disc_num].Item); else
|
||||
for (j1=0; j1<dev_disc_num; j1++;)
|
||||
{
|
||||
strcpy(#sys_discs, #dev_name); // /rd/
|
||||
strcat(#sys_discs, j1*304+ buf+72); // /rd/1
|
||||
strcat(#sys_discs, "/"); // /rd/1/
|
||||
strcpy(#disk_list[disc_num].Item, #sys_discs);
|
||||
disc_num++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DrawSystemDiscs()
|
||||
{
|
||||
byte disc_icon;
|
||||
char dev_name[10];
|
||||
char disc_name[100];
|
||||
int i, dev_icon;
|
||||
|
||||
for (i=0; i<20; i++) DeleteButton(100+i);
|
||||
//ñïèñîê äèñêîâ
|
||||
Tip(56, "Devices", 78, "=");
|
||||
for (i=0;i<disc_num;i++)
|
||||
{
|
||||
DrawBar(17,i*16+74,160,17,0xFFFFFF); //ôîí
|
||||
DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ
|
||||
strcpy(#dev_name, #disk_list[i].Item);
|
||||
dev_name[strlen(#dev_name)-1]=NULL;
|
||||
switch(dev_name[1])
|
||||
{
|
||||
case 'r':
|
||||
dev_icon=0;
|
||||
strcpy(#disc_name, "RAM disk ");
|
||||
break;
|
||||
case 'c':
|
||||
dev_icon=1;
|
||||
strcpy(#disc_name, "CD-ROM ");
|
||||
break;
|
||||
case 'f':
|
||||
dev_icon=2;
|
||||
strcpy(#disc_name, "Floppy disk ");
|
||||
break;
|
||||
case 'h':
|
||||
case 'b':
|
||||
dev_icon=3;
|
||||
strcpy(#disc_name, "Hard disk ");
|
||||
break;
|
||||
case 'u':
|
||||
dev_icon=5;
|
||||
strcpy(#disc_name, "USB flash ");
|
||||
break;
|
||||
case 't':
|
||||
dev_icon=4;
|
||||
strcpy(#disc_name, "RAM disk ");
|
||||
DefineButton(17+143,i*16+74,16,16,i+130+BT_HIDE+BT_NOFRAME,0xFFFFFF);
|
||||
WriteText(45+121,i*16+79,0x80,0xD63535,"-");
|
||||
WriteText(45+121,i*16+79+1,0x80,0xBC2424,"-");
|
||||
break;
|
||||
default:
|
||||
dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê íî ýòî íåïðàâèëüíî
|
||||
strcpy(#disc_name, "Unknown ");
|
||||
}
|
||||
strcat(#disc_name, #dev_name);
|
||||
if (show_dev_name) WriteText(45,i*16+79,0x80,0,#disc_name);
|
||||
else WriteText(45,i*16+79,0x80,0,#dev_name);
|
||||
_PutImage(21,i*16+76, 14,13, dev_icon*14*13*3+#devices);
|
||||
}
|
||||
}
|
||||
|
||||
void FileMenu()
|
||||
{
|
||||
word id, key;
|
||||
loop() switch(WaitEvent())
|
||||
{
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
ExitProcess();
|
||||
break;
|
||||
|
||||
case evKey:
|
||||
IF (GetKey()==27) ExitProcess();
|
||||
break;
|
||||
|
||||
case evReDraw:
|
||||
DefineAndDrawWindow(m.x+1+Form.left,m.y+Form.top,159,90,0x01,0xEEEeee,0x01fffFFF);
|
||||
DrawBar(1,18,160,51,0xFFFFFF); //áåëîå
|
||||
_PutImage(1,23, 16,44, #factions); //èêîíêè
|
||||
//rename file
|
||||
DefineButton(1,18,159,16,80+BT_HIDE,0xE4DFE1);
|
||||
WriteText(26,23,0x80,0,"Rename file");
|
||||
WriteText(134,23,0x80,0x999999,"[F2]");
|
||||
//delete file
|
||||
DefineButton(1,35,159,16,81+BT_HIDE,0xE4DFE1);
|
||||
WriteText(26,40,0x80,0,"Delete file");
|
||||
WriteText(144,40,0x80,0x999999,"[Del]");
|
||||
//create folder
|
||||
DefineButton(1,52,159,16,82+BT_HIDE,0xE4DFE1);
|
||||
WriteText(26,57,0x80,0,"Create folder");
|
||||
WriteText(134,57,0x80,0x999999,"[F6]");
|
||||
}
|
||||
}
|
||||
|
||||
void Actions()
|
||||
{
|
||||
int actions_y=disc_num*16;
|
||||
|
||||
DeleteButton(80);
|
||||
DeleteButton(81);
|
||||
DeleteButton(82);
|
||||
|
||||
if (!show_actions)
|
||||
Tip(actions_y+90, "Actions", 77, "\x18");
|
||||
else
|
||||
{
|
||||
Tip(actions_y+90, "Actions", 77, "\x19"); //çàãîëîâîê
|
||||
DrawBar(17,actions_y+108,160,51,0xFFFFFF); //áåëîå
|
||||
_PutImage(21,actions_y+113, 16,44, #factions); //èêîíêè
|
||||
//rename file
|
||||
DefineButton(17,actions_y+108,159,16,80+BT_HIDE,0xE4DFE1);
|
||||
WriteText(42,actions_y+113,0x80,0,"Rename file");
|
||||
WriteText(150,actions_y+113,0x80,0x999999,"[F2]");
|
||||
//delete file
|
||||
DefineButton(17,actions_y+125,159,16,81+BT_HIDE,0xE4DFE1);
|
||||
WriteText(42,actions_y+130,0x80,0,"Delete file");
|
||||
WriteText(144,actions_y+130,0x80,0x999999,"[Del]");
|
||||
//create folder
|
||||
DefineButton(17,actions_y+142,159,16,82+BT_HIDE,0xE4DFE1);
|
||||
WriteText(42,actions_y+147,0x80,0,"Create folder");
|
||||
WriteText(150,actions_y+147,0x80,0x999999,"[F6]");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LeftPanelBackground()
|
||||
{
|
||||
int actions_y=disc_num*16;
|
||||
int start_y = show_actions*51+actions_y+108;
|
||||
DrawBar(2,41,190,15,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - íàä äåâàéñàìè
|
||||
DrawBar(17,actions_y+75,160,15,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè
|
||||
DrawBar(2,56,15,actions_y+103,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - ñëåâà
|
||||
DrawBar(177,56,15,actions_y+103,col_lpanel); //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà
|
||||
if (onTop(start_y, 6) < 268)
|
||||
PutPaletteImage(#blue_hl, 190, onTop(start_y, 6), 2, start_y, 8, #blue_hl_pal);
|
||||
else
|
||||
{
|
||||
DrawBar(2,start_y,190,onTop(start_y,6+268),col_lpanel);
|
||||
PutPaletteImage(#blue_hl, 190, 268, 2, onTop(268,6), 8, #blue_hl_pal);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DrawLeftPanel()
|
||||
{
|
||||
DrawSystemDiscs();
|
||||
Actions();
|
||||
LeftPanelBackground();
|
||||
}
|
||||
|
69
programs/cmm/eolite/include/some_code.h
Normal file
@ -0,0 +1,69 @@
|
||||
//Leency - 2012
|
||||
|
||||
dword onLeft(dword right,left) {EAX=Form.width-right-left;}
|
||||
dword onTop(dword down,up) {EAX=Form.height-GetSkinHeight()-down-up;}
|
||||
|
||||
|
||||
void ShowMessage(dword message)
|
||||
{
|
||||
DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, message);
|
||||
pause(150);
|
||||
List_ReDraw();
|
||||
}
|
||||
|
||||
|
||||
dword ConvertSize(dword bytes)
|
||||
{
|
||||
unsigned char size_prefix[8], size_nm[4];
|
||||
if (bytes>=1073741824) strcpy(#size_nm, " Gb");
|
||||
else if (bytes>=1048576) strcpy(#size_nm, " Mb");
|
||||
else if (bytes>=1024) strcpy(#size_nm, " Kb");
|
||||
else strcpy(#size_nm, " b ");
|
||||
while (bytes>1023) bytes/=1024;
|
||||
strcpy(#size_prefix, itoa(bytes));
|
||||
strcat(#size_prefix, #size_nm);
|
||||
return #size_prefix;
|
||||
}
|
||||
|
||||
|
||||
dword col_palette[14] = {0xD2D3D3,0xD4D4D4,0xD6D5D6,0xD8D7D8,0xDAD8D9,0xDCDADB,
|
||||
0xDFDCDD,0xE1DDDE,0xE2DEE0,0xE4DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1,0xE3DFE1};
|
||||
|
||||
inline fastcall void TVScroll() { //Ïðîêðóòêà
|
||||
dword on_y, i;
|
||||
if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,col_work,""); return;}
|
||||
on_y = za_kadrom * onTop(22,57) / count +57;
|
||||
scroll_size=onTop(22,57) * f_visible - f_visible / count;
|
||||
if (scroll_size<20) scroll_size = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà
|
||||
if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //äëÿ áîëüøîãî ñïèñêà
|
||||
DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,-1,"");//ïîëçóíîê
|
||||
if (!scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[13-i]);
|
||||
if (scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[i]);
|
||||
//ïîëå äî ïîëçóíêà
|
||||
if (on_y>58) DrawBar(onLeft(26,0),57,15,1, 0xC7C9C9);
|
||||
DrawBar(onLeft(26,0),58,1, on_y-58,0xC7C9C9);
|
||||
DrawBar(onLeft(25,0),58,14,on_y-58,0xCED0D0);
|
||||
//ïîëå ïîñëå ïîëçóíêà
|
||||
if (onTop(22,57)-scroll_size+55>on_y) DrawBar(onLeft(26,0),on_y+scroll_size+1,15,1,0xC7C9C9);
|
||||
DrawBar(onLeft(26,0),on_y+scroll_size+2,1,onTop(22,57)-scroll_size-on_y+55,0xC7C9C9);
|
||||
DrawBar(onLeft(25,0),on_y+scroll_size+2,14,onTop(22,57)-scroll_size-on_y+55,0xCED0D0);
|
||||
}
|
||||
|
||||
void DrawFlatButton(dword x,y,width,height,id,color,text)
|
||||
{
|
||||
int fill_h;
|
||||
DrawRectangle(x,y,width,height,col_border);
|
||||
DrawRectangle3D(x+1,y+1,width-2,height-2,0xFEFEFE,col_padding);
|
||||
PutPixel(x+width-1, y+1, col_work);
|
||||
if (color!=-1) DrawFilledBar(x+2, y+2, width-3, height-3);
|
||||
IF (id<>0) DefineButton(x+1,y+1,width-2,height-2,id+BT_HIDE,0xEFEBEF);
|
||||
WriteText(-strlen(text)*6+width/2+x+1,height/2-3+y,0x80,0,text);
|
||||
}
|
||||
|
||||
void DrawFilledBar(dword x, y, w, h)
|
||||
{
|
||||
int i, fill_h;
|
||||
if (h <= 14) fill_h = h; else fill_h = 14;
|
||||
for (i=0; i<fill_h; i++) DrawBar(x, y+i, w, 1, col_palette[14-i]);
|
||||
DrawBar(x, y+i, w, h-fill_h, col_palette[14-i]);
|
||||
}
|
51
programs/cmm/eolite/include/sorting.h
Normal file
@ -0,0 +1,51 @@
|
||||
//Áûñòðàÿ ñîðòèðîâêà. Leency 2008.
|
||||
|
||||
void Sort_by_Size(int a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1
|
||||
{
|
||||
int iss = a;
|
||||
IF (a >= b) return;
|
||||
FOR (j = a; j <= b; j++)
|
||||
IF (ESDWORD[file_mas[j]*304 + buf+64] <= ESDWORD[file_mas[b]*304 + buf+64]) { file_mas[iss] >< file_mas[j]; iss++;}
|
||||
Sort_by_Size (a, iss-2);
|
||||
Sort_by_Size (iss, b);
|
||||
}
|
||||
|
||||
|
||||
void Sort_by_Name(int a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1
|
||||
{
|
||||
int isn = a;
|
||||
IF (a >= b) return;
|
||||
FOR (j = a; j <= b; j++)
|
||||
IF (strcmp(file_mas[j]*304 + buf+72, file_mas[b]*304 + buf+72)<=0) { file_mas[isn] >< file_mas[j]; isn++;}
|
||||
Sort_by_Name(a, isn-2);
|
||||
Sort_by_Name(isn, b);
|
||||
}
|
||||
|
||||
|
||||
void Sort_by_Type(int a, b) // äëÿ ïåðâîãî âûçîâà: a = 0, b = <ýëåìåíòîâ â ìàññèâå> - 1
|
||||
{
|
||||
dword filename1, filename2, ext1, ext2;
|
||||
int n, isn = a;
|
||||
IF (a >= b) return;
|
||||
for (j = a; j <= b; j++)
|
||||
{
|
||||
filename1 = file_mas[j]*304 + buf+72;
|
||||
filename2 = file_mas[b]*304 + buf+72;
|
||||
|
||||
n=strlen(filename1)-1;
|
||||
WHILE (n>0) && (ESBYTE[filename1+n]<>'.') n--;
|
||||
IF (n) ext1 = filename1+n+1; else ext1=0;
|
||||
n=strlen(filename2)-1;
|
||||
WHILE (n>0) && (ESBYTE[filename2+n]<>'.') n--;
|
||||
IF (n) ext2 = filename2+n+1; else ext2=0;
|
||||
|
||||
n=strcmp(ext1, ext2);
|
||||
IF (n<0) { file_mas[isn] >< file_mas[j]; isn++;}
|
||||
IF (n==0) && (strcmp(filename1, filename2)<=0) { file_mas[isn] >< file_mas[j]; isn++;}
|
||||
}
|
||||
Sort_by_Type(a, isn-2);
|
||||
Sort_by_Type(isn, b);
|
||||
}
|
||||
|
||||
|
||||
|
569
programs/cmm/eolite/txt/History.txt
Normal file
@ -0,0 +1,569 @@
|
||||
xx.xx.13 -- v1.61
|
||||
- перенос программы на общую библиотеку (очень хотел s1n). Это даёт доступ
|
||||
к множествам наработок основной ветви;
|
||||
- для имен файлов и адресной строки теперь используется PathShow;
|
||||
- определение USB flash дисков;
|
||||
- исправление многих ошибок.
|
||||
|
||||
|
||||
10.01.13 -- v1.55
|
||||
- исправлен эпичный баг с сортировкой;
|
||||
- испрвлены баги при попытке переименования или удаления файла в папке,
|
||||
где их нет.
|
||||
|
||||
17.12.12 -- v1.5
|
||||
Обновлён GUI: кнопки на тулбаре стали чище, остальные обзавелись градиентами.
|
||||
|
||||
16.11.12 -- v1.43
|
||||
- при минимальном размере окна учитывается количество дисков в системе;
|
||||
- добавлен фон на левую панель;
|
||||
- удаление виртуальных дисков типа /tmpX/1;
|
||||
- исправлена страшнейшая утечка памяти равная размеру копируемого файла;
|
||||
- улучшения в организации файлов и кода.
|
||||
|
||||
15.11.12 -- v1.36
|
||||
- устранена утечка памяти при сканировании устройств;
|
||||
- частично устранён вылет программы на больших папках (спасибо SoUrcerer за
|
||||
то, что научил пользоваться отладчиком);
|
||||
- ограничение на количесво устройств изменено с 10 на 20;
|
||||
- обновление кода.
|
||||
|
||||
12.11.12 -- v1.35
|
||||
- теперь окно не обрабатывает клавиши если свёрнуто в заголовок;
|
||||
- фикс для строки адреса;
|
||||
- исправлена 100% загрузка процессора при удержании ползунка;
|
||||
- исправлена серьёзная утечка памяти, уменьшено её потребление.
|
||||
|
||||
10.07.12 -- v1.30
|
||||
- небольшие улучшения в работе кнопок "назад/вперёд";
|
||||
- иконка для *.grf;
|
||||
- в окне About кнопка для редактирования Eolite.ini;
|
||||
- небольшие улучшения кода.
|
||||
|
||||
|
||||
23.06.12 -- v1.28
|
||||
- более правильная реализация вывода ошибок (+задел на мультиязычность)
|
||||
и вывода иконки (+задел на перемещение в ini файл);
|
||||
- исправлен баг с вылетом при нажатии на кнопку "Вперёд";
|
||||
- удалён мёртвый код, обновление существующего.
|
||||
|
||||
21.06.12 -- v1.25
|
||||
- распознавание виртуального диска;
|
||||
- изменения в прокрутке колёсиком мыши;
|
||||
- обновление кода.
|
||||
|
||||
14.06.12 -- v1.23
|
||||
- исправлен баг, когда окно было схлопнуто в заголовок и свёрнуто;
|
||||
- при нажатии на кнопку закрытия окна ползунок прыгал вверх.
|
||||
|
||||
13.05.12 -- v1.22 --16,5 Кб
|
||||
- окно не залезает на панель задач при запуске на низких разрешениях;
|
||||
- кнопка и параметр в ini-файле показывать названия устройств или нет.
|
||||
|
||||
05.04.12 -- v1.2 --16,5 Кб
|
||||
- заработала кнопка "Вперёд", кошерный код работы с историей;
|
||||
- парочка багфиксов в определении и выводе списка устройств.
|
||||
|
||||
05.04.12 -- v1.1 --16,2 Кб
|
||||
- отображение списка дисков, а не устройств в панели слева;
|
||||
- уменьшен размер программы и потребляемой памяти;
|
||||
- возможность задать цвет выделения и высоту пункта в списке файлов;
|
||||
- после перерисовки окна пропадал диалог удаления файла
|
||||
- другие мелкие исправления.
|
||||
|
||||
26.03.12 -- v1.0 --16,2 Кб
|
||||
Мелкие исправления.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
27.08.11 -- v0.99.8 RC3 -- 16.2 Кб
|
||||
- исправления в скроллбаре, баг со времён первых версий;
|
||||
- в 90% случаев не выделяло переименованый файл;
|
||||
- не выделяло файл скопированный в эту же папку;
|
||||
- теперь прокрутка срабатывает только, если окно активно (спасибо Mario);
|
||||
- новая иконка ножниц в тулбаре (несколько изменённый вариант из Fugue icons);
|
||||
- абсолютно все иконки файлов теперь обтекаемы выделением (помнится кто-то просил);
|
||||
- исправлены ошибки в процедуре переименования;
|
||||
- теперь программа адекватно открывается с параметром;
|
||||
- много других оптимизаций и мелких исправлений.
|
||||
|
||||
|
||||
22.08.11 -- v0.99 RC2 -- 16.2 Кб
|
||||
- чуток улучшен Ctrl+N;
|
||||
- небольшое исправление если запустить Эолайт с параметром /rd/1/;
|
||||
- Ctrl+D помещает растянутое изображение на раб.стол (для меня это была Ultimate Ficha KFM);
|
||||
- крохотный фикс скролла;
|
||||
- более няшно нажимаются кнопки навигации;
|
||||
- чуток обновлены иконки.
|
||||
|
||||
|
||||
18.08.11 -- v0.98.9b RC2 -- 15.9 Кб
|
||||
- программа берёт файл настроек из папки, откуда запущена.
|
||||
Если он там не найден, то из папки по-умолчанию /rd/1/File managers/Eolite.ini
|
||||
(for Chaos Constructions-2011, thanks Albom).
|
||||
|
||||
|
||||
30.07.11 -- v0.98.9 RC2 -- 15.9 Кб
|
||||
- если файл с настройками (Eolite.ini) не найден, то программа любезно
|
||||
сообщит об этом через @notify;
|
||||
- теперь отображает серым не только системные, но и скрытые файлы;
|
||||
- предварительный просмотр удалён за ненадобностью;
|
||||
- kolibrios.org теперь ссылка в окне "О программе" (хотя htmlv пока что
|
||||
не умеет открывать интернет адреса при запуске);
|
||||
- F4 - открывает файл для hex просмотра и редактирования (хотя heed пока
|
||||
что не поддерживает работу с параметрами...).
|
||||
|
||||
|
||||
20.07.11 -- v0.98.8 RC2 -- 15.9 Кб
|
||||
- вывод сообщений об ошибках файловой системы через @notify. Притом не
|
||||
только номер, а ещё и разъяснения что за ошибка;
|
||||
- теперь нормально определяются расширения файлов, а не тупо обрезается
|
||||
последних 4 символа имени файла. В часности исправлен баг,
|
||||
найденный Gluk'ом, когда иконка программы Zeroconf была как
|
||||
у конфигурационного файла с расширением ".conf";
|
||||
- Rock_maniak_forever поправил 9 функцию, связанную с буфером, чтобы Эолайт
|
||||
не показывал мусор вместо списка файлов;
|
||||
- при создании новой папки на разделе, с фс которое его не поддерживает,
|
||||
выделяло первую папку, исправлено (баг нашёл turbanoff);
|
||||
- показывается сообщение что папка не может быть создана, файл удалён;
|
||||
- новые пиктограммы действий (Actions);
|
||||
- много новых и обновлённых иконок файлов.
|
||||
|
||||
|
||||
|
||||
|
||||
30.01.10 -- v0.98.7a RC2 -- 14.8 Кб
|
||||
- увеличена длинна пути файла: отныне может быть до 4096 символов.
|
||||
|
||||
|
||||
23.10.09 -- v0.98.7 RC2 -- 14.7 Кб (Izabella edition)
|
||||
- исправлено два бага при использовании клавиш Ctrl+F1...F12 при переключении
|
||||
между устройствами: во-первых, не переходило на рам-диск, во-вторых, переходило
|
||||
на несуществующие носители.
|
||||
|
||||
|
||||
19.10.09 -- v0.98.6 RC2 -- 14.7 Кб (рано закапывать, так-то!)
|
||||
- Lrz: поддержание совместимости с новой версией box_lib.obj.
|
||||
|
||||
|
||||
29.12.08 -- v0.98.5 RC2 -- 14.7 Кб
|
||||
- начальная поддержка ini-файла, начальная потому что пока что при каждом
|
||||
запуске файла или программы он загрузажется и парсится;
|
||||
- по просьбе Nable'а сделал тексторый предпросмотр файлов (в DOS-кодировке);
|
||||
- анимация при разворачивании Preview;
|
||||
- после переименования выделяется переименованый файл или папка.
|
||||
- исправлен баг в сортировке по типу из-за которого программа могла вылетать;
|
||||
- исправлен баг с клавишей вверх, в случае, если в разделе нет файлов и папок;
|
||||
- исправлена процедура поднятия папки ".." вверх из-за которой программа в
|
||||
разделе, где нет папок, вылетала;
|
||||
- упрощение и удаление мертвого кода.
|
||||
|
||||
|
||||
20.12.08 -- v0.98.3 RC2 -- 14.6 Кб
|
||||
- теперь координаты отсчитываются от конца скина;
|
||||
- устранён вылет программы в случае, если в папке 0 или больше чем 6898 файлов;
|
||||
- исправлен баг: если в конце списка развернуть окно, выделение "прыгало" вверх;
|
||||
- исправлена перерисовка при переходе в другую папку или устройство;
|
||||
- немного оптимизировано изменение регистра букв в названиях файлов;
|
||||
- теперь выделяется папка, в которой мы были и после кнопки "Назад";
|
||||
- исправлены недочёты при переходе в верхнюю папку;
|
||||
- в историю посещённых папок теперь не может два раза подряд записаться одна и
|
||||
та же папка;
|
||||
- исправлен баг из-за которого выделение выделение могло не двигаться клавишами;
|
||||
- прога не вылетает из-за переполнения в истории посещённых папок, однако один
|
||||
небольшой косяк там остался;
|
||||
- тестовое отображение скрытых файлов;
|
||||
- удалён неиспользуемый код.
|
||||
|
||||
|
||||
16.12.08 -- v0.98.1 RC1 -- 14.7 Кб
|
||||
- папка ".." теперь всегда первая в списке;
|
||||
- кнопки вверх/вниз скролл бара теперь реагируют на нажатие и удержание;
|
||||
- файлы с некоторыми расширениями теперь нельзя запускать (реализовал s1n).
|
||||
|
||||
|
||||
15.12.08 -- v0.98 RC1 -- 14.5 Кб
|
||||
- программа научилась работать с bd-дисками и NTFS;
|
||||
- исправлен баг из-за которого прога вылетала при переходе на уровень вверх;
|
||||
- исправлено отображение регистра букв для кириллицы;
|
||||
- удаление папки "." из листинга директории (спасибо diamond'у за помощь).
|
||||
|
||||
|
||||
30.11.08 -- v0.97.2 beta7 -- 14.4 Кб
|
||||
- на /bd/ разделах прога больше не вылетает (хоть ничего на них и не видит);
|
||||
- некоторые исправления в работе полосы прокрутки;
|
||||
- динамическое выделение памяти (в режиме тестирования).
|
||||
|
||||
|
||||
26.11.08 -- v0.97.1 beta7 -- 14.3 Кб
|
||||
- удаление, создание и переименование пустых папок;
|
||||
- все процедуры работы с файловой системой вынесены в отдельный файл;
|
||||
- благодаря помощи Veliant'а большая часть изображений конвертирована в
|
||||
256-цветные с палитрой. В результате чего уменьшился размер сжатой программы
|
||||
и в 2 раза уменьшился обьём несжатой kpack'ом;
|
||||
- улучшено перетягивание ползунка;
|
||||
- исправлен один баг.
|
||||
|
||||
|
||||
20.11.08 -- v0.97 beta7 -- 14.9 Кб
|
||||
- уменьшена перерисовка: во время перерисовки списка
|
||||
фон под иконками не рисуется;
|
||||
- новая иконка изображений, обтекаемость архивов.
|
||||
|
||||
|
||||
17.11.08 -- v0.96.9 beta7 -- 14.9 Кб
|
||||
- некоторые новые ассоциации и иконки файлов .dll (.obj) и .img.
|
||||
|
||||
|
||||
14.11.08 -- v0.96.8 beta7 -- 14.6 Кб
|
||||
- при нажатии на букву, выделяется соответствующий файл;
|
||||
- некоторые новые ассоциации и иконки файлов .cpp и .nes.
|
||||
|
||||
|
||||
31.10.08 -- v0.96.7 beta7 -- 14.4 Кб
|
||||
- теперь, при переходе на уровень вверх, выделяется папка в которой мы были;
|
||||
- отловил баг из-за которого, если попытаться войти в верхнюю папку\файл в
|
||||
списке, не смотря что там выделено, вы перейдёте на уровень вверх;
|
||||
- исправлен баг из-за которого не все элементы сортировались по типу;
|
||||
- теперь выделеный элемент в списке рисуется "в порядке очереди", а не самым
|
||||
последним; это было заметно при перемотке;
|
||||
- оптимизации.
|
||||
|
||||
|
||||
24.10.08 -- v0.96.3 beta7 -- 14.4 Кб
|
||||
- скролл колёсиком как в Symbian;
|
||||
- уменьшена перерисовка окна в ущерб размеру программы;
|
||||
- исправлен баг, когда папки, названия которых имели симполы типа !,& прыгали
|
||||
вверх, выше папки "..";
|
||||
- исправление других багов, улучшение кода.
|
||||
|
||||
|
||||
23.10.08 -- v0.96 beta6 -- 14.1 Кб
|
||||
- вместо сортировки пузырьком теперь используется алгоритм быстрой сортировки
|
||||
(да здравствует Википедия!)). Как результат скорость сортировки по размеру
|
||||
увеличилась в 8 раз, по типу более чем в 5 раз, по имени возросла на 30%;
|
||||
- и более того: теперь, конечно же, сортировка проходит не по первой букве имени
|
||||
файла, а по названию вообще. Так же, при сортировке по типу есть одинаковые
|
||||
расширения, то эти файлы упорядывачиваются по имени;
|
||||
- оптимизирована процедура сравнения строк;
|
||||
- перемотка по 3 элемента;
|
||||
- оптимизация и доработка панели устройств.
|
||||
|
||||
|
||||
17.10.08 -- v0.95.7 beta6 -- 14.3 Кб
|
||||
- перемотка по 2 элемента;
|
||||
- упорядочивание файлов по типу.
|
||||
|
||||
15.10.08 -- v0.95.4 beta6 -- 14.0 Кб
|
||||
- исправлен баг: первая буква названия файл\папки не делалась большой (строчной).
|
||||
|
||||
03.10.08 -- v0.95.3 beta6 -- 14.1 Кб
|
||||
- устранён серьёзный баг с кнопкой "Назад";
|
||||
- при сортировке файлов по размеру, папки не перемешиваются в хаотичном порядке,
|
||||
а продолжают быть отсортированными по имени.
|
||||
- устранён баг в сортировке файлов;
|
||||
- новая иконка папки.
|
||||
|
||||
|
||||
17.09.08 -- v0.95.2 beta6 -- 14.1 Кб
|
||||
- исправлена ошибка, связанная с количеством файлов в папке, замечена Serge'м.
|
||||
Теперь Эолайт без проблем заходит даже в самые большие папки (было проверено
|
||||
на папке объёмом 91000 файлов), но отображает максимум только 6898 файлов;
|
||||
- по нажатию Ctrl+N создаётся новое окно программы с текущей папкой;
|
||||
- небольшие оптимизации.
|
||||
|
||||
|
||||
14.09.08 -- v0.95 beta6 -- 14.0 Кб
|
||||
- новая полоса адреса и переименования файла, основанные на компоненте от <Lrz>;
|
||||
- в EditBox'ax теперь можно использовать все цифры от 1 до 9 (мечта Атаульпы:);
|
||||
- если не выделена строка адреса клавиша BackSpace возвращает в предыдущую папку;
|
||||
- оптимизирована функция IntToStr() за что огромное спасибо diamond'y, она стала
|
||||
меньше на 158 байт;
|
||||
- много интересного почерпнуто из либы Nable'а относительно оптимизации функций;
|
||||
- по совету Albom'a динамическое выделение памяти было заменено статическим, как
|
||||
последствие - исчезло два известных бага, связанных с копированием файлов и
|
||||
их переименованием;
|
||||
- некоторые переменные стали локальными, ещё оптимизации и небольшие багфиксы.
|
||||
|
||||
|
||||
02.08.08 -- v0.94.4 beta5 -- 14.0 Кб
|
||||
- правка трёх небольших багов, оптимизации.
|
||||
|
||||
|
||||
28.07.08 -- v0.94.3 beta5 -- 14.1 Кб
|
||||
- переход по девайсам Ctrl+<цифра>;
|
||||
- установлен минимальный размер высоты окна;
|
||||
- иконка папки "вверх";
|
||||
- почищен и оптимизирован код.
|
||||
|
||||
|
||||
04.07.08 -- v0.94 beta5 -- 13.9 Кб
|
||||
- исправлен довольно старый баг, если ползунок прокрутки в папке с очень большим
|
||||
количеством файлов перетянуть вверх до начала списка, программа вылетала.
|
||||
|
||||
|
||||
04.07.08 -- v0.93.9 beta5 -- 13.9 Кб
|
||||
- работает клавиша "Назад" :)
|
||||
- устранён баг из-за которого папки "." и ".." подвергались сортировке
|
||||
|
||||
|
||||
29.06.08 -- v0.93.8 beta5 -- 13.8 Кб
|
||||
- сортировка файлов по первой букве имени
|
||||
|
||||
|
||||
22.06.08 -- v0.93.6 beta5 -- 13.7 Кб
|
||||
- новый алгоритм сортировки файлов по размеру, более быстрый (вычитал о нём на
|
||||
Википедии:), в списке появилось 2 досели потеряных файла.
|
||||
|
||||
|
||||
18.06.08 -- v0.93.5 beta5 -- 13.7 Кб
|
||||
- запуск программы с параметрами - например "Eolite /hd1/1/" откроет программу
|
||||
с папкой /hd1/1/ в ней. Несуществующий путь открыт не будет;
|
||||
- устранён глюк окна "О программе", когда нажатие на любую клавишу приводило к
|
||||
его зависанию (уходу в бесконечный цикл);
|
||||
- иконка и поддержка файлов ".cvs";
|
||||
- оптимизации кода.
|
||||
|
||||
|
||||
15.06.08 -- v0.93.4 beta5 -- 13.4 Кб
|
||||
- исправлен баг с тем появления несуществующего файла в /rd/1/;
|
||||
- теперь rd, fd, hd1 и т.д. всегда в нижнем регистре;
|
||||
- устранён вылет проги после нажатия кнопки "Up" (спасибо сеса за найденый баг).
|
||||
|
||||
|
||||
14.06.08 -- v0.93.3 beta5 -- 13.4 Кб
|
||||
- теперь заливается белым не весь список, а потом выводится текст, а рисуются
|
||||
белые полосы с текстом - так немного медленнее, но перерисовка значительно
|
||||
меньше (спасибо Марио79 за подсказку);
|
||||
- оптимизирована и исправлена процедура удаления файла;
|
||||
- F3 - просмотр любого файла в Тайнипаде;
|
||||
- исправлены баги интерфейса.
|
||||
|
||||
|
||||
14.06.08 -- v0.93 beta5 -- 13.6 Кб
|
||||
- реализована прокрутка скроллом мыши (спасибо diamond'у за отловленный баг);
|
||||
- немного уменьшена перерисовка окна;
|
||||
- уменьшен и оптимизирован код программы;
|
||||
- частично исправлен баг разворачивания окна, если мы были в конце списка;
|
||||
- теперь при переименовании файла можно использовать все цифры, кроме восьмёрки
|
||||
- у программы изменился компилятор на более новый и ключи компиляции;
|
||||
- оптимизирован kolibri.h--.
|
||||
|
||||
|
||||
08.06.08 -- v0.92.1 beta5 -- 14.0 Кб
|
||||
- исправлен баг, когда ползунок не всегда доезжал не до конца полосы прокрутки;
|
||||
- оптимизации в прокрутке.
|
||||
|
||||
|
||||
08.06.08 -- v0.92 beta5 -- 14.0 Кб
|
||||
- устранён баг, появившейся в версии 0.88. Если вы в конце списка и начнёте
|
||||
понемногу увеличивать размеры окна, оттягивая его нижний конец вниз, то со
|
||||
временем программа вылетит;
|
||||
- реализован алгоритм плавной прокрутки, есть 1 серьёзный и 1 несерьёзный баг.
|
||||
|
||||
|
||||
07.06.08 -- v0.91.5 beta4 -- 14.0 Кб
|
||||
- удалён неиспользуемый с 03.03.08 (v0.83) кусок кода;
|
||||
- интерфейс полосы прокрутки стал более объёмным, это было сделано не с целью
|
||||
улучшения дизайна, а с целью уменьшения кода в исходнике :)
|
||||
- устранён баг открытия первого файла, который проявлялся только в эмуляторе;
|
||||
- cпасибо diamond'у за исправление ошибки в процедуре складывания двух строк
|
||||
copystr() и её оптимизацию;
|
||||
- установлено ограничение на размер имени файла, отображаемого при его удалении;
|
||||
- если отменили удаление файла, то опять создаются кнопочки под формой;
|
||||
- устранён старый баг (замеченный недавно) - если в полосе адреса прописали
|
||||
несуществующий адрес, программу выкидывало;
|
||||
- уменьшена перерисовка при переходе в другую папку, где файлов меньше, чем
|
||||
было в текущей;
|
||||
- исправлена ошибка в функциях lowcase() и upcase();
|
||||
- теперь названия файлов и папок начинаются с большой буквы, далее - прописные;
|
||||
- с папками на NTFS-разделе программа всё ещё работать не умеет, но, по крайней
|
||||
мере, при попытке войти в какую-то из них она уже не вылетает;
|
||||
- немного оптимизирована процедура перехода на девайс;
|
||||
- исправлен баг из-за которого имена файлов иногда оказывались чуть выше чем
|
||||
надо, относительно иконок;
|
||||
- уменьшена перерисовка окна;
|
||||
- другие оптимизации и багфиксы.
|
||||
|
||||
|
||||
02.06.08 -- v0.90.4 beta4 -- 14.1 Кб
|
||||
- оптимизации и багфиксы (в т.ч. спасибо Maxis за найденный баг).
|
||||
|
||||
|
||||
01.06.08 -- v0.90 beta4 -- 14.1 Кб
|
||||
- критически уменьшена перерисовка, в несколько раз! Огромное спасибо diamond
|
||||
за подсказку.
|
||||
|
||||
|
||||
01.06.08 -- v0.88.5 beta3 -- 14.1 Кб
|
||||
- раньше при переходе из одной папки в другую вся область с файлами
|
||||
закрашивалась белым цветом, а поверх выводились новые. Вопрос: зачем
|
||||
закрашивать ВСЮ область, если файлов ней может быть всего 2? Я тоже не
|
||||
знаю почему я понял это только сейчас. Закрашиваем только эти файлы.
|
||||
- раньше рисовалась левая синяя панель, а поверх неё окошечки с девайсами
|
||||
и т.д. Сейчас не так: синяя панель рисуется ВОКРУГ окошечек, что уменьшает
|
||||
перерисовку.
|
||||
|
||||
|
||||
30.05.08 -- v0.88.2 beta3 -- 14.1 Кб
|
||||
- устранён баг, связанный с клавишами F2 и Home.
|
||||
|
||||
|
||||
27.04.08 -- v0.88 beta3 -- 14.1 Кб
|
||||
- обьединены процедуры открытия файла;
|
||||
- устранён баг, связанный с переходом из некорневой папки на другой девайс
|
||||
- динамическое выделение памяти под папки.
|
||||
|
||||
|
||||
08.04.08 -- v0.87 beta3 -- 14.0 Кб
|
||||
- оптимизировано удаление файла;
|
||||
- удалён продублированный код переименования файла;
|
||||
- теперь для списка девайсов в левой панели (RАM-диск, жестяки и т.д.)
|
||||
существует определённый буфер, а не открывается папка "/" каждый раз при
|
||||
выводе этого списка или же перехода в какой-то из его элементов;
|
||||
- при перерисовке окна больше не считывается содержимое папки, просто
|
||||
выводятся данные, что хранятся в буфере;
|
||||
- посла деактивации окна то, что было напечатано в строке адреса не исчезает;
|
||||
- упорядочивание файлов по размеру.
|
||||
|
||||
|
||||
27.03.08 -- v0.86 beta3 -- 14.4 Кб
|
||||
- оптимизирован вывод размера файлов;
|
||||
- убрана лишняя перерисовка при открытии программы;
|
||||
- оптимизирован переход в начало и в конец списка файлов;
|
||||
- исправлен баг с потерей одного файла в корневых разделах жестких дисков;
|
||||
- обьединены процедуры Ctrl+С и Ctrl+X;
|
||||
- теперь для каждого изображения не своя переменная, а все они собраны по типам
|
||||
в один файл: toolbar icons, file icons, device icons;
|
||||
- уменьшено потребление программой ресурсов при выводе иконок файлов;
|
||||
- и ещё много-много всего отимизировано!
|
||||
|
||||
|
||||
09.03.08 -- v0.84 beta2 -- 16.1 Кб
|
||||
- cделано окно "О программе" (размер за kpack-ованого изображения 2.5 Кб)
|
||||
- теперь при переименовании файла можно использовать все цифры;
|
||||
- оптимизировано процедуры открытия папки, копирования, перерисовка полосы
|
||||
адреса и полосы переименования файла;
|
||||
- запрос на удаление.
|
||||
|
||||
|
||||
07.03.08 -- v0.83.3 beta2 -- 13.0 Кб
|
||||
- решён глюк, связанный с корневыми папками жёстких дисков.
|
||||
|
||||
|
||||
07.03.08 -- v0.83.2 beta2 -- 13.0 Кб
|
||||
- решён крайне серьёзный баг с пожиранием программой дополнительного количества
|
||||
памяти каждый раз после перерисовки окна или открытия папки.
|
||||
|
||||
|
||||
07.03.08 -- v0.83.1 beta2 -- 13.0 Кб
|
||||
- решен баг с прокруткой и папками;
|
||||
- опитимизации.
|
||||
|
||||
|
||||
03.03.08 -- v0.83 beta2 -- 13.0 Кб
|
||||
- цвет окна более тёмный;
|
||||
- распределение: вначале папки, затем файлы;
|
||||
- теперь перетягивание ползунка прокрутки работает и в Колибри!
|
||||
- реализованы быстрые клавиши Ctrl+C (Ctrl+Ins), Ctrl+X, Ctrl+V. Как сделать с
|
||||
Shift-ом я не знаю;
|
||||
- новое лого;
|
||||
- устранён баг с серой линией, отделяющей названия файлов и их тип;
|
||||
- устранён древний баг, связанный с невозможностью открыть любой файл с первого;
|
||||
раза, только со второго;
|
||||
- устранён баг, связанный с длинной имени файла;
|
||||
- новая иконка текстовых документов.
|
||||
|
||||
|
||||
27.02.08 -- v0.81 beta -- 12.8 Кб
|
||||
- оптимизирование перерисовки при переходе в другую папку;
|
||||
- некоторые иконки теперь обтекаемы;
|
||||
- багфиксы прокрутки списка.
|
||||
|
||||
|
||||
25.02.08 -- v0.80 beta -- 12.6 Кб
|
||||
- критически уменьшена перерисовка!
|
||||
- багфиксы интерфейса.
|
||||
|
||||
|
||||
25.02.08 -- v0.77 beta -- 12.5 Кб
|
||||
- переименовывание файлов;
|
||||
|
||||
|
||||
23.02.08 -- v0.75 beta -- 12.1 Кб
|
||||
- опять заработали горячие клавиши;
|
||||
- библиотека eolite_copy.obj больше не нужна;
|
||||
- теперь работает и вырезание файлов (размером не больше чем ОЗУ);
|
||||
- улучшение алгоритма прокрутки;
|
||||
- багфиксы.
|
||||
|
||||
|
||||
23.02.08 -- v0.71 beta -- 12.1 Кб
|
||||
- устранён баг ограничения размера строки для имён файлов;
|
||||
- ReadMe.
|
||||
|
||||
|
||||
23.02.08 -- v0.7 beta -- 12.1 Кб
|
||||
- ограничение размера строки для имён файлов;
|
||||
- удалена "." в начале списка файлов.
|
||||
|
||||
|
||||
22.02.08 -- v0.65 beta -- 12.3 Кб
|
||||
- размер файлов теперь выводится в Кб, Мб и Гб;
|
||||
- оптимизация отрисовки в левой синей панели;
|
||||
- удобно стало пользоваться полосой адреса. Если она была изменена, нажав Enter
|
||||
мы переходим по новому адресу, если же нет - открывается выделенная папка,
|
||||
файл или программа;
|
||||
- в Колибри не работает, в отличии от эмулятора, реализованное перетягивание
|
||||
ползунка :(
|
||||
- выделение по Insert, пока что нигде не используется;
|
||||
|
||||
|
||||
18.02.08 -- v0.6 beta -- 11.7 Кб
|
||||
- совместными усилиями устранён серьёзный баг с нажатием ПКМ на заголовке окна;
|
||||
- если мы пропишем адрес папки, которой не существует и попытаемся в неё перейти
|
||||
ничего у нас УЖЕ не получится;
|
||||
- улучшения в скролле;
|
||||
- F5 перерисовать окно;
|
||||
- иконки у устройств;
|
||||
- панель действий;
|
||||
- одиночное копирование и вырезание файлов размером не больше чем ОЗУ;
|
||||
- удаление файлов, пока что без запроса.
|
||||
|
||||
|
||||
09.02.08 -- v0.5 beta -- 10 Кб
|
||||
- оптимизировано Preview;
|
||||
- до деактивации окна уже нельзя кляцать по белой области и видеть кнопки;
|
||||
- уменьшен размер иконок - теперь они 16х15;
|
||||
- нельзя удалить весь путь в строке адреса, "/" по-любому остаётся;
|
||||
- при деактивации окна выделение не перепрыгивает на первый элемент;
|
||||
- реализовано открытие програм и ассоциированных файлов;
|
||||
- расширения больше не в верхнем регистре;
|
||||
- переходит по носителям, теперь если неизвестный носитель - оно так и напишет;
|
||||
- добавлены новые типы файлов.
|
||||
|
||||
|
||||
04.02.08 -- v0.35 beta -- 9.17 Кб
|
||||
- для строки адреса отдельный "путь" (не #path, а #edit_path);
|
||||
- красивая кнопка перехода;
|
||||
- входит в первую папку;
|
||||
- вывод типов файлов;
|
||||
- оптимизация в коде.
|
||||
|
||||
|
||||
03.02.08 -- v0.33 beta -- 8.91 Кб (англ.версия)
|
||||
Первая версия. Краткое хистори:
|
||||
1. Leency делает дизайн программы и ищет пути решения некоторых проблем.
|
||||
2. Veliant делает отображение списка файлов из /rd/1/, а Leency реализует
|
||||
перемотку списка и горячие клавиши.
|
||||
3. Veliant осуществляет вывод размера файлов. Leency мучается с прокруткой.
|
||||
4. Veliant выводит иконки, Leency эти иконки рисует и переделывает дизайн окна.
|
||||
5. Veliant с Leency сделали переход по папкам.
|
||||
6. Устранение багов.
|
||||
|
||||
22.02.08 -- v0.0 -- 0 Кб
|
||||
Начало.
|
32
programs/cmm/eolite/txt/ReadMe_en.txt
Normal file
@ -0,0 +1,32 @@
|
||||
Eolite File Manager
|
||||
|
||||
==About this program==
|
||||
Eolite is a simple in using and pretty looks file manager.
|
||||
It written in C--. Development has started at 20.01.08.
|
||||
You can find more information here:
|
||||
http://board.kolibrios.org/viewtopic.php?f=9&t=973
|
||||
|
||||
|
||||
==Install==
|
||||
Put box_lib.obj into "/sys/lib/" directory.
|
||||
Put Eolite.ini into programs directory or in "/sys/File Managers/".
|
||||
Eolite can be opened from anywhere.
|
||||
|
||||
|
||||
==Authors==
|
||||
Leency - programming and design.
|
||||
Veliant - programming and support. Inactive now.
|
||||
|
||||
==Thanks==
|
||||
diamond
|
||||
<Lrz>
|
||||
Nable
|
||||
Mario79
|
||||
Rock_maniak_forever
|
||||
turbanoff
|
||||
Sorcerer
|
||||
Gluk
|
||||
lev
|
||||
|
||||
|
||||
KolibriOS Forever!
|
31
programs/cmm/eolite/txt/ReadMe_ru.txt
Normal file
@ -0,0 +1,31 @@
|
||||
Eolite File Manager
|
||||
|
||||
==О программе==
|
||||
Файловый менеджер, основными принципами разработки которого
|
||||
являются простота и удобство использования. Программа написана
|
||||
на C--, языке промежуточном между языками высокого и низкого
|
||||
уровня. Разработка началась 20.01.08.
|
||||
Обсуждение программы здесь:
|
||||
http://board.kolibrios.org/viewtopic.php?f=9&t=973
|
||||
|
||||
|
||||
==Установка==
|
||||
Нужно иметь свежий box_lib.obj. Eolite.ini должен быть в папке
|
||||
с программой или в "/sys/File Managers/".
|
||||
|
||||
|
||||
==Авторы==
|
||||
Leency - разработка, дизайн.
|
||||
Veliant - программирование, поддержка.
|
||||
|
||||
==Спасибо==
|
||||
diamond - активная помощь в программировании, ценные советы.
|
||||
<Lrz> - за компонент EditBox и либу к нему.
|
||||
Nable - за некоторые оптимизации и поддержку, либу работы с IPC.
|
||||
Mario79 - советы.
|
||||
S1n - за реализацию работы с lib_ini (увы не используемую).
|
||||
Rock_maniak_forever, turbanoff, Sorcerer, Gluk, Albom - за найденые баги.
|
||||
lev - за алгоритм работы с массивами строк.
|
||||
|
||||
|
||||
У нас будет свой Менует с блекджеком! И шлюхами! KolibriOS Forever!
|
@ -1,6 +1,5 @@
|
||||
..\C--\C-- example.c
|
||||
del example
|
||||
rename example.com example
|
||||
..\C--\kpack example
|
||||
pause
|
||||
del warning.txt
|
||||
@del example
|
||||
@rename example.com example
|
||||
@pause
|
||||
@del warning.txt
|
||||
|
@ -1,4 +1,6 @@
|
||||
#define MEMSIZE 0x3E80
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\file_system.h"
|
||||
|
||||
|
||||
@ -32,9 +34,10 @@ void main()
|
||||
|
||||
void draw_window()
|
||||
{
|
||||
proc_info Form;
|
||||
DefineAndDrawWindow(215,100,250,200,0x34,0xFFFFFF,"Window header");
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
WriteText(50,80,0x80,0,"Press Enter");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
5
programs/cmm/installer/compile.bat
Normal file
@ -0,0 +1,5 @@
|
||||
..\C--\C-- main.c /lst
|
||||
@del installer.kex
|
||||
@rename main.com installer.kex
|
||||
@pause
|
||||
@del warning.txt
|
173
programs/cmm/installer/copyf.c
Normal file
@ -0,0 +1,173 @@
|
||||
// универсальность добавления /
|
||||
// относительный путь относительно программы
|
||||
|
||||
void copyf(dword params)
|
||||
{
|
||||
//copyf /sys/lib|/sys/lib2
|
||||
char from[4096], to[4096];
|
||||
BDVK from_atr;
|
||||
int border;
|
||||
mem_Init();
|
||||
if (!params) { notify("Error: no copyf params!"); return; }
|
||||
program_path[strrchr(#program_path, '/')] = 0x0;
|
||||
border = strchr(params, '|');
|
||||
if (!border) border = strchr(params, ' ');
|
||||
|
||||
if (ESBYTE[params]<>'/')
|
||||
{
|
||||
strcpy(#from, #program_path);
|
||||
strcat(#from, params);
|
||||
from[border+strlen(#program_path)-1]=NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
strcat(#from, params);
|
||||
from[border-1]=NULL;
|
||||
}
|
||||
strcpy(#to, params+border);
|
||||
|
||||
GetFileInfo(#from, #from_atr);
|
||||
if (TestBit(from_atr.attr, 4)==1)
|
||||
{
|
||||
CopyFolder(#from, #to);
|
||||
}
|
||||
else
|
||||
{
|
||||
CopyFile(#from, #to);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CopyFolder(dword from, to)
|
||||
{
|
||||
dword dirbuf, fcount, filename;
|
||||
int i, error, isdir;
|
||||
char copy_from[4096], copy_in[4096];
|
||||
char from2[4096], to2[4096];
|
||||
|
||||
error = GetDir(#dirbuf, #fcount, from);
|
||||
if (error) debug_error(from, error);
|
||||
|
||||
if ((strcmp(to, "/sys")!=0) && (strcmp(to, "/tmp9/1")!=0))
|
||||
{
|
||||
error = CreateDir(to);
|
||||
if (error) debug_error(to, error);
|
||||
}
|
||||
chrcat(to, '/');
|
||||
chrcat(from, '/');
|
||||
|
||||
for (i=0; i<fcount; i++)
|
||||
{
|
||||
filename = i*304+dirbuf+72;
|
||||
|
||||
isdir = TestBit(ESDWORD[filename-40], 4);
|
||||
if (isdir)
|
||||
{
|
||||
if ( (!strcmp(filename, ".")) || (!strcmp(filename, "..")) ) continue;
|
||||
strcpy(#from2, from);
|
||||
strcpy(#to2, to);
|
||||
|
||||
strcat(#from2, filename);
|
||||
strcat(#to2, filename);
|
||||
|
||||
CopyFolder(#from2, #to2);
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(#copy_from, from);
|
||||
strcat(#copy_from, filename);
|
||||
strcpy(#copy_in, to);
|
||||
strcat(#copy_in, filename);
|
||||
|
||||
if (CheckEvent()==evReDraw) { DefineWindow("Installation Started", "Stop"); ShowProgress("Copying files..."); }
|
||||
ShowProgress(NULL);
|
||||
DrawBar(TEXTX, BLACK_H+50, Form.cwidth-TEXTX, 12, 0xFFFfff);
|
||||
WriteText(TEXTX, BLACK_H+50, 0x80, 0, filename);
|
||||
|
||||
error = CopyFile(#copy_from, #copy_in);
|
||||
if (error) error = CopyFile(#copy_from, #copy_in); // #2 :)
|
||||
if (error) debug_error(#copy_in, error);
|
||||
}
|
||||
}
|
||||
free(dirbuf);
|
||||
}
|
||||
|
||||
|
||||
unsigned char *ERROR_TEXT[]={
|
||||
"Code #0 - No error",
|
||||
"Error #1 - Base or partition of a hard disk is not defined",
|
||||
"Error #2 - Function isn't supported for this file system",
|
||||
"Error #3 - Unknown file system",
|
||||
"Error #4 - Reserved, is never returned",
|
||||
"Error #5 - File or folder not found",
|
||||
"Error #6 - End of file, EOF",
|
||||
"Error #7 - Pointer lies outside of application memory",
|
||||
"Error #8 - Too less disk space or FAT table is destroyed",
|
||||
"Error #9 - FAT table is destroyed",
|
||||
"Error #10 - Access denied",
|
||||
"Error #11 - Device error",
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
"Error #30 - Not enough memory",
|
||||
"Error #31 - File is not executable",
|
||||
"Error #32 - Too many processes",
|
||||
0};
|
||||
|
||||
void debug_error(int path, error_number)
|
||||
{
|
||||
char error[256];
|
||||
if (path) debug(path);
|
||||
if (error_number<0) error_number*=-1;
|
||||
if (error_number<33)
|
||||
{
|
||||
strcpy(#error, ERROR_TEXT[error_number]);
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(#error, itoa(error_number));
|
||||
strcat(#error, " - Unknown error number O_o");
|
||||
}
|
||||
debug(#error);
|
||||
}
|
||||
|
||||
/*
|
||||
int files_num;
|
||||
void CalculateFilesNumber(dword from)
|
||||
{
|
||||
dword dirbuf, fcount, filename;
|
||||
int i, isdir, error;
|
||||
char from2[4096];
|
||||
|
||||
error = GetDir(#dirbuf, #fcount, from);
|
||||
if (error) debug_error(from, error);
|
||||
debugi(fcount);
|
||||
|
||||
for (i=0; i<fcount; i++)
|
||||
{
|
||||
filename = i*304+dirbuf+72;
|
||||
|
||||
isdir = TestBit(ESDWORD[filename-40], 4);
|
||||
if (!isdir)
|
||||
{
|
||||
files_num++;
|
||||
debug(filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( (!strcmp(filename, ".")) || (!strcmp(filename, "..")) ) continue;
|
||||
strcpy(#from2, from);
|
||||
chrcat(#from2, '/');
|
||||
strcat(#from2, filename);
|
||||
CalculateFilesNumber(#from2);
|
||||
}
|
||||
}
|
||||
free(dirbuf);
|
||||
}
|
||||
|
||||
int GetFilesNumber(dword pathz)
|
||||
{
|
||||
files_num = 0;
|
||||
CalculateFilesNumber(pathz);
|
||||
return files_num;
|
||||
}
|
||||
*/
|
48
programs/cmm/installer/hallo.c
Normal file
@ -0,0 +1,48 @@
|
||||
void HalloLoop()
|
||||
{
|
||||
byte id, key;
|
||||
goto _HALLO_DRAW;
|
||||
loop() switch(WaitEvent())
|
||||
{
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
if(id == 1) ExitProcess();
|
||||
if (id == 11) RunProgram("/sys/htmlv", "http://kolibri-n.org/index.php");
|
||||
if (id == 10) GotoInstall();
|
||||
break;
|
||||
case evKey:
|
||||
key = GetKey();
|
||||
if (key == 13) GotoInstall();
|
||||
break;
|
||||
|
||||
case evReDraw: _HALLO_DRAW:
|
||||
if !(DefineWindow("Prepearing installation", "Install")) break;
|
||||
|
||||
HalloWindow();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void HalloWindow()
|
||||
{
|
||||
int free_ram;
|
||||
unsigned char free_ram_text[256];
|
||||
|
||||
|
||||
WriteTextB(TEXTX, 80, 0x90, 0xCC00CC, "KolibriN 8.2a Upgrade Pack is ready for install.");
|
||||
DrawLink(TEXTX, 95, 0x90, 11, "http://kolibri-n.org");
|
||||
|
||||
free_ram = GetFreeRAM()/1024;
|
||||
strcpy(#free_ram_text, "You have ");
|
||||
strcat(#free_ram_text, itoa(free_ram));
|
||||
strcat(#free_ram_text, " MB of free RAM. You need 100 Mb for installation.");
|
||||
|
||||
WriteText(TEXTX, 140, 0x80, 0, #free_ram_text);
|
||||
WriteText(TEXTX, 160, 0x80, 0, "Please, close all opened applications before start.");
|
||||
}
|
||||
|
||||
void GotoInstall()
|
||||
{
|
||||
if (GetFreeRAM()/1024>100) InstallationLoop();
|
||||
else notify("You do not have enought free RAM for installation!");
|
||||
}
|
BIN
programs/cmm/installer/img/logo.ico
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
programs/cmm/installer/img/logo.raw
Normal file
102
programs/cmm/installer/installation.c
Normal file
@ -0,0 +1,102 @@
|
||||
|
||||
void InstallationLoop()
|
||||
{
|
||||
byte id, key, started=false;
|
||||
goto _INSTALL_DRAW;
|
||||
|
||||
loop() switch(WaitEvent())
|
||||
{
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
if(id == 1) ExitProcess();
|
||||
if (id == 11) RunProgram("/sys/htmlv", "http://kolibri-n.org/donate.php");
|
||||
if (id == 10) HalloLoop();
|
||||
break;
|
||||
case evKey:
|
||||
key = GetKey();
|
||||
break;
|
||||
|
||||
case evReDraw: _INSTALL_DRAW:
|
||||
if !(DefineWindow("Installation Started", "Stop")) break;
|
||||
if (started) break;
|
||||
started = true;
|
||||
Install();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
char iclock[3]={1,2};
|
||||
void ShowProgress(dword text1)
|
||||
{
|
||||
iclock[0]><iclock[1];
|
||||
_PutImage(WIN_W+LOGOW/2, WIN_H+LOGOH/2, LOGOW,LOGOH, LOGOW*LOGOH*3*iclock[0]+ #logo);
|
||||
if (text1)
|
||||
{
|
||||
DrawBar(TEXTX, BLACK_H+30, Form.cwidth-TEXTX, 12, 0xFFFfff);
|
||||
DrawBar(TEXTX, BLACK_H+50, Form.cwidth-TEXTX, 12, 0xFFFfff);
|
||||
WriteText(TEXTX, BLACK_H+30, 0x80, 0, text1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dword *copyfiles[] = {
|
||||
"sys /sys",
|
||||
"tmp /tmp9/1",
|
||||
0
|
||||
};
|
||||
|
||||
|
||||
void Install()
|
||||
{
|
||||
int i;
|
||||
proc_info Process;
|
||||
|
||||
ShowProgress("Mounting virtual disk...");
|
||||
if (TmpDiskAdd(9, 100)!=0) RunProgram("/sys/tmpdisk", "a9s100");
|
||||
for (i=2; i<256; i++;)
|
||||
{
|
||||
GetProcessInfo(#Process, i);
|
||||
if (i==Form.ID) || (strchr(#Process.name, '/')) || (strchr(#Process.name, 'Z')) continue;
|
||||
KillProcess(i);
|
||||
}
|
||||
RunProgram("/sys/REFRSCRN", NULL);
|
||||
pause(100);
|
||||
ShowProgress("Copying files...");
|
||||
copyf("/sys/docpack /tmp9/1/docpack");
|
||||
DeleteFile("/sys/docpack");
|
||||
for (i = 0; copyfiles[i]!=0; i++) copyf(copyfiles[i]);
|
||||
ShowProgress("Post install actions...");
|
||||
RunProgram("/sys/launcher", NULL);
|
||||
RunProgram("/sys/media/kiv", "\\S__/tmp9/1/wallpapers/Retro flower.jpg");
|
||||
SetSystemSkin("/tmp9/1/skins/latte.skn");
|
||||
EndLoop();
|
||||
}
|
||||
|
||||
|
||||
void EndLoop()
|
||||
{
|
||||
byte id, key;
|
||||
|
||||
goto _END_DRAW;
|
||||
|
||||
loop() switch(WaitEvent())
|
||||
{
|
||||
case evButton:
|
||||
id=GetButtonID();
|
||||
if(id == 1) ExitProcess();
|
||||
if (id == 11) RunProgram("/sys/htmlv", "http://kolibri-n.org/index.php");
|
||||
if (id == 10) ExitProcess();
|
||||
break;
|
||||
case evKey:
|
||||
key = GetKey();
|
||||
break;
|
||||
|
||||
case evReDraw: _END_DRAW:
|
||||
if !(DefineWindow("Installation complete", "Exit")) break;
|
||||
WriteText(TEXTX, BLACK_H*2, 0x80, 0, "KolibriN install complete.");
|
||||
WriteText(TEXTX, BLACK_H*2+40, 0x80, 0, "I spent a lot of time improving KolibriN, so I hope you'll like it.");
|
||||
WriteText(TEXTX, BLACK_H*2+55, 0x80, 0, "Please, donate as much as you can to help me further improve Kolibri,");
|
||||
WriteText(TEXTX, BLACK_H*2+70, 0x80, 0, "the project I love so much. Visit my site for more information:");
|
||||
DrawLink(TEXTX, BLACK_H*2+85, 0x80, 11, "http://kolibri-n.org/donate.php");
|
||||
}
|
||||
}
|
65
programs/cmm/installer/main.c
Normal file
@ -0,0 +1,65 @@
|
||||
#define MEMSIZE 0xA1000
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\figures.h"
|
||||
#include "..\lib\encoding.h"
|
||||
#include "..\lib\file_system.h"
|
||||
#include "..\lib\mem.h"
|
||||
#include "..\lib\dll.h"
|
||||
//*.obj libraries
|
||||
#include "..\lib\lib.obj\box_lib.h"
|
||||
#include "..\lib\lib.obj\libio_lib.h"
|
||||
#include "..\lib\lib.obj\libimg_lib.h"
|
||||
#include "..\lib\lib.obj\truetype.h"
|
||||
|
||||
|
||||
#define LOGOW 16
|
||||
#define LOGOH 16
|
||||
#define BLACK_H 40
|
||||
#define TEXTX 20
|
||||
#define WIN_W 500
|
||||
#define WIN_H 350
|
||||
|
||||
unsigned char logo[LOGOW*LOGOH*3]= FROM "img\logo.raw";
|
||||
|
||||
proc_info Form;
|
||||
system_colors sc;
|
||||
char dialog;
|
||||
enum {
|
||||
HALLO,
|
||||
INSTALL,
|
||||
END
|
||||
};
|
||||
|
||||
int DefineWindow(dword wtitle, wbutton)
|
||||
{
|
||||
sc.get();
|
||||
DefineAndDrawWindow(GetScreenWidth()-WIN_W/2,GetScreenHeight()-WIN_H/2-30, WIN_W+9, WIN_H+GetSkinHeight()+4, 0x74,0xFFFfff);
|
||||
DrawTitle("KolibriN 8.2a Setup");
|
||||
GetProcessInfo(#Form, SelfInfo);
|
||||
if (Form.status_window>2) return 0; //rolled_up
|
||||
|
||||
DrawBar(0, 0, Form.cwidth, BLACK_H, 0);
|
||||
DrawBar(0, BLACK_H, Form.cwidth, Form.cheight-BLACK_H, 0xFFFfff);
|
||||
_PutImage(BLACK_H-LOGOW/2, BLACK_H-LOGOH/2, LOGOW,LOGOH, #logo);
|
||||
WriteTextB(BLACK_H-LOGOW + LOGOW, BLACK_H-6/2, 0x90, 0xFFFfff, wtitle);
|
||||
DrawCaptButton(Form.cwidth-107, Form.cheight-40, 90, 24, 10, sc.work_button, sc.work_button_text,wbutton);
|
||||
return 1;
|
||||
}
|
||||
|
||||
#include "copyf.c"
|
||||
#include "tmp_add.c"
|
||||
#include "hallo.c";
|
||||
#include "installation.c";
|
||||
|
||||
void main()
|
||||
{
|
||||
mem_Init();
|
||||
if (load_dll2(boxlib, #box_lib_init,0)!=0) notify("Error while loading library /rd/1/lib/box_lib.obj");
|
||||
SetEventMask(0x27);
|
||||
program_path[strrchr(#program_path, '/')] = 0x0;
|
||||
HalloLoop();
|
||||
}
|
||||
|
||||
|
||||
stop:
|
4363
programs/cmm/installer/main.lst
Normal file
38
programs/cmm/installer/tmp_add.c
Normal file
@ -0,0 +1,38 @@
|
||||
struct ioctl_struct
|
||||
{
|
||||
dword handle;
|
||||
dword io_code;
|
||||
dword input;
|
||||
dword inp_size;
|
||||
dword output;
|
||||
dword out_size;
|
||||
};
|
||||
|
||||
struct add_disk_struc
|
||||
{
|
||||
dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data
|
||||
unsigned char DiskId; // from 0 to 9
|
||||
};
|
||||
|
||||
ioctl_struct ioctl;
|
||||
add_disk_struc add_disk;
|
||||
|
||||
int TmpDiskAdd(int disk_id, disk_size)
|
||||
{
|
||||
int driver_handle, driver_rezult;
|
||||
driver_handle = LoadDriver("tmpdisk");
|
||||
if (driver_handle==0) return 7;
|
||||
|
||||
add_disk.DiskId = disk_id;
|
||||
add_disk.DiskSize = disk_size * 2048;
|
||||
|
||||
ioctl.handle = driver_handle;
|
||||
ioctl.io_code = 1;
|
||||
ioctl.input = #add_disk;
|
||||
ioctl.inp_size = sizeof(add_disk);
|
||||
ioctl.output = 0;
|
||||
ioctl.out_size = 0;
|
||||
|
||||
driver_rezult = RuleDriver(#ioctl);
|
||||
return driver_rezult;
|
||||
}
|
5
programs/cmm/kolibrin/compile.bat
Normal file
@ -0,0 +1,5 @@
|
||||
..\C--\C-- kolibrin.c
|
||||
@del kolibrin
|
||||
@rename kolibrin.com kolibrin
|
||||
@pause
|
||||
@del warning.txt
|
47
programs/cmm/kolibrin/kolibrin.c
Normal file
@ -0,0 +1,47 @@
|
||||
#define MEMSIZE 0x9000
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\mem.h"
|
||||
#include "..\lib\file_system.h"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
dword dirbuf, fcount, filename, i;
|
||||
dword dirbuf2, fcount2, filename2, j;
|
||||
char cd_path[4096];
|
||||
char install_path[4096];
|
||||
signed int result;
|
||||
|
||||
mem_Init();
|
||||
GetDir(#dirbuf, #fcount, "/");
|
||||
|
||||
for (i=0; i<fcount; i++)
|
||||
{
|
||||
filename = i*304+dirbuf+72;
|
||||
if (!strstr(filename, "fd"))
|
||||
{
|
||||
strcpy(#cd_path, "/");
|
||||
strcat(#cd_path, filename);
|
||||
free(dirbuf2);
|
||||
GetDir(#dirbuf2, #fcount2, #cd_path);
|
||||
|
||||
for (j=0; j<fcount2; j++)
|
||||
{
|
||||
filename2 = j*304+dirbuf2+72;
|
||||
strcpy(#install_path, #cd_path);
|
||||
strcat(#install_path, "/");
|
||||
strcat(#install_path, filename2);
|
||||
strcat(#install_path, "/installer.kex");
|
||||
result = RunProgram(#install_path, NULL);
|
||||
if (result>0) ExitProcess();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (GetSystemLanguage()==4) notify("<EFBFBD>¥ ¬®£ã ©â¨ installer.kex ¨ ¢ ®¤®¬ ª®à¥ ¤¨áª ! <20>®¯à®¡ã©â¥ ©â¨ ¨ § ¯ãáâ¨âì ¥£® ¢àãçãî.");
|
||||
else notify("Can't find installer.kex at the root of all disks! Try to find and run it manually."w);
|
||||
ExitProcess();
|
||||
}
|
||||
|
||||
|
||||
stop:
|
@ -65,7 +65,8 @@ void DrawCaptButton(dword x,y,w,h,id,color_b, color_t,text)
|
||||
int progress_w;
|
||||
static int fill_old;
|
||||
|
||||
if (progress_percent<=0) {DrawBar(st_x,st_y, st_x + st_w + fill_old + 15,st_h+1, col_fon); fill_old=0; return;}
|
||||
//if (progress_percent<=0) {DrawBar(st_x,st_y, st_x + st_w + fill_old + 15,st_h+1, col_fon); fill_old=0; return;}
|
||||
if (progress_percent<=0) || (progress_percent>=100) return;
|
||||
|
||||
DrawRectangle(st_x, st_y, st_w,st_h, col_border);
|
||||
DrawRectangle3D(st_x+1, st_y+1, st_w-2,st_h-2, 0xFFFfff, 0xFFFfff);
|
||||
@ -84,3 +85,54 @@ void DrawCaptButton(dword x,y,w,h,id,color_b, color_t,text)
|
||||
fill_old = strlen(status_text) * 6;
|
||||
}
|
||||
}
|
||||
|
||||
:void DrawLink(dword x,y,font_type,btn_id, inscription)
|
||||
{
|
||||
int w;
|
||||
WriteText(x,y,font_type,0x4E00E7,inscription);
|
||||
if (font_type==0x80) w = strlen(inscription)*6; else w = strlen(inscription)*7;
|
||||
DefineButton(x-1,y-1,w,10,btn_id+BT_HIDE,0);
|
||||
DrawBar(x,y+8,w,1,0x4E00E7);
|
||||
}
|
||||
|
||||
|
||||
:void PutShadow(dword x,y,w,h,border,strength)
|
||||
{
|
||||
proc_info wForm;
|
||||
dword shadow_buf, skin_height;
|
||||
shadow_buf = mem_Alloc(w*h*3);
|
||||
//skin_height = GetSkinHeight();
|
||||
GetProcessInfo(#wForm, SelfInfo);
|
||||
CopyScreen(shadow_buf, x+wForm.left, y+wForm.top, w, h);
|
||||
ShadowImage(shadow_buf, w, h, strength);
|
||||
_PutImage(x,y,w,h,shadow_buf);
|
||||
mem_Free(shadow_buf);
|
||||
}
|
||||
|
||||
:void GrayScaleImage(dword color_image, w, h)
|
||||
{
|
||||
dword i,j, gray,rr,gg,bb;
|
||||
for (i = 0; i < w*h*3; i+=3)
|
||||
{
|
||||
rr = DSBYTE[i+color_image];
|
||||
gg = DSBYTE[i+1+color_image];
|
||||
bb = DSBYTE[i+2+color_image];
|
||||
gray = rr*rr;
|
||||
gray += gg*gg;
|
||||
gray += bb*bb;
|
||||
gray = sqrt(gray) / 3;
|
||||
DSBYTE[i +color_image] = DSBYTE[i+1+color_image] = DSBYTE[i+2+color_image] = gray;
|
||||
}
|
||||
}
|
||||
|
||||
:void ShadowImage(dword color_image, w, h, strength)
|
||||
{
|
||||
dword col, to;
|
||||
strength = 10 - strength;
|
||||
to = w*h*3 + color_image;
|
||||
for ( ; color_image < to; color_image++)
|
||||
{
|
||||
col = strength * DSBYTE[color_image] / 10;
|
||||
DSBYTE[color_image] = col;
|
||||
}
|
||||
}
|
@ -28,7 +28,7 @@ struct BDVK{
|
||||
// Çàïóñê ïğîãğàììû //
|
||||
///////////////////////////
|
||||
f70 run_file_70;
|
||||
:int RunProgram(dword run_path, run_param)
|
||||
signed int RunProgram(dword run_path, run_param)
|
||||
{
|
||||
run_file_70.func = 7;
|
||||
run_file_70.param1 =
|
||||
@ -96,6 +96,24 @@ f70 read_file_70;
|
||||
$int 0x40
|
||||
}
|
||||
|
||||
:int GetFile(dword buf, filesize, read_path)
|
||||
{
|
||||
BDVK ReadFile_atr;
|
||||
dword rBuf=0;
|
||||
if (! GetFileInfo(read_path, #ReadFile_atr))
|
||||
{
|
||||
rBuf = malloc(ReadFile_atr.sizelo);
|
||||
if (! ReadFile(0, ReadFile_atr.sizelo, rBuf, read_path))
|
||||
{
|
||||
ESDWORD[buf] = rBuf;
|
||||
ESDWORD[filesize] = ReadFile_atr.sizelo;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
free(rBuf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
////////////////////////////
|
||||
// Çàïèñàòü ôàéë //
|
||||
////////////////////////////
|
||||
@ -133,18 +151,36 @@ f70 read_dir_70;
|
||||
}
|
||||
|
||||
|
||||
:int GetDir(dword dir_buf, file_count, path)
|
||||
{
|
||||
dword buf, fcount, error;
|
||||
buf = malloc(32);
|
||||
error = ReadDir(0, buf, path);
|
||||
if (!error)
|
||||
{
|
||||
fcount = ESDWORD[buf+8];
|
||||
buf = realloc(buf, fcount+1*304+32);
|
||||
ReadDir(fcount, buf, path);
|
||||
if (!strcmp(".",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);}
|
||||
if (!strcmp("..",buf+72)) {fcount--; memmov(buf,buf+304,fcount*304);}
|
||||
ESDWORD[dir_buf] = buf;
|
||||
ESDWORD[file_count] = fcount;
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////
|
||||
// Ïàğàìåòğû ôàéëà //
|
||||
///////////////////////////
|
||||
f70 getinfo_file_70;
|
||||
BDVK getinfo_file_info;
|
||||
:dword GetFileInfo(dword file_path)
|
||||
:dword GetFileInfo(dword file_path, bdvk_struct)
|
||||
{
|
||||
getinfo_file_70.func = 5;
|
||||
getinfo_file_70.param1 =
|
||||
getinfo_file_70.param2 =
|
||||
getinfo_file_70.param3 = 0;
|
||||
getinfo_file_70.param4 = #getinfo_file_info;
|
||||
getinfo_file_70.param4 = bdvk_struct;
|
||||
getinfo_file_70.rezerv = 0;
|
||||
getinfo_file_70.name = file_path;
|
||||
$mov eax,70
|
||||
@ -160,32 +196,17 @@ BDVK getinfo_file_info;
|
||||
{
|
||||
BDVK CopyFile_atr;
|
||||
dword cBufer=0;
|
||||
|
||||
if (! GetFileInfo(copy_from))
|
||||
char rezult = -1;
|
||||
if (! GetFileInfo(copy_from, #CopyFile_atr))
|
||||
{
|
||||
mem_Init();
|
||||
cBufer = mem_Alloc(CopyFile_atr.sizelo);
|
||||
cBufer = malloc(CopyFile_atr.sizelo);
|
||||
if (! ReadFile(0, CopyFile_atr.sizelo, cBufer, copy_from))
|
||||
if (! WriteFile(CopyFile_atr.sizelo, cBufer, copy_in)) return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//Asper
|
||||
void ReadAttributes(dword read_buffer, file_path)
|
||||
{
|
||||
read_file_70.func = 5;
|
||||
read_file_70.param1 = 0;
|
||||
read_file_70.param2 = 0;
|
||||
read_file_70.param3 = 0;
|
||||
read_file_70.param4 = read_buffer;
|
||||
read_file_70.rezerv = 0;
|
||||
read_file_70.name = file_path;
|
||||
$mov eax,70
|
||||
$mov ebx,#read_file_70.func
|
||||
$int 0x40
|
||||
rezult = WriteFile(CopyFile_atr.sizelo, cBufer, copy_in);
|
||||
}
|
||||
}
|
||||
free(cBufer);
|
||||
return rezult;
|
||||
}
|
||||
|
||||
inline fastcall void SetCurDir( ECX)
|
||||
|
@ -7,30 +7,24 @@ char os_name[8] = {'M','E','N','U','E','T','0','1'};
|
||||
dword os_version = 0x00000001;
|
||||
dword start_addr = #main;
|
||||
dword final_addr = #stop+32;
|
||||
#ifdef MEMSIZE
|
||||
dword alloc_mem = MEMSIZE;
|
||||
dword x86esp_reg = MEMSIZE;
|
||||
#else
|
||||
dword alloc_mem = #0x00100000;
|
||||
dword x86esp_reg = #0x00100000;
|
||||
#endif
|
||||
dword I_Param = #param;
|
||||
dword I_Path = #program_path;
|
||||
char param[4096];
|
||||
char program_path[4096];
|
||||
|
||||
#define NULL 0
|
||||
#define OLD -1
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
//Events
|
||||
#define evMouse 6
|
||||
#define evButton 3
|
||||
#define evKey 2
|
||||
#define evReDraw 1
|
||||
|
||||
#define OLD -1
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
#define NULL 0
|
||||
|
||||
//Button options
|
||||
#define BT_DEL 0x80000000
|
||||
#define BT_HIDE 0x40000000
|
||||
@ -352,6 +346,7 @@ DONE:
|
||||
$pop eax
|
||||
}
|
||||
|
||||
|
||||
inline fastcall void debugch( ECX)
|
||||
{
|
||||
$push eax
|
||||
@ -399,6 +394,7 @@ void WriteTextB(dword x,y,byte fontType, dword color, EDX)
|
||||
EAX = 4;
|
||||
EBX = x<<16+y;
|
||||
ECX = fontType<<24+color;
|
||||
ESI = 0;
|
||||
$int 0x40;
|
||||
$add ebx, 1<<16
|
||||
$int 0x40
|
||||
@ -409,7 +405,7 @@ void WriteText(dword x,y,byte fontType, dword color, EDX)
|
||||
EAX = 4;
|
||||
EBX = x<<16+y;
|
||||
ECX = fontType<<24+color;
|
||||
$xor esi, esi
|
||||
ESI = 0;
|
||||
$int 0x40;
|
||||
}
|
||||
|
||||
@ -422,10 +418,10 @@ void WriteNumber(dword x,y,byte fontType, dword color, count, ECX)
|
||||
$int 0x40;
|
||||
}
|
||||
|
||||
void CopyScreen(dword EBX, x, y, sizeX, sizeY)
|
||||
void CopyScreen(dword EBX, x, y, w, h)
|
||||
{
|
||||
EAX = 36;
|
||||
ECX = sizeX << 16 + sizeY;
|
||||
ECX = w << 16 + h;
|
||||
EDX = x << 16 + y;
|
||||
$int 0x40;
|
||||
}
|
||||
@ -437,13 +433,6 @@ dword GetPixelColor(dword x, x_size, y)
|
||||
$int 0x40
|
||||
}
|
||||
|
||||
void PutImage(dword EBX,w,h,x,y)
|
||||
{
|
||||
EAX = 7;
|
||||
ECX = w<<16+h;
|
||||
EDX = x<<16+y;
|
||||
$int 0x40
|
||||
}
|
||||
|
||||
void _PutImage(dword x,y, w,h, EBX)
|
||||
{
|
||||
|
@ -15,6 +15,9 @@ dword scrollbar_h_draw = #aScrollbar_h_draw;
|
||||
dword scrollbar_h_mouse = #aScrollbar_h_mouse;
|
||||
dword version_scrollbar = #aVersion_scrollbar;
|
||||
|
||||
dword PathShow_prepare = #aPathShow_prepare;
|
||||
dword PathShow_draw = #aPathShow_draw;
|
||||
|
||||
dword am__ = 0x0;
|
||||
dword bm__ = 0x0;
|
||||
|
||||
@ -38,6 +41,32 @@ char aOption_box_draw [16] = "option_box_draw\0";
|
||||
char aOption_box_mouse [17] = "option_box_mouse\0";
|
||||
char aVersion_op [11] = "version_op\0" ;
|
||||
|
||||
char aPathShow_prepare [17] = "PathShow_prepare\0";
|
||||
char aPathShow_draw [14] = "PathShow_draw\0";
|
||||
|
||||
|
||||
struct PathShow_data
|
||||
{
|
||||
dword type;// dd 0 ;+0
|
||||
word start_y,// dw 28 ;+4
|
||||
start_x,// dw 172 ;+6
|
||||
font_size_x,// dw 6 ;+8 ; 6 - for font 0, 8 - for font 1
|
||||
area_size_x;// dw 200 ;+10
|
||||
dword font_number,// dd 0 ;+12 ; 0 - monospace, 1 - variable
|
||||
background_flag,// dd 0 ;+16
|
||||
font_color,// dd 0x0 ;+20
|
||||
background_color,// dd 0x0 ;+24
|
||||
text_pointer,// dd openfile_pach ;+28
|
||||
work_area_pointer,// dd text_work_area ;+32
|
||||
temp_text_length;// dd 0 ;+36
|
||||
};
|
||||
/*
|
||||
char temp[128];
|
||||
PathShow_data PathShow = {0, 100,20, 6, 200, 0, 1, 0x0, 0xFFFfff, #email_text, #temp, 0};
|
||||
PathShow_prepare stdcall(#PathShow);
|
||||
PathShow_draw stdcall(#PathShow);
|
||||
*/
|
||||
|
||||
|
||||
struct edit_box{
|
||||
dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
|
||||
@ -74,22 +103,3 @@ work_size,// equ [edi+76]
|
||||
all_redraw,// equ [edi+80]
|
||||
ar_offset;// equ [edi+84]
|
||||
};
|
||||
|
||||
//ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â
|
||||
//ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å
|
||||
//ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã
|
||||
//ed_color equ [edi+12] ;梥â ä® ª®¬¯®¥â
|
||||
//shift_color equ [edi+16] ;=0x6a9480
|
||||
//ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â
|
||||
//ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â
|
||||
//ed_text_color equ [edi+28] ;梥â ⥪áâ
|
||||
//ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥áâ¨
|
||||
//ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à
|
||||
//ed_flags equ [edi+40] ;ä« £¨
|
||||
//ed_size equ [edi+42] ;ª®«-¢® ᨬ¢®«®¢
|
||||
//ed_pos equ [edi+46] ;¯®§¨æ¨ï ªãàá®à
|
||||
//ed_offset equ [edi+50] ;ᬥ饨¥
|
||||
//cl_curs_x equ [edi+54] ;¯à¥¤ë¤ãé ï ª®®à¤¨ â ªãàá®à ¯® å
|
||||
//cl_curs_y equ [edi+58] ;¯à¥¤ë¤ãé ï ª®®à¤¨ â ªãàá®à ¯® ã
|
||||
//ed_shift_pos equ [edi+62] ;¯®«®¦¥¨¥ ªãàá®à
|
||||
//ed_shift_pos_old equ [edi+66] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
||||
|
@ -34,15 +34,28 @@ dword ChangeCharset(dword from_chs, to_chs, conv_buf)
|
||||
if (cd!=0)
|
||||
{
|
||||
debug("iconv: something is wrong with stdcall iconv()");
|
||||
debug(itoa(cd));
|
||||
debugi(cd);
|
||||
debug("in_len");
|
||||
debug(itoa(in_len));
|
||||
debugi(in_len);
|
||||
debug("out_len");
|
||||
debug(itoa(out_len));
|
||||
new_buf = 0;
|
||||
debugi(out_len);
|
||||
new_buf = free(new_buf);
|
||||
return 0;
|
||||
}
|
||||
strcpy(conv_buf, new_buf);
|
||||
free(new_buf);
|
||||
return conv_buf;
|
||||
}
|
||||
|
||||
|
||||
char *charsets[] = { " ", "UTF-8", "KOI8-RU", "CP1251", "CP1252", "ISO8859-5", "CP866"};
|
||||
int cur_charset;
|
||||
enum {
|
||||
CH_NULL,
|
||||
CH_UTF8,
|
||||
CH_KOI8,
|
||||
CH_CP1251,
|
||||
CH_CP1252,
|
||||
CH_ISO8859_5,
|
||||
CH_CP866
|
||||
};
|
@ -3,8 +3,8 @@
|
||||
// strlen( EDI)
|
||||
// strcpy( EDI, ESI) --- 0 if ==
|
||||
// strcat( EDI, ESI)
|
||||
// strchr( ESI,BL)
|
||||
// strrchr( ESI,BL)
|
||||
// strchr( ESI,BL) --- find first BL
|
||||
// strrchr( ESI,BL) --- find last BL
|
||||
// strstr( EBX, EDX)
|
||||
// itoa( ESI)
|
||||
// atoi( EAX)
|
||||
@ -60,7 +60,7 @@ inline fastcall unsigned int strlen( EDI)
|
||||
}
|
||||
|
||||
|
||||
inline fastcall strcpy( EDI, ESI)
|
||||
inline fastcall void strcpy( EDI, ESI)
|
||||
{
|
||||
$cld
|
||||
L2:
|
||||
@ -86,7 +86,7 @@ inline fastcall int strlcpy(dword ESI, EDI, EBX)
|
||||
|
||||
|
||||
|
||||
inline fastcall strcat( EDI, ESI)
|
||||
inline fastcall void strcat( EDI, ESI)
|
||||
{
|
||||
asm {
|
||||
mov ebx, edi
|
||||
@ -114,6 +114,13 @@ inline fastcall strcat( EDI, ESI)
|
||||
}
|
||||
}
|
||||
|
||||
inline fastcall void chrcat(ESI, BL)
|
||||
{
|
||||
EDI = strlen(ESI);
|
||||
ESBYTE[ESI+EDI] = BL;
|
||||
ESBYTE[ESI+EDI+1] = 0;
|
||||
}
|
||||
|
||||
|
||||
inline fastcall signed int strchr( ESI,BL)
|
||||
{
|
||||
@ -151,7 +158,7 @@ int chrnum(dword searchin, char symbol)
|
||||
}
|
||||
|
||||
|
||||
inline fastcall dword strstr( EBX, EDX)
|
||||
inline fastcall signed int strstr( EBX, EDX)
|
||||
{
|
||||
asm {
|
||||
MOV EDI, EDX
|
||||
@ -343,6 +350,7 @@ void debugi(dword d_int)
|
||||
debug(#tmpch);
|
||||
}
|
||||
|
||||
|
||||
/* strtok( LPSTR dest, src, divs);
|
||||
src - óêàçàòåëü íà èñõîäíóþ ñòðîêó èëè ðåçóëüòàò ïðåäûäóùåãî âûçîâà
|
||||
dest - óêàçàòåëü íà áóôåð, êóäà áóäåò ñêîïèðîâàíî ñëîâî
|
||||
|
@ -1,6 +0,0 @@
|
||||
..\C--\C-- end.c
|
||||
del end
|
||||
rename end.com end
|
||||
..\C--\kpack end
|
||||
pause
|
||||
del warning.txt
|
@ -3,6 +3,8 @@
|
||||
#define MEMSIZE 0x3E80
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\mem.h"
|
||||
#include "..\lib\figures.h"
|
||||
|
||||
|
||||
int SCREEN_SIZE_X,
|
||||
@ -17,7 +19,9 @@ void main()
|
||||
{
|
||||
int TEXT_X=4,
|
||||
TEXT_Y=12;
|
||||
dword shadow_buf, lighter_pixel1, lighter_pixel2;
|
||||
|
||||
mem_Init();
|
||||
if (!param)
|
||||
{
|
||||
if (GetSystemLanguage()==4)
|
||||
@ -33,8 +37,17 @@ void main()
|
||||
TEXT_Y=WIN_SIZE_Y/2-3;
|
||||
|
||||
//èçÿÿÿùíûé êîñòûëü, ðåàëèçóþùèé ìíîãîïîòî÷íîñòü :)
|
||||
while (!GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)) WIN_Y+=45;
|
||||
while (GetPixelColor(SCREEN_SIZE_X-1, SCREEN_SIZE_X, WIN_Y)==0x333333) WIN_Y+=WIN_SIZE_Y+17;
|
||||
|
||||
shadow_buf = malloc(WIN_SIZE_X*WIN_SIZE_Y*3);
|
||||
lighter_pixel1 = malloc(3);
|
||||
lighter_pixel2 = malloc(3);
|
||||
CopyScreen(shadow_buf, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y, WIN_SIZE_X, WIN_SIZE_Y);
|
||||
CopyScreen(lighter_pixel1, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y, 1, 1);
|
||||
CopyScreen(lighter_pixel2, SCREEN_SIZE_X-WIN_SIZE_X-1, WIN_Y+WIN_SIZE_Y, 1, 1);
|
||||
ShadowImage(shadow_buf, WIN_SIZE_X, WIN_SIZE_Y, 4);
|
||||
ShadowImage(lighter_pixel1, 1, 1, 1);
|
||||
ShadowImage(lighter_pixel2, 1, 1, 1);
|
||||
|
||||
loop()
|
||||
{
|
||||
@ -49,9 +62,14 @@ void main()
|
||||
break;
|
||||
|
||||
case evReDraw:
|
||||
DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y, 0x01, 0, 0, 0x01fffFFF);
|
||||
DefineAndDrawWindow(SCREEN_SIZE_X-WIN_SIZE_X,WIN_Y,WIN_SIZE_X, WIN_SIZE_Y-1, 0x01, 0, 0, 0x01fffFFF);
|
||||
DefineButton(0,0, WIN_SIZE_X, WIN_SIZE_Y, 1+BT_HIDE+BT_NOFRAME, 0);
|
||||
draw_grid();
|
||||
//draw_grid();
|
||||
//PutShadow(0,0,WIN_SIZE_X,WIN_SIZE_Y, 0, 4);
|
||||
_PutImage(0,0,WIN_SIZE_X,WIN_SIZE_Y,shadow_buf);
|
||||
PutPixel(0,0,ESDWORD[lighter_pixel1]);
|
||||
PutPixel(0,WIN_SIZE_Y-1,ESDWORD[lighter_pixel2]);
|
||||
DrawBar(WIN_SIZE_X,0, 1, WIN_SIZE_Y, 0x333333);
|
||||
WriteText(TEXT_X-1,TEXT_Y, 0x80, 0,#param); //òåíü
|
||||
WriteText(TEXT_X+1,TEXT_Y, 0x80, 0,#param);
|
||||
WriteText(TEXT_X,TEXT_Y-1, 0x80, 0,#param);
|
||||
|
@ -1,8 +1,9 @@
|
||||
//@RB - v0.62
|
||||
//@RB - v0.7
|
||||
|
||||
#define MEMSIZE 0x4000
|
||||
#include "..\lib\kolibri.h"
|
||||
#include "..\lib\strings.h"
|
||||
#include "..\lib\mem.h"
|
||||
#include "..\lib\figures.h"
|
||||
#include "..\lib\file_system.h"
|
||||
|
||||
@ -11,10 +12,9 @@
|
||||
#endif
|
||||
|
||||
#ifdef LANG_RUS
|
||||
#define ITEM_HEIGHT 18
|
||||
#define ITEM_WIDTH 138
|
||||
char *ITEMS_LIST[]={
|
||||
"<EFBFBD> áâனª ®ª®", "/sys/desktop", 0,
|
||||
"‘¬Ą¨âě âĄ¬ă ®Ş®", "/sys/SKINSEL", 0,
|
||||
"‚ëˇŕ âě ®ˇ®¨", "/sys/BGSEL", 0,
|
||||
"‚ë¡à âì 梥â ä® ", "/sys/media/palitra", 0,
|
||||
"“¯à ¢«¥¨¥ ¨ª®ª ¬¨", "/sys/ICON", 0,
|
||||
"<EFBFBD> áâனª ãáâனáâ¢", "/sys/SETUP", 0,
|
||||
@ -22,10 +22,9 @@
|
||||
"<EFBFBD>à®æ¥ááë", "/sys/CPU", 0,
|
||||
0};
|
||||
#else
|
||||
#define ITEM_HEIGHT 18
|
||||
#define ITEM_WIDTH 122
|
||||
char *ITEMS_LIST[]={
|
||||
"Window setup", "/sys/desktop", 0,
|
||||
"Window skin", "/sys/SKINSEL", 0,
|
||||
"Wallpaper", "/sys/BGSEL", 0,
|
||||
"Background", "/sys/media/palitra", 0,
|
||||
"Icon manager", "/sys/ICON", 0,
|
||||
"Device setup", "/sys/SETUP", 0,
|
||||
@ -34,14 +33,19 @@
|
||||
0};
|
||||
#endif
|
||||
|
||||
dword stak[100];
|
||||
char stak[100];
|
||||
#define ITEM_HEIGHT 18
|
||||
int ITEM_WIDTH;
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
mouse mm;
|
||||
byte can_show;
|
||||
byte i, can_show = 0;
|
||||
SetEventMask(100000b);
|
||||
for (i=0; ITEMS_LIST[i]!=0; i+=3) if (strlen(ITEMS_LIST[i])>ITEM_WIDTH) ITEM_WIDTH = strlen(ITEMS_LIST[i]);
|
||||
ITEM_WIDTH = ITEM_WIDTH * 6 + 20;
|
||||
mem_Init();
|
||||
|
||||
loop() switch(WaitEvent())
|
||||
{
|
||||
@ -123,8 +127,10 @@ void window()
|
||||
case evReDraw:
|
||||
while (ITEMS_LIST[items_num*3]) items_num++;
|
||||
m.get();
|
||||
DefineAndDrawWindow(m.x+1,m.y,ITEM_WIDTH,items_num*ITEM_HEIGHT+1,0x01,sc.work,0, 0x01fffFFF);
|
||||
DefineAndDrawWindow(m.x+1,m.y,ITEM_WIDTH+1,items_num*ITEM_HEIGHT+2,0x01,sc.work,0, 0x01fffFFF);
|
||||
DrawRectangle(0,0,ITEM_WIDTH,items_num*ITEM_HEIGHT+1,sc.work_graph); //îáîäîê
|
||||
PutShadow(ITEM_WIDTH+1,1,1,items_num*ITEM_HEIGHT+1,0,1);
|
||||
PutShadow(1,items_num*ITEM_HEIGHT+2,ITEM_WIDTH+1,1,0,1);
|
||||
|
||||
_ITEMS_DRAW:
|
||||
for (i=0; i<items_num; i++;)
|
||||
@ -145,6 +151,7 @@ void window()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ItemProcess(int num_id)
|
||||
{
|
||||
RunProgram(ITEMS_LIST[num_id*3+1], ITEMS_LIST[num_id*3+2]);
|
||||
|