Compare commits
1 Commits
add-licens
...
9fc5f9bf44
Author | SHA1 | Date | |
---|---|---|---|
9fc5f9bf44 |
@@ -66,17 +66,6 @@ to the end commit message body on a new line.
|
|||||||
|
|
||||||
Use **rebase** to keep your branch up to date.
|
Use **rebase** to keep your branch up to date.
|
||||||
|
|
||||||
## Licensing
|
|
||||||
|
|
||||||
For new source code files and for existing ones without a license, you need to add the following header to the beginning of the file:
|
|
||||||
```asm
|
|
||||||
; SPDX-License-Identifier: GPL-2.0-only
|
|
||||||
; Program - Brief description.
|
|
||||||
; Copyright (C) 2011-2025 KolibriOS team
|
|
||||||
```
|
|
||||||
|
|
||||||
Be careful when setting copyright and date interval. Review the file's history to verify its origin.
|
|
||||||
|
|
||||||
## Conclusion
|
## Conclusion
|
||||||
|
|
||||||
We hope this small instructions will help you to get familiar with KolibriOS contribution rules and inspire you to participate in the life of our project.
|
We hope this small instructions will help you to get familiar with KolibriOS contribution rules and inspire you to participate in the life of our project.
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# KolibriOS
|
# KolibriOS
|
||||||
|
|
||||||
[](./LICENSE)
|
[](./COPYING.TXT)
|
||||||
[](https://git.kolibrios.org/KolibriOS/kolibrios/actions)
|
[](https://git.kolibrios.org/KolibriOS/kolibrios/actions)
|
||||||
|
|
||||||
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small but passionate team of enthusiasts.
|
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small but passionate team of enthusiasts.
|
||||||
|
@@ -635,6 +635,7 @@ tup.append_table(extra_files, {
|
|||||||
})
|
})
|
||||||
-- For russian build, add russian-only programs.
|
-- For russian build, add russian-only programs.
|
||||||
if build_type == "ru_RU" then tup.append_table(img_files, {
|
if build_type == "ru_RU" then tup.append_table(img_files, {
|
||||||
|
{"PERIOD", VAR_PROGS .. "/other/period/trunk/period"},
|
||||||
{"GAMES/KLAVISHA", VAR_PROGS .. "/games/klavisha/klavisha"},
|
{"GAMES/KLAVISHA", VAR_PROGS .. "/games/klavisha/klavisha"},
|
||||||
{"DEVELOP/EXAMPLES/TESTCON2", VAR_PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
|
{"DEVELOP/EXAMPLES/TESTCON2", VAR_PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
|
||||||
}) else tup.append_table(img_files, {
|
}) else tup.append_table(img_files, {
|
||||||
@@ -642,7 +643,6 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
|
|||||||
}) end
|
}) end
|
||||||
|
|
||||||
if build_type == "ru_RU" then tup.append_table(extra_files, {
|
if build_type == "ru_RU" then tup.append_table(extra_files, {
|
||||||
{"kolibrios/utils/period", VAR_PROGS .. "/other/period/trunk/period"},
|
|
||||||
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
|
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
|
||||||
}) end
|
}) end
|
||||||
|
|
||||||
|
@@ -1,8 +1,9 @@
|
|||||||
//Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2025
|
//Leency, Veliant, Punk_Joker, PavelYakov & KolibriOS Team 2008-2022
|
||||||
//GNU GPL license.
|
//GNU GPL license.
|
||||||
|
|
||||||
/*
|
/*
|
||||||
BUGS:
|
BUGS:
|
||||||
|
- F1 in KFM (move Properties to an external app)
|
||||||
- Ctrl+1+2+3+4 in KFM
|
- Ctrl+1+2+3+4 in KFM
|
||||||
- Highlight another commands on Ctrl|Shift in KFM like in Classic KFM
|
- Highlight another commands on Ctrl|Shift in KFM like in Classic KFM
|
||||||
TODO:
|
TODO:
|
||||||
@@ -10,9 +11,9 @@ TODO:
|
|||||||
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ABOUT_TITLE "Eolite 5.32"
|
#define ABOUT_TITLE "EOLITE 5.30"
|
||||||
#define TITLE_EOLITE "Eolite File Manager 5.32"
|
#define TITLE_EOLITE "Eolite File Manager 5.30"
|
||||||
#define TITLE_KFM "Kolibri File Manager 2.32";
|
#define TITLE_KFM "Kolibri File Manager 2.30";
|
||||||
|
|
||||||
#define MEMSIZE 1024 * 250
|
#define MEMSIZE 1024 * 250
|
||||||
#include "../lib/clipboard.h"
|
#include "../lib/clipboard.h"
|
||||||
@@ -443,9 +444,6 @@ void main()
|
|||||||
}
|
}
|
||||||
EventDriveClick(key_scancode);
|
EventDriveClick(key_scancode);
|
||||||
break;
|
break;
|
||||||
case SCAN_CODE_KEY_P:
|
|
||||||
EventCopyItemPath();
|
|
||||||
break;
|
|
||||||
case SCAN_CODE_KEY_X:
|
case SCAN_CODE_KEY_X:
|
||||||
CopyFilesListToClipboard(CUT);
|
CopyFilesListToClipboard(CUT);
|
||||||
break;
|
break;
|
||||||
@@ -718,7 +716,7 @@ void DrawFilePanels()
|
|||||||
DrawButtonsAroundList();
|
DrawButtonsAroundList();
|
||||||
path = location[active_panel^1];
|
path = location[active_panel^1];
|
||||||
active_panel ^= 1;
|
active_panel ^= 1;
|
||||||
OpenDir_without_unselect(WITH_REDRAW);
|
OpenDir2(WITH_REDRAW);
|
||||||
active_panel ^= 1;
|
active_panel ^= 1;
|
||||||
if (!getSelectedCount()) files_inactive.count = files.count;
|
if (!getSelectedCount()) files_inactive.count = files.count;
|
||||||
llist_copy(#files, #files_active);
|
llist_copy(#files, #files_active);
|
||||||
@@ -731,22 +729,38 @@ void DrawFilePanels()
|
|||||||
|
|
||||||
DrawButtonsAroundList();
|
DrawButtonsAroundList();
|
||||||
path = location[active_panel];
|
path = location[active_panel];
|
||||||
OpenDir_without_unselect(WITH_REDRAW);
|
OpenDir2(WITH_REDRAW);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void OpenDir2(char redraw){
|
||||||
|
if (buf) free(buf);
|
||||||
|
if (GetDir(#buf, #files.count, path, DIRS_NOROOT)) {
|
||||||
|
Write_Error(EAX);
|
||||||
|
history.add(path);
|
||||||
|
EventHistoryGoBack();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
SetCurDir(path);
|
||||||
|
if (files.count>0) && (files.cur_y-files.first==-1) files.cur_y=0;
|
||||||
|
files.visible = math.min(files.h / files.item_h, files.count);
|
||||||
|
if (!strncmp(path, "/rd/1",5)) || (!strncmp(path, "/sys/",4))
|
||||||
|
dir_at_fat16 = true; else dir_at_fat16 = false;
|
||||||
|
Sorting();
|
||||||
|
SystemDiscs.Draw();
|
||||||
|
list_full_redraw = true;
|
||||||
|
List_ReDraw();
|
||||||
|
DrawPathBar();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void OpenDir(char redraw){
|
void OpenDir(char redraw){
|
||||||
unselectAll();
|
|
||||||
OpenDir_without_unselect(redraw);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void OpenDir_without_unselect(char redraw) {
|
|
||||||
int errornum;
|
int errornum;
|
||||||
|
unselectAll();
|
||||||
if (buf) free(buf);
|
if (buf) free(buf);
|
||||||
if (errornum = GetDir(#buf, #files.count, path, DIRS_NOROOT)) {
|
if (errornum = GetDir(#buf, #files.count, path, DIRS_NOROOT)) {
|
||||||
history.add(path);
|
history.add(path);
|
||||||
|
//EventHistoryGoBack();
|
||||||
Dir_Up();
|
Dir_Up();
|
||||||
Write_Error(errornum);
|
Write_Error(errornum);
|
||||||
return;
|
return;
|
||||||
@@ -1041,6 +1055,7 @@ void EventHistoryGoForward()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void ShowOpenWithDialog()
|
void ShowOpenWithDialog()
|
||||||
{
|
{
|
||||||
byte open_param[4097];
|
byte open_param[4097];
|
||||||
@@ -1134,7 +1149,6 @@ void ShowPopinForm(byte _popin_type)
|
|||||||
break;
|
break;
|
||||||
case POPIN_DELETE:
|
case POPIN_DELETE:
|
||||||
if (!files.count) return;
|
if (!files.count) return;
|
||||||
popin_string[0] = -1;
|
|
||||||
if (!getSelectedCount()) && (!strncmp(#file_name,"..",2)) return;
|
if (!getSelectedCount()) && (!strncmp(#file_name,"..",2)) return;
|
||||||
popinx = DrawEolitePopup(T_YES, T_NO);
|
popinx = DrawEolitePopup(T_YES, T_NO);
|
||||||
WriteTextCenter(popinx, 178, POPIN_W, sc.work_text, T_DELETE_FILE);
|
WriteTextCenter(popinx, 178, POPIN_W, sc.work_text, T_DELETE_FILE);
|
||||||
@@ -1332,12 +1346,6 @@ void EventOpenSearch()
|
|||||||
RunProgram(#program_path, #param);
|
RunProgram(#program_path, #param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void EventCopyItemPath()
|
|
||||||
{
|
|
||||||
Clipboard__CopyText(#file_path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ProceedMouseGestures()
|
void ProceedMouseGestures()
|
||||||
{
|
{
|
||||||
char stats;
|
char stats;
|
||||||
|
@@ -4,8 +4,6 @@ char file_actions[]=
|
|||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Enter
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Enter
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+Ent
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+Ent
|
||||||
-
|
-
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+P
|
|
||||||
-
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+C
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |Ctrl+C
|
||||||
<EFBFBD><EFBFBD>१<EFBFBD><EFBFBD><EFBFBD> |Ctrl+X
|
<EFBFBD><EFBFBD>१<EFBFBD><EFBFBD><EFBFBD> |Ctrl+X
|
||||||
<EFBFBD><EFBFBD>⠢<EFBFBD><EFBFBD><EFBFBD> |Ctrl+V
|
<EFBFBD><EFBFBD>⠢<EFBFBD><EFBFBD><EFBFBD> |Ctrl+V
|
||||||
@@ -17,10 +15,8 @@ char empty_folder_actions[]=
|
|||||||
"<EFBFBD><EFBFBD>⠢<EFBFBD><EFBFBD><EFBFBD> |Ctrl+V";
|
"<EFBFBD><EFBFBD>⠢<EFBFBD><EFBFBD><EFBFBD> |Ctrl+V";
|
||||||
char burger_menu_items[] =
|
char burger_menu_items[] =
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>|Ctrl+N
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>|Ctrl+N
|
||||||
-
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>᮫<EFBFBD>|Ctrl+G
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>᮫<EFBFBD>|Ctrl+G
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+F
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|Ctrl+R
|
||||||
-
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ன<EFBFBD><EFBFBD>|F10
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ன<EFBFBD><EFBFBD>|F10
|
||||||
<EFBFBD> <EFBFBD>ணࠬ<EFBFBD><EFBFBD>";
|
<EFBFBD> <EFBFBD>ணࠬ<EFBFBD><EFBFBD>";
|
||||||
|
|
||||||
@@ -29,8 +25,6 @@ char file_actions[]=
|
|||||||
"Ava |Enter
|
"Ava |Enter
|
||||||
Ava ... |Ctrl+Ent
|
Ava ... |Ctrl+Ent
|
||||||
-
|
-
|
||||||
Copy path |Ctrl+P
|
|
||||||
-
|
|
||||||
Kopeeri |Ctrl+C
|
Kopeeri |Ctrl+C
|
||||||
L<EFBFBD>ika |Ctrl+X
|
L<EFBFBD>ika |Ctrl+X
|
||||||
Aseta |Ctrl+V
|
Aseta |Ctrl+V
|
||||||
@@ -42,10 +36,8 @@ char empty_folder_actions[]=
|
|||||||
"Aseta |Ctrl+V";
|
"Aseta |Ctrl+V";
|
||||||
char burger_menu_items[] =
|
char burger_menu_items[] =
|
||||||
"New window|Ctrl+N
|
"New window|Ctrl+N
|
||||||
-
|
|
||||||
Open console here|Ctrl+G
|
Open console here|Ctrl+G
|
||||||
Search|Ctrl+F
|
V<EFBFBD>rskenda|Ctrl+R
|
||||||
-
|
|
||||||
Settings|F10
|
Settings|F10
|
||||||
About";
|
About";
|
||||||
|
|
||||||
@@ -54,8 +46,6 @@ char file_actions[]=
|
|||||||
"Open |Enter
|
"Open |Enter
|
||||||
Open with... |Ctrl+Ent
|
Open with... |Ctrl+Ent
|
||||||
-
|
-
|
||||||
Copy path |Ctrl+P
|
|
||||||
-
|
|
||||||
Copy |Ctrl+C
|
Copy |Ctrl+C
|
||||||
Cut |Ctrl+X
|
Cut |Ctrl+X
|
||||||
Paste |Ctrl+V
|
Paste |Ctrl+V
|
||||||
@@ -67,10 +57,8 @@ char empty_folder_actions[]=
|
|||||||
"Paste |Ctrl+V";
|
"Paste |Ctrl+V";
|
||||||
char burger_menu_items[] =
|
char burger_menu_items[] =
|
||||||
"New window|Ctrl+N
|
"New window|Ctrl+N
|
||||||
-
|
|
||||||
Open console here|Ctrl+G
|
Open console here|Ctrl+G
|
||||||
Search|Ctrl+F
|
Refresh folder|Ctrl+R
|
||||||
-
|
|
||||||
Settings|F10
|
Settings|F10
|
||||||
About";
|
About";
|
||||||
#endif
|
#endif
|
||||||
@@ -88,18 +76,17 @@ void EventMenuClick(dword _id)
|
|||||||
if (active_menu == MENU_FILE) switch(_id) {
|
if (active_menu == MENU_FILE) switch(_id) {
|
||||||
case 1: EventOpen(0); break;
|
case 1: EventOpen(0); break;
|
||||||
case 2: ShowOpenWithDialog(); break;
|
case 2: ShowOpenWithDialog(); break;
|
||||||
case 3: EventCopyItemPath(); break;
|
case 3: CopyFilesListToClipboard(COPY); break;
|
||||||
case 4: CopyFilesListToClipboard(COPY); break;
|
case 4: CopyFilesListToClipboard(CUT); break;
|
||||||
case 5: CopyFilesListToClipboard(CUT); break;
|
case 5: EventPaste(path); break;
|
||||||
case 6: EventPaste(path); break;
|
case 6: FnProcess(2); break;
|
||||||
case 7: FnProcess(2); break;
|
case 7: ShowPopinForm(POPIN_DELETE); break;
|
||||||
case 8: ShowPopinForm(POPIN_DELETE); break;
|
case 8: FnProcess(1); break;
|
||||||
case 9: FnProcess(1); break;
|
|
||||||
}
|
}
|
||||||
if (active_menu == MENU_BURGER) switch(_id) {
|
if (active_menu == MENU_BURGER) switch(_id) {
|
||||||
case 1: EventOpenNewEolite(); break;
|
case 1: EventOpenNewEolite(); break;
|
||||||
case 2: EventOpenConsoleHere(); break;
|
case 2: EventOpenConsoleHere(); break;
|
||||||
case 3: EventOpenSearch(); break;
|
case 3: EventRefreshDisksAndFolders(); break;
|
||||||
case 4: FnProcess(10); break;
|
case 4: FnProcess(10); break;
|
||||||
case 5: EventShowAbout(); break;
|
case 5: EventShowAbout(); break;
|
||||||
}
|
}
|
||||||
|
@@ -69,7 +69,7 @@ void settings_dialog()
|
|||||||
case evKey:
|
case evKey:
|
||||||
GetKeys();
|
GetKeys();
|
||||||
if (key_scancode==SCAN_CODE_ESC) ExitSettings();
|
if (key_scancode==SCAN_CODE_ESC) ExitSettings();
|
||||||
edit_box_key_c stdcall (#path_start_ed,key_editbox);
|
edit_box_key_c stdcall (#path_start_ed,key_ascii << 8);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case evReDraw:
|
case evReDraw:
|
||||||
|
@@ -50,6 +50,10 @@ opendialog open_folder_dialog =
|
|||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define TOOLBAR_H 100
|
||||||
|
#define LISTX 0
|
||||||
|
#define LISTY TOOLBAR_H
|
||||||
|
|
||||||
//===================================================//
|
//===================================================//
|
||||||
// //
|
// //
|
||||||
// RESULTS //
|
// RESULTS //
|
||||||
@@ -91,7 +95,9 @@ void SearchThread()
|
|||||||
{
|
{
|
||||||
int prev_first, prev_cur_y;
|
int prev_first, prev_cur_y;
|
||||||
|
|
||||||
|
#ifndef __COFF__
|
||||||
load_dll(Proc_lib, #OpenDialog_init,0);
|
load_dll(Proc_lib, #OpenDialog_init,0);
|
||||||
|
#endif
|
||||||
OpenDialog_init stdcall (#open_folder_dialog);
|
OpenDialog_init stdcall (#open_folder_dialog);
|
||||||
|
|
||||||
if (!ESBYTE[path]) strcpy(path, "/sys");
|
if (!ESBYTE[path]) strcpy(path, "/sys");
|
||||||
@@ -101,43 +107,28 @@ void SearchThread()
|
|||||||
loop() switch(@WaitEvent())
|
loop() switch(@WaitEvent())
|
||||||
{
|
{
|
||||||
case evMouse:
|
case evMouse:
|
||||||
|
|
||||||
edit_box_mouse stdcall (#edit_name);
|
edit_box_mouse stdcall (#edit_name);
|
||||||
edit_box_mouse stdcall (#edit_path);
|
edit_box_mouse stdcall (#edit_path);
|
||||||
|
|
||||||
|
|
||||||
prev_cur_y = select_list.cur_y;
|
|
||||||
|
|
||||||
if (SelectList_ProcessMouse()) {
|
if (SelectList_ProcessMouse()) {
|
||||||
SelectList_Draw();
|
SelectList_Draw();
|
||||||
} else {
|
} else {
|
||||||
SelectList_DrawLine(select_list.cur_y);
|
SelectList_DrawLine(select_list.cur_y);
|
||||||
|
|
||||||
if (select_list.MouseOver(mouse.x, mouse.y))
|
|
||||||
{
|
|
||||||
if (mouse.key&MOUSE_LEFT) && (mouse.up) {
|
|
||||||
if (prev_cur_y == select_list.cur_y) EventRunFile();
|
|
||||||
}
|
}
|
||||||
|
if (mouse.key&MOUSE_RIGHT) && (mouse.up) && (select_list.MouseOver()) EventOpenFile(false);
|
||||||
if (mouse.key&MOUSE_RIGHT) && (mouse.up) {
|
|
||||||
EventShowFileInFolder();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case evButton:
|
case evButton:
|
||||||
switch (@GetButtonID()) {
|
switch (@GetButtonID()) {
|
||||||
case 1: @ExitProcess(); break;
|
case 1: @ExitProcess(); break;
|
||||||
case BTN_SEARCH: EventSearch(); break;
|
case BTN_SEARCH: EventSearch(); break;
|
||||||
case BTN_CHOOSE_PATH: EventChooseSearchInPath();
|
case BTN_CHOOSE_PATH: EventChooseSearchInPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case evKey:
|
case evKey:
|
||||||
GetKeys();
|
@GetKeys();
|
||||||
edit_box_key_c stdcall (#edit_name, key_editbox);
|
edit_box_key_c stdcall (#edit_name);
|
||||||
edit_box_key_c stdcall (#edit_path, key_editbox);
|
edit_box_key_c stdcall (#edit_path);
|
||||||
if (key_scancode == SCAN_CODE_TAB) {
|
if (key_scancode == SCAN_CODE_TAB) {
|
||||||
if (edit_name.flags & ed_focus) {
|
if (edit_name.flags & ed_focus) {
|
||||||
edit_name.flags >< edit_path.flags;
|
edit_name.flags >< edit_path.flags;
|
||||||
@@ -152,7 +143,7 @@ void SearchThread()
|
|||||||
if (edit_name.flags & ed_focus) || (edit_path.flags & ed_focus) {
|
if (edit_name.flags & ed_focus) || (edit_path.flags & ed_focus) {
|
||||||
if (SCAN_CODE_ENTER == key_scancode) EventSearch();
|
if (SCAN_CODE_ENTER == key_scancode) EventSearch();
|
||||||
} else {
|
} else {
|
||||||
if (SCAN_CODE_ENTER == key_scancode) EventRunFile();
|
if (SCAN_CODE_ENTER == key_scancode) EventOpenFile(true);
|
||||||
prev_first = select_list.first;
|
prev_first = select_list.first;
|
||||||
prev_cur_y = select_list.cur_y;
|
prev_cur_y = select_list.cur_y;
|
||||||
if (select_list.ProcessKey(key_scancode)) {
|
if (select_list.ProcessKey(key_scancode)) {
|
||||||
@@ -178,24 +169,17 @@ void SearchThread()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TOOLBAR_H 100
|
|
||||||
#define PAD 10
|
|
||||||
#define LISTX PAD
|
|
||||||
#define LISTY TOOLBAR_H
|
|
||||||
|
|
||||||
void draw_window_search()
|
void draw_window_search()
|
||||||
{
|
{
|
||||||
SelectList_Init(LISTX, LISTY, Form.cwidth-scroll1.size_x-LISTX-LISTX, Form.cheight-TOOLBAR_H-PAD);
|
SelectList_Init(LISTX, LISTY, Form.cwidth-scroll1.size_x-1, Form.cheight-TOOLBAR_H-1);
|
||||||
SelectList_Draw();
|
SelectList_Draw();
|
||||||
DrawWideRectangle(0, LISTY-PAD-1, Form.cwidth, Form.cheight-TOOLBAR_H+PAD+1, 9, sc.work);
|
DrawBar(0, TOOLBAR_H-1, Form.cwidth, 1, sc.line);
|
||||||
DrawRectangle(PAD-1, LISTY-1, select_list.w+1, select_list.h+1, sc.line);
|
|
||||||
|
|
||||||
DrawBar(0, 0, Form.cwidth, TOOLBAR_H-1, sc.work);
|
DrawBar(0, 0, Form.cwidth, TOOLBAR_H-1, sc.work);
|
||||||
DrawEditBox(#edit_name);
|
DrawEditBox(#edit_name);
|
||||||
WriteText(edit_name.left-2, edit_name.top-20, 0x90, sc.work_text, T_SEARCH_NAME);
|
WriteText(edit_name.left-2, edit_name.top-20, 0x90, sc.work_text, T_SEARCH_NAME);
|
||||||
edit_path.width = Form.cwidth - 314;
|
edit_path.width = Form.cwidth - 314;
|
||||||
DrawStandartCaptButton(PAD, 63, BTN_SEARCH, T_BUTTON_SEARCH);
|
|
||||||
DrawFileBox(#edit_path, T_SEARCH_PATH, BTN_CHOOSE_PATH);
|
DrawFileBox(#edit_path, T_SEARCH_PATH, BTN_CHOOSE_PATH);
|
||||||
|
DrawStandartCaptButton(10, 63, BTN_SEARCH, T_BUTTON_SEARCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SelectList_DrawLine(dword i)
|
void SelectList_DrawLine(dword i)
|
||||||
@@ -240,12 +224,6 @@ void SelectList_LineChanged()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
void getfullpath(dword to, path, name) {
|
|
||||||
strcpy(to, path);
|
|
||||||
chrcat(to, '/');
|
|
||||||
strcat(to, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
//===================================================//
|
//===================================================//
|
||||||
// //
|
// //
|
||||||
// EVENTS //
|
// EVENTS //
|
||||||
@@ -260,21 +238,22 @@ void EventChooseSearchInPath()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventShowFileInFolder()
|
void getfullpath(dword to, path, name) {
|
||||||
{
|
strcpy(to, path);
|
||||||
char full_path[4096];
|
chrcat(to, '/');
|
||||||
int pos = select_list.cur_y;
|
strcat(to, name);
|
||||||
getfullpath(#full_path, results.path.get(pos), results.name.get(pos));
|
|
||||||
RunProgram(#program_path, #full_path);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventRunFile()
|
void EventOpenFile(int run_file_not_show_in_folder)
|
||||||
{
|
{
|
||||||
char full_path[4096];
|
char full_path[4096];
|
||||||
int pos = select_list.cur_y;
|
int pos = select_list.cur_y;
|
||||||
getfullpath(#full_path, results.path.get(pos), results.name.get(pos));
|
getfullpath(#full_path, results.path.get(pos), results.name.get(pos));
|
||||||
if (dir_exists(#full_path)) chrcat(#full_path, '/');
|
if (run_file_not_show_in_folder) {
|
||||||
RunProgram("/sys/@open", #full_path);
|
RunProgram("/sys/@open", #full_path);
|
||||||
|
} else {
|
||||||
|
RunProgram("/sys/file managers/eolite", #full_path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventSearch()
|
void EventSearch()
|
||||||
|
@@ -9,6 +9,7 @@
|
|||||||
#pragma option -CPA
|
#pragma option -CPA
|
||||||
#initallvar 0
|
#initallvar 0
|
||||||
|
|
||||||
|
#ifndef __COFF__
|
||||||
#jumptomain FALSE
|
#jumptomain FALSE
|
||||||
|
|
||||||
#startaddress 0
|
#startaddress 0
|
||||||
@@ -29,6 +30,17 @@ dword I_Param = #param;
|
|||||||
dword I_Path = #program_path;
|
dword I_Path = #program_path;
|
||||||
char param[4096];
|
char param[4096];
|
||||||
char program_path[4096];
|
char program_path[4096];
|
||||||
|
#else
|
||||||
|
extern dword __argv;
|
||||||
|
extern dword __path;
|
||||||
|
|
||||||
|
dword I_Param = #__argv;
|
||||||
|
dword I_Path = #__path;
|
||||||
|
|
||||||
|
#define param __argv
|
||||||
|
#define program_path __path
|
||||||
|
#define ______INIT______ start
|
||||||
|
#endif
|
||||||
|
|
||||||
#define bool int
|
#define bool int
|
||||||
|
|
||||||
@@ -391,7 +403,6 @@ inline fastcall int TestBit( EAX, CL)
|
|||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
#define MINIMIZED 0x02
|
|
||||||
#define ROLLED_UP 0x04
|
#define ROLLED_UP 0x04
|
||||||
:void DefineAndDrawWindow(dword _x, _y, _w, _h, _window_type, _bgcolor, _title, _flags)
|
:void DefineAndDrawWindow(dword _x, _y, _w, _h, _window_type, _bgcolor, _title, _flags)
|
||||||
{
|
{
|
||||||
|
@@ -116,10 +116,17 @@
|
|||||||
EAX = 37;
|
EAX = 37;
|
||||||
EBX = 2;
|
EBX = 2;
|
||||||
$int 64
|
$int 64
|
||||||
|
$mov ebx, eax
|
||||||
|
$mov ecx, eax
|
||||||
key = EAX;
|
key = EAX;
|
||||||
lkm = EAX&MOUSE_LEFT;
|
$and eax, 0x00000001
|
||||||
pkm = EAX&MOUSE_RIGHT;
|
$shr ebx, 1
|
||||||
mkm = EAX&MOUSE_MIDDLE;
|
$and ebx, 0x00000001
|
||||||
|
$shr ecx, 2
|
||||||
|
$and ecx, 0x00000001
|
||||||
|
lkm = EAX;
|
||||||
|
pkm = EBX;
|
||||||
|
mkm = ECX;
|
||||||
|
|
||||||
//when you release the MOUSE button
|
//when you release the MOUSE button
|
||||||
// Mouse Move Event
|
// Mouse Move Event
|
||||||
|
@@ -6,6 +6,37 @@
|
|||||||
#include "../lib/kolibri.h"
|
#include "../lib/kolibri.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __COFF__
|
||||||
|
extern dword edit_box_draw;
|
||||||
|
extern dword edit_box_key_safe;
|
||||||
|
extern dword edit_box_mouse;
|
||||||
|
extern dword edit_box_set_text;
|
||||||
|
|
||||||
|
extern dword scrollbar_v_draw;
|
||||||
|
extern dword scrollbar_v_mouse;
|
||||||
|
extern dword scrollbar_h_draw;
|
||||||
|
extern dword scrollbar_h_mouse;
|
||||||
|
|
||||||
|
extern dword PathShow_prepare;
|
||||||
|
extern dword PathShow_draw;
|
||||||
|
|
||||||
|
extern dword progressbar_draw;
|
||||||
|
extern dword progressbar_progress;
|
||||||
|
|
||||||
|
extern dword frame_draw;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Legacy support
|
||||||
|
For new programs need to use edit_box_key_safe (or edit_box_key_c
|
||||||
|
with a define below)
|
||||||
|
TODO: change in all cmm programs edit_box_key to edit_box_key_safe (edit_box_key_c)
|
||||||
|
See examples in eolite and imgedit
|
||||||
|
|
||||||
|
This define changed all edit_box_key_c to edit_box_key_safe identifier's
|
||||||
|
*/
|
||||||
|
#define edit_box_key_c edit_box_key_safe
|
||||||
|
|
||||||
|
#else
|
||||||
#ifndef INCLUDE_DLL_H
|
#ifndef INCLUDE_DLL_H
|
||||||
#include "../lib/dll.h"
|
#include "../lib/dll.h"
|
||||||
#endif
|
#endif
|
||||||
@@ -211,3 +242,5 @@ struct frame
|
|||||||
frame_draw stdcall (#frame123);
|
frame_draw stdcall (#frame123);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
@@ -44,14 +44,15 @@ signed SelectList_ProcessMouse()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mouse.up) && (select_list.ProcessMouse(mouse.x, mouse.y)) {
|
if (mouse.up) && (mouse.click)
|
||||||
|
if (select_list.ProcessMouse(mouse.x, mouse.y)) {
|
||||||
SelectList_LineChanged();
|
SelectList_LineChanged();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
:void SelectList_DrawBorder() {
|
void SelectList_DrawBorder() {
|
||||||
DrawRectangle3D(select_list.x-2, select_list.y-2,
|
DrawRectangle3D(select_list.x-2, select_list.y-2,
|
||||||
select_list.w+3+scroll1.size_x, select_list.h+3,
|
select_list.w+3+scroll1.size_x, select_list.h+3,
|
||||||
sc.dark, sc.light);
|
sc.dark, sc.light);
|
||||||
@@ -60,8 +61,8 @@ signed SelectList_ProcessMouse()
|
|||||||
|
|
||||||
void SelectList_DrawScroller()
|
void SelectList_DrawScroller()
|
||||||
{
|
{
|
||||||
scroll1.bckg_col = sc.dark; // MixColors(sc.work, 0xBBBbbb, 80);
|
scroll1.bckg_col = MixColors(sc.work, 0xBBBbbb, 80);
|
||||||
scroll1.frnt_col = sc.light; // MixColors(sc.work,0xFFFfff,120);
|
scroll1.frnt_col = MixColors(sc.work,0xFFFfff,120);
|
||||||
scroll1.line_col = sc.line;
|
scroll1.line_col = sc.line;
|
||||||
|
|
||||||
scroll1.max_area = select_list.count;
|
scroll1.max_area = select_list.count;
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
; SPDX-License-Identifier: GPL-2.0-only
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TreeList <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD> box_lib.obj
|
||||||
; TreeList: used as a ListBox or Tree control (determined by settings)
|
; <EFBFBD><EFBFBD> <20><><EFBFBD> <20>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> GPL2 <20><>業<EFBFBD><E6A5AD><EFBFBD>
|
||||||
; Copyright (C) 2009-2025 IgorA <aie85playm@gmail.com>
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>䨪<EFBFBD><E4A8AA><EFBFBD><EFBFBD> 12.01.2021 IgorA
|
||||||
|
|
||||||
|
|
||||||
struct TreeNode
|
struct TreeNode
|
||||||
type dw ? ;+ 0 ⨯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 㧫<>
|
type dw ? ;+ 0 ⨯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 㧫<>
|
||||||
@@ -13,52 +14,6 @@ struct TreeNode
|
|||||||
ends
|
ends
|
||||||
|
|
||||||
|
|
||||||
;input:
|
|
||||||
; ecx - 0xXX...... font options
|
|
||||||
;output:
|
|
||||||
; eax - font height in pixels
|
|
||||||
align 4
|
|
||||||
proc get_font_h uses ebx
|
|
||||||
mov eax,ecx
|
|
||||||
shr eax,24
|
|
||||||
bt eax,4
|
|
||||||
jc @f
|
|
||||||
bt eax,5
|
|
||||||
jc @f
|
|
||||||
mov ebx,9
|
|
||||||
jmp .siz0
|
|
||||||
@@:
|
|
||||||
mov ebx,16
|
|
||||||
.siz0:
|
|
||||||
and eax,7
|
|
||||||
inc eax
|
|
||||||
imul eax,ebx
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
;input:
|
|
||||||
; ecx - 0xXX...... font options
|
|
||||||
;output:
|
|
||||||
; eax - font width in pixels
|
|
||||||
align 4
|
|
||||||
proc get_font_w uses ebx
|
|
||||||
mov eax,ecx
|
|
||||||
shr eax,24
|
|
||||||
bt eax,4
|
|
||||||
jc @f
|
|
||||||
bt eax,5
|
|
||||||
jc @f
|
|
||||||
mov ebx,6
|
|
||||||
jmp .siz0
|
|
||||||
@@:
|
|
||||||
mov ebx,8
|
|
||||||
.siz0:
|
|
||||||
and eax,7
|
|
||||||
inc eax
|
|
||||||
imul eax,ebx
|
|
||||||
ret
|
|
||||||
endp
|
|
||||||
|
|
||||||
;<3B>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯨ᪠ <20> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樨 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
;<3B>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯨ᪠ <20> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樨 (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||||
align 16
|
align 16
|
||||||
proc tl_data_init uses eax ecx edi, tlist:dword
|
proc tl_data_init uses eax ecx edi, tlist:dword
|
||||||
@@ -508,24 +463,34 @@ proc tl_draw, tlist:dword
|
|||||||
|
|
||||||
cmp tl_capt_cy,9 ;9 - minimum caption height
|
cmp tl_capt_cy,9 ;9 - minimum caption height
|
||||||
jl @f
|
jl @f
|
||||||
call tl_draw_caption_cur_pos
|
mov ebx,edi ;calculate cursor position
|
||||||
|
mov eax,tl_cur_pos
|
||||||
|
inc eax
|
||||||
|
lea edi,[txt_capt_cur.v]
|
||||||
|
stdcall tl_convert_to_str, 5
|
||||||
|
|
||||||
|
mov edi,ebx
|
||||||
mov eax,tl_tim_undo
|
mov eax,tl_tim_undo
|
||||||
or eax,eax
|
|
||||||
jz @f
|
|
||||||
mov ebx,edi ;save edi
|
|
||||||
lea edi,[txt_capt_otm.v]
|
lea edi,[txt_capt_otm.v]
|
||||||
stdcall tl_convert_to_str, 5
|
stdcall tl_convert_to_str, 5
|
||||||
mov edi,ebx ;restore edi
|
mov edi,ebx ;restore edi
|
||||||
|
|
||||||
|
mov eax,SF_DRAW_TEXT ;captions
|
||||||
|
mov ebx,tl_box_left
|
||||||
|
shl ebx,16
|
||||||
|
add ebx,5*65536+3
|
||||||
|
add ebx,tl_box_top
|
||||||
|
mov ecx,tl_col_txt
|
||||||
|
or ecx,0x80000000
|
||||||
|
lea edx,[txt_capt_cur]
|
||||||
|
int 0x40
|
||||||
|
|
||||||
mov ebx,tl_box_left
|
mov ebx,tl_box_left
|
||||||
shl ebx,16
|
shl ebx,16
|
||||||
add ebx,100*65536+3
|
add ebx,100*65536+3
|
||||||
mov ecx,tl_col_txt
|
|
||||||
and ecx,0x00ffffff
|
|
||||||
or ecx,0x80000000
|
|
||||||
add ebx,tl_box_top
|
add ebx,tl_box_top
|
||||||
lea edx,[txt_capt_otm]
|
lea edx,[txt_capt_otm]
|
||||||
mcall SF_DRAW_TEXT ;undo
|
int 0x40
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
;cycle to nodes
|
;cycle to nodes
|
||||||
@@ -1198,11 +1163,10 @@ proc tl_draw_node_caption uses ebx ecx edx esi
|
|||||||
ror ecx,16
|
ror ecx,16
|
||||||
mov ebx,ecx
|
mov ebx,ecx
|
||||||
add bx,tl_img_cy ;<3B><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
add bx,tl_img_cy ;<3B><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
sub bx,9 ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
||||||
mov ecx,tl_col_txt
|
mov ecx,tl_col_txt
|
||||||
call get_font_h
|
and ecx,0xffffff
|
||||||
sub bx,ax ;<3B>⭨<EFBFBD><E2ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⥪<><E2A5AA><EFBFBD>
|
mcall SF_DRAW_TEXT
|
||||||
and ecx,0x37ffffff
|
|
||||||
mcall SF_DRAW_TEXT ;node text
|
|
||||||
@@:
|
@@:
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
@@ -1215,15 +1179,13 @@ endp
|
|||||||
align 4
|
align 4
|
||||||
proc tl_get_draw_text_len uses eax ecx edx
|
proc tl_get_draw_text_len uses eax ecx edx
|
||||||
mov esi,eax ;<3B><>६ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
mov esi,eax ;<3B><>६ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ப<EFBFBD>
|
||||||
mov ecx,tl_col_txt
|
|
||||||
call get_font_w
|
|
||||||
mov ecx,eax
|
|
||||||
mov eax,tl_box_left
|
mov eax,tl_box_left
|
||||||
add eax,tl_box_width
|
add eax,tl_box_width
|
||||||
cmp eax,ebx
|
cmp eax,ebx
|
||||||
jle .text_null ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><>࠭<EFBFBD><E0A0AD>
|
jle .text_null ;<3B> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><>࠭<EFBFBD><E0A0AD>
|
||||||
sub eax,ebx
|
sub eax,ebx
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
|
mov ecx,6 ;<3B><>ਭ<EFBFBD> <20><><EFBFBD>⥬<EFBFBD><E2A5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
div ecx ;ᬮ<>ਬ <>쪮 ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>࠭<EFBFBD>
|
div ecx ;ᬮ<>ਬ <>쪮 ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>࠭<EFBFBD>
|
||||||
cmp esi,eax
|
cmp esi,eax
|
||||||
jl @f
|
jl @f
|
||||||
@@ -1896,8 +1858,10 @@ pushad
|
|||||||
.po8:
|
.po8:
|
||||||
call tl_node_move_po8 ;㧫<> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>塞 8 <20><>뫮<EFBFBD>
|
call tl_node_move_po8 ;㧫<> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>塞 8 <20><>뫮<EFBFBD>
|
||||||
.cur_mov:
|
.cur_mov:
|
||||||
stdcall tl_cur_perv, edi
|
push dword edi
|
||||||
stdcall tl_draw, edi
|
call tl_cur_perv
|
||||||
|
push dword edi
|
||||||
|
call tl_draw
|
||||||
@@:
|
@@:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
@@ -2017,11 +1981,10 @@ tl_draw_caption_cur_pos:
|
|||||||
add ebx,5*65536+3
|
add ebx,5*65536+3
|
||||||
add ebx,tl_box_top
|
add ebx,tl_box_top
|
||||||
mov ecx,tl_col_txt
|
mov ecx,tl_col_txt
|
||||||
and ecx,0x00ffffff
|
|
||||||
or ecx,0xc0000000 ;0x40000000 <20><><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD> 䮭 梥⮬ edi
|
or ecx,0xc0000000 ;0x40000000 <20><><EFBFBD><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD> 䮭 梥⮬ edi
|
||||||
lea edx,[txt_capt_cur]
|
lea edx,[txt_capt_cur]
|
||||||
mov edi,tl_col_zag
|
mov edi,tl_col_zag
|
||||||
mcall SF_DRAW_TEXT ;row number
|
mcall SF_DRAW_TEXT ;captions
|
||||||
popad
|
popad
|
||||||
@@:
|
@@:
|
||||||
ret
|
ret
|
||||||
@@ -2290,6 +2253,6 @@ align 4
|
|||||||
jge @f
|
jge @f
|
||||||
or al,0x30 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 ᨬ<><E1A8AC><EFBFBD> '0'
|
or al,0x30 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 ᨬ<><E1A8AC><EFBFBD> '0'
|
||||||
stosb ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> al <20> <20>祪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [edi]
|
stosb ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> al <20> <20>祪<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [edi]
|
||||||
mov word[edi],' ' ;add space symbol and 0
|
mov byte[edi],0
|
||||||
@@:
|
@@:
|
||||||
ret
|
ret
|
||||||
|
@@ -6,7 +6,7 @@ MK_C_SYM(__ieee754_expf)
|
|||||||
fstl %st(1)
|
fstl %st(1)
|
||||||
frndint
|
frndint
|
||||||
fstl %st(2)
|
fstl %st(2)
|
||||||
fsubp
|
fsubrp
|
||||||
f2xm1
|
f2xm1
|
||||||
fld1
|
fld1
|
||||||
faddp
|
faddp
|
||||||
|
@@ -41,7 +41,6 @@ dd 1, start, init_end, end_mem, stack_top, params, 0
|
|||||||
include 'lang.inc' ; Language support for locales: ru_RU (CP866), es_ES, en_US.
|
include 'lang.inc' ; Language support for locales: ru_RU (CP866), es_ES, en_US.
|
||||||
include '../../macros.inc'
|
include '../../macros.inc'
|
||||||
include '../../proc32.inc'
|
include '../../proc32.inc'
|
||||||
include "../../string.inc"
|
|
||||||
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
||||||
include '../../dll.inc'
|
include '../../dll.inc'
|
||||||
;include '../../debug.inc'
|
;include '../../debug.inc'
|
||||||
@@ -370,12 +369,6 @@ endl
|
|||||||
|
|
||||||
mcall 30,4,,1
|
mcall 30,4,,1
|
||||||
jmp .n
|
jmp .n
|
||||||
@@:
|
|
||||||
stdcall string.length, pathOut
|
|
||||||
add eax, pathOut
|
|
||||||
cmpne [eax - 1], byte '/', @f
|
|
||||||
mov [eax - 1], byte 0
|
|
||||||
dec dword[edtUnpPath.size]
|
|
||||||
@@:
|
@@:
|
||||||
mcall 30,4,pathOut,1
|
mcall 30,4,pathOut,1
|
||||||
.n:
|
.n:
|
||||||
|
@@ -1,5 +0,0 @@
|
|||||||
@del *.
|
|
||||||
@For /R %%i In (*.c) Do c-- "%%i"
|
|
||||||
@rename *.com *.
|
|
||||||
@pause
|
|
||||||
@del warning.txt
|
|
@@ -29,16 +29,18 @@ char BOARD_SIZES[] = "S\0L";
|
|||||||
|
|
||||||
#ifdef LANG_RUS
|
#ifdef LANG_RUS
|
||||||
char *BUTTON_CAPTIONS[]={ " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [F2]", " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [F1]", " <20><>室 [Esc]", 0};
|
char *BUTTON_CAPTIONS[]={ " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [F2]", " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [F1]", " <20><>室 [Esc]", 0};
|
||||||
char CLICKS_TEXT[]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: /";
|
char CLICKS_TEXT[]=" <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: /";
|
||||||
char LEVELS_TEXT[]=" <20><><EFBFBD><EFBFBD>:";
|
char LEVELS_TEXT[]=" <20><><EFBFBD><EFBFBD>:";
|
||||||
|
|
||||||
char HELP_WINDOW_CAPTION[]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
char HELP_WINDOW_CAPTION[]="<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
char *HELP_TEXT[]={ "<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Flood-it?",
|
char *HELP_TEXT[]={ "<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Flood-it?",
|
||||||
"",
|
"",
|
||||||
"<EFBFBD>롥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 梥<>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><EFBFBD>. <20><><EFBFBD>⪨ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 梥⮬ <20><> <20><>࠭<EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD> <20><> 室<><E5AEA4>.",
|
||||||
"<EFBFBD>⨬ 梥⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> - ⠪ <20><> <20><><EFBFBD>ᮥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>稭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>孥<EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⪨. <20>롥<EFBFBD><EBA1A5><EFBFBD><EFBFBD> 梥<>, <20><><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>",
|
||||||
"<EFBFBD><EFBFBD>ᥤ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⪨ ⮩ <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᪨. <20><>墠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><>",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>, <20> <EFBFBD><EFBFBD><EFBFBD>⪨ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⨬ 梥⮬ - ⠪ <20><> <EFBFBD><EFBFBD><EFBFBD>ᮥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
"<EFBFBD><EFBFBD>࠭<EFBFBD>祭<EFBFBD><EFBFBD><EFBFBD> <20><> 室<EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD>㯭<EFBFBD> <20><><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><>᪨.",
|
"<EFBFBD><EFBFBD>ᥤ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⪨ ⮩ <20><> <20><><EFBFBD><EFBFBD>᪨. <20><>墠<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쭮<EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD> 室<><E5AEA4>. <20><>蠣<EFBFBD><E8A0A3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⥣<EFBFBD><E2A5A3> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਭ樯<E0A8AD><E6A8AF> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,",
|
||||||
|
"<EFBFBD>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!",
|
||||||
"",
|
"",
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>蠬<EFBFBD>:",
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>蠬<EFBFBD>:",
|
||||||
"[Q] [W] [E]",
|
"[Q] [W] [E]",
|
||||||
@@ -57,7 +59,7 @@ char BOARD_SIZES[] = "S\0L";
|
|||||||
"vajutades nuppudele vasakul. Kui sa muudad v<>rvi pragusel alal,",
|
"vajutades nuppudele vasakul. Kui sa muudad v<>rvi pragusel alal,",
|
||||||
"siis iga kokkupuutuv sama v<>rv muutub samaks. Nii saad ujutada",
|
"siis iga kokkupuutuv sama v<>rv muutub samaks. Nii saad ujutada",
|
||||||
"teised alad m<>nguv<75>ljal <20>le. Valida saad 2 m<>nguv<75>lja suuruse",
|
"teised alad m<>nguv<75>ljal <20>le. Valida saad 2 m<>nguv<75>lja suuruse",
|
||||||
"vahel.",
|
"vahel. Proovi v<>li <20>le ujutada etteandtud k<>ikude arvuga!",
|
||||||
"",
|
"",
|
||||||
"M<EFBFBD>ngida saab ka klaviatuuriga:",
|
"M<EFBFBD>ngida saab ka klaviatuuriga:",
|
||||||
"[Q] [W] [E]",
|
"[Q] [W] [E]",
|
||||||
@@ -71,10 +73,11 @@ char BOARD_SIZES[] = "S\0L";
|
|||||||
char HELP_WINDOW_CAPTION[]="Help";
|
char HELP_WINDOW_CAPTION[]="Help";
|
||||||
char *HELP_TEXT[]={ "How to play Flood-it?",
|
char *HELP_TEXT[]={ "How to play Flood-it?",
|
||||||
"",
|
"",
|
||||||
"You start from the TOP LEFT corner and progress by selecting one",
|
"Flood the whole board with one color within the allowed steps.",
|
||||||
|
"You start from the top left corner and progress by selecting one",
|
||||||
"of the colored buttons on the left. When you change your current area",
|
"of the colored buttons on the left. When you change your current area",
|
||||||
"color, every adjacent square with the same color also changes, that",
|
"color, every adjacent square with the same color also changes, that",
|
||||||
"way you can flood other areas of the board. Select from 2 sizes of",
|
"way you can flood other areas of the board. Select from 3 sizes of",
|
||||||
"the board and try to flood-it in the least amount of steps!",
|
"the board and try to flood-it in the least amount of steps!",
|
||||||
"",
|
"",
|
||||||
"You can also play with keyboard:",
|
"You can also play with keyboard:",
|
||||||
|
Reference in New Issue
Block a user