appearance:

- working screensaver tab
- add "auto" type of wallpapper set
various fixes

git-svn-id: svn://kolibrios.org@9465 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2021-12-24 20:07:57 +00:00
parent 1ba74228ea
commit c78bc9e513
16 changed files with 135 additions and 88 deletions

View File

@ -17,7 +17,7 @@ img_files = {
{"STRUCT.INC", PROGS .. "/struct.inc"}, {"STRUCT.INC", PROGS .. "/struct.inc"},
{"FB2READ", "common/fb2read"}, {"FB2READ", "common/fb2read"},
{"ALLGAMES", "common/allgames"}, {"ALLGAMES", "common/allgames"},
{"HOME.PNG", "common/wallpapers/home.png"}, {"HOME.PNG", "common/wallpapers/T home.png"},
{"ICONS32.PNG", "common/icons32.png"}, {"ICONS32.PNG", "common/icons32.png"},
{"ICONS16.PNG", "common/icons16.png"}, {"ICONS16.PNG", "common/icons16.png"},
{"INDEX.HTM", "common/index_htm"}, {"INDEX.HTM", "common/index_htm"},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 454 B

After

Width:  |  Height:  |  Size: 454 B

View File

Before

Width:  |  Height:  |  Size: 495 B

After

Width:  |  Height:  |  Size: 495 B

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 87 B

View File

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 B

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 B

View File

@ -6,7 +6,7 @@ Home Rand and Robyn Miller Based on the game "Cosmic
Free Yourself Jonathan Besler https://interfacelift.com/user/86064/jonathan_besler.html Free Yourself Jonathan Besler https://interfacelift.com/user/86064/jonathan_besler.html
Unsplash Alexander Popov https://unsplash.com/@5tep5 Unsplash Alexander Popov https://unsplash.com/@5tep5
KolibriOS Tan Viktorya Sidorova KolibriOS Tan Viktorya Sidorova
brickhouseislands3c Mrmo Tarius https://pixeljoint.com/pixelart/85317.htm Brick house islands Mrmo Tarius https://pixeljoint.com/pixelart/85317.htm
=====Icons==== =====Icons====

View File

@ -1,7 +1,7 @@
//11.03.12 - start! //11.03.12 - start!
//ver 2.31 //ver 2.31
#define MEMSIZE 200*1024 #define MEMSIZE 1024*70
#include "../lib/mem.h" #include "../lib/mem.h"
#include "../lib/strings.h" #include "../lib/strings.h"
#include "../lib/io.h" #include "../lib/io.h"
@ -34,21 +34,20 @@ enum {
char folder_path[4096]; char folder_path[4096];
char cur_file_path[4096]; char cur_file_path[4096];
char cur_skin_path[4096]; char cur_skin_path[4096];
int files_mas[400]; char ss_available[200];
int screensaver_timeout;
_tabs tabs = { -sizeof(t_skins)-sizeof(t_wallpapers)-sizeof(t_screensaver)-3*8+WIN_W _tabs tabs = { -sizeof(t_skins)-sizeof(t_wallpapers)-sizeof(t_screensaver)-3*8+WIN_W
- TAB_PADDING / 2, LP, NULL, BASE_TAB_BUTTON_ID }; - TAB_PADDING / 2, LP, NULL, BASE_TAB_BUTTON_ID };
checkbox update_docky = { T_UPDATE_DOCK, false }; checkbox update_docky = { T_UPDATE_DOCK, false };
checkbox optionbox_stretch = { T_CHECKBOX_STRETCH, true }; checkbox optionbox_stretch = { T_CHECKBOX_STRETCH, false };
checkbox optionbox_tiled = { T_CHECKBOX_TILED, false }; checkbox optionbox_tiled = { T_CHECKBOX_TILED, false };
checkbox optionbox_auto = { T_CHECKBOX_AUTO, true };
struct SCREENSAVER_SETTINGS { collection list;
int timeout;
char program[60];
char available[200];
} ss_settings;
//===================================================// //===================================================//
// // // //
@ -70,6 +69,8 @@ void main()
tabs.add(#t_screensaver, #EventTabScreensaverClick); tabs.add(#t_screensaver, #EventTabScreensaverClick);
tabs.draw_active_tab(); tabs.draw_active_tab();
GetScreensaverIniSettings();
SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER); SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
loop() switch(WaitEvent()) loop() switch(WaitEvent())
{ {
@ -80,13 +81,21 @@ void main()
case evButton: case evButton:
id=GetButtonID(); id=GetButtonID();
if (id==1) EventExit(); if (id==1) EventExit();
if (id==BTN_SELECT_WALLP_FOLDER) EventSelectWallpFolder();
tabs.click(id); tabs.click(id);
checkbox1.click(id); if (tabs.active_tab == TAB_SKINS) {
spinbox1.click(id); checkbox1.click(id);
if (update_docky.click(id)) EventUpdateDocky(); spinbox1.click(id);
if (!optionbox_stretch.checked) && (optionbox_stretch.click(id)) EventSetWallpMode_Stretch(); if (update_docky.click(id)) EventUpdateDocky();
if (!optionbox_tiled.checked) && (optionbox_tiled.click(id)) EventSetWallpMode_Tiled(); }
if (tabs.active_tab == TAB_WALLPAPERS) {
if (id==BTN_SELECT_WALLP_FOLDER) EventSelectWallpFolder();
if (optionbox_stretch.click(id)) EventSetWallpMode(1,0,0);
if (optionbox_tiled.click(id)) EventSetWallpMode(0,1,0);
if (optionbox_auto.click(id)) EventSetWallpMode(0,0,1);
}
if (tabs.active_tab == TAB_SCREENSAVERS) {
if (id==BTN_TEST_SCREENSAVER) EventOpenFile();
}
break; break;
case evKey: case evKey:
@ -98,14 +107,13 @@ void main()
id = tabs.active_tab+1; id = tabs.active_tab+1;
if(id==3)id=0; if(id==3)id=0;
tabs.click(id + tabs.base_id); tabs.click(id + tabs.base_id);
DrawWindowContent();
break; break;
} }
if (! edit_cmm.flags & ed_focus) && (! edit_st.flags & ed_focus) if (! edit_cmm.flags & ed_focus) && (! edit_st.flags & ed_focus)
for (i=select_list.cur_y+1; i<select_list.count; i++) for (i=select_list.cur_y+1; i<select_list.count; i++)
{ {
id = ESBYTE[io.dir.position(files_mas[i])]; id = ESBYTE[list.get(i)];
if (id==ESBYTE[EAX]) || (id==key_ascii-32) if (id==ESBYTE[EAX]) || (id==key_ascii-32)
{ {
select_list.cur_y = i - 1; select_list.cur_y = i - 1;
@ -165,14 +173,15 @@ void DrawWindowContent()
} }
if (tabs.active_tab == TAB_WALLPAPERS) if (tabs.active_tab == TAB_WALLPAPERS)
{ {
DrawFrame(RIGHTx, PANEL_H+5, 180, 80, T_PICTURE_MODE); DrawFrame(RIGHTx, PANEL_H+5, 180, 105, T_PICTURE_MODE);
optionbox_stretch.draw(RIGHTx+14, PANEL_H+25); optionbox_stretch.draw(RIGHTx+14, PANEL_H+25);
optionbox_tiled.draw(RIGHTx+14, PANEL_H+52); optionbox_tiled.draw(RIGHTx+14, PANEL_H+52);
DrawStandartCaptButton(RIGHTx, PANEL_H+100, BTN_SELECT_WALLP_FOLDER, T_SELECT_FOLDER); optionbox_auto.draw(RIGHTx+14, PANEL_H+79);
DrawStandartCaptButton(RIGHTx, PANEL_H+130, BTN_SELECT_WALLP_FOLDER, T_SELECT_FOLDER);
} }
if (tabs.active_tab == TAB_SCREENSAVERS) if (tabs.active_tab == TAB_SCREENSAVERS)
{ {
DrawStandartCaptButton(RIGHTx, PANEL_H, BTN_TEST_SCREENSAVER, "Test"); DrawStandartCaptButton(RIGHTx, PANEL_H, BTN_TEST_SCREENSAVER, T_SCREENSAVER_PREVIEW);
} }
} }
@ -181,31 +190,46 @@ bool strreqi(dword _left, _right)
return strcmp(_left+strrchr(_left,'.'), _right); return strcmp(_left+strrchr(_left,'.'), _right);
} }
dword files_mas[400];
void Open_Dir() void Open_Dir()
{ {
int j; int j;
char temp_filename[4096]; char fname[4096];
select_list.count = 0; select_list.ClearList();
if(io.dir.buffer)free(io.dir.buffer); if(io.dir.buffer)free(io.dir.buffer);
io.dir.load(#folder_path,DIR_ONLYREAL); io.dir.load(#folder_path,DIR_ONLYREAL);
for (j=0; j<io.dir.count; j++) for (j=0; j<io.dir.count; j++)
{ {
strcpy(#temp_filename, io.dir.position(j)); strcpy(#fname, io.dir.position(j));
strlwr(#temp_filename); strlwr(#fname);
if (tabs.active_tab==TAB_SKINS) { if (tabs.active_tab==TAB_SKINS) {
if (strreqi(#temp_filename,"skn")!=0) continue; if (strreqi(#fname,"skn")!=0) continue;
} }
if (tabs.active_tab==TAB_WALLPAPERS) { if (tabs.active_tab==TAB_WALLPAPERS) {
if (strreqi(#temp_filename,"png")!=0) if (strreqi(#fname,"png")!=0)
&& (strreqi(#temp_filename,"jpg")!=0) && (strreqi(#fname,"jpg")!=0)
&& (strreqi(#temp_filename,"jpeg")!=0) && (strreqi(#fname,"jpeg")!=0)
&& (strreqi(#temp_filename,"bmp")!=0) && (strreqi(#fname,"bmp")!=0)
&& (strreqi(#temp_filename,"gif")!=0) continue; && (strreqi(#fname,"gif")!=0) continue;
} }
files_mas[calc(select_list.count)]=j; ESDWORD[select_list.count*4 + #files_mas] = j;
select_list.count++; select_list.count++;
} }
Sort_by_Name(0, select_list.count-1); Sort_by_Name(0, select_list.count-1);
list.drop();
for (j=0; j<select_list.count; j++) {
list.add(io.dir.position(files_mas[j]));
}
if (!select_list.count) notify(T_NO_FILES);
//save current item for tab change
switch(tabs.active_tab) {
CASE TAB_SKINS: select_list.cur_y = active_skin; BREAK;
CASE TAB_WALLPAPERS: select_list.cur_y = active_wallpaper; BREAK;
CASE TAB_SCREENSAVERS: select_list.cur_y = active_screensaver;
}
if (select_list.cur_y>select_list.visible) select_list.first=select_list.cur_y;
select_list.CheckDoesValuesOkey();
if (LIST_W) draw_window();
} }
void Sort_by_Name(int a, b) // for the first call: a = 0, b = sizeof(mas) - 1 void Sort_by_Name(int a, b) // for the first call: a = 0, b = sizeof(mas) - 1
@ -227,21 +251,30 @@ void SelectList_DrawLine(dword i)
{ {
int draw_y = i*SELECT_LIST_ITEMH+PANEL_H; int draw_y = i*SELECT_LIST_ITEMH+PANEL_H;
int i_abs = select_list.first + i; int i_abs = select_list.first + i;
char filename[4096]; char filename_buf[4096];
char* filename = #filename_buf;
strcpy(#filename, io.dir.position(files_mas[i_abs])); strcpy(filename, list.get(i_abs));
EAX = math.min(strrchr(#filename,'.')-1, LIST_W - 24 / 8); EAX = math.min(strrchr(filename,'.')-1, LIST_W - 24 / 8);
filename[EAX] = '\0'; filename_buf[EAX] = '\0';
if (EAX = strrchr(filename,'/')) filename += EAX;
//save current item for tab change
switch(tabs.active_tab) {
CASE TAB_SKINS: active_skin = select_list.cur_y; BREAK;
CASE TAB_WALLPAPERS: active_wallpaper = select_list.cur_y; BREAK;
CASE TAB_SCREENSAVERS: active_screensaver = select_list.cur_y;
}
if (select_list.cur_y == i_abs) if (select_list.cur_y == i_abs)
{ {
DrawBar(select_list.x, draw_y, LIST_W, SELECT_LIST_ITEMH, sc.button); DrawBar(select_list.x, draw_y, LIST_W, SELECT_LIST_ITEMH, sc.button);
WriteText(select_list.x+12,draw_y+select_list.text_y,select_list.font_type,sc.button_text, #filename); WriteText(select_list.x+12,draw_y+select_list.text_y,select_list.font_type,sc.button_text, filename);
} }
else else
{ {
DrawBar(select_list.x,draw_y,LIST_W, SELECT_LIST_ITEMH, 0xFFFfff); DrawBar(select_list.x,draw_y,LIST_W, SELECT_LIST_ITEMH, 0xFFFfff);
WriteText(select_list.x+12,draw_y+select_list.text_y,select_list.font_type,0, #filename); WriteText(select_list.x+12,draw_y+select_list.text_y,select_list.font_type,0, filename);
} }
} }
@ -250,17 +283,6 @@ void SelectList_LineChanged()
EventApply(); EventApply();
} }
void ActivateTab(int _id)
{
select_list.ClearList();
Open_Dir();
if (!select_list.count) notify(T_NO_FILES);
select_list.cur_y = _id;
if (select_list.cur_y>select_list.visible) select_list.first=select_list.cur_y;
select_list.CheckDoesValuesOkey();
if (LIST_W) DrawWindowContent();
}
dword GetRealKolibriosPath() dword GetRealKolibriosPath()
{ {
char real_kolibrios_path[4096]; char real_kolibrios_path[4096];
@ -269,6 +291,13 @@ dword GetRealKolibriosPath()
return #real_kolibrios_path; return #real_kolibrios_path;
} }
void GetScreensaverIniSettings()
{
ini.section = "screensaver";
screensaver_timeout = ini.GetInt("timeout", 10);
ini.GetString("available", #ss_available, sizeof(ss_available), 0);
}
//===================================================// //===================================================//
// // // //
// EVENTS // // EVENTS //
@ -277,68 +306,69 @@ dword GetRealKolibriosPath()
void EventTabSkinsClick() void EventTabSkinsClick()
{ {
active_wallpaper = select_list.cur_y;
miniprintf(#folder_path, "%s/res/skins", GetRealKolibriosPath()); miniprintf(#folder_path, "%s/res/skins", GetRealKolibriosPath());
ActivateTab(active_skin); Open_Dir();
} }
void EventTabWallpappersClick() void EventTabWallpappersClick()
{ {
active_skin = select_list.cur_y;
if (opendir_path) { if (opendir_path) {
strcpy(#folder_path, #opendir_path); strcpy(#folder_path, #opendir_path);
} else { } else {
miniprintf(#folder_path, "%s/res/wallpapers", GetRealKolibriosPath()); miniprintf(#folder_path, "%s/res/wallpapers", GetRealKolibriosPath());
} }
ActivateTab(active_wallpaper); Open_Dir();
} }
void EventTabScreensaverClick() void EventTabScreensaverClick()
{ {
ini.section = "screensaver"; dword j;
ss_settings.timeout = ini.GetInt("timeout", 10); char ssmas[sizeof(ss_available)];
ini.GetString("title", #ss_settings.program, sizeof(ss_settings.program), 0); list.drop();
ini.GetString("available", #ss_settings.available, sizeof(ss_settings.available), 0); select_list.ClearList();
ActivateTab(active_screensaver);
strcpy(#ssmas, #ss_available);
do {
j = strrchr(#ss_available, '|');
miniprintf(#param, "/sys/%s", #ss_available + j);
list.add(#param);
ESBYTE[#ss_available + j - 1] = '\0';
select_list.count++;
} while (j);
if (LIST_W) draw_window();
} }
void EventDeleteFile() void EventDeleteFile()
{ {
io.del(#cur_file_path); DeleteFile(#cur_file_path);
Open_Dir(); Open_Dir();
EventApply(); EventApply();
} }
void EventSetNewCurrent()
{
miniprintf(#cur_file_path,"%s/",#folder_path);
strcat(#cur_file_path, io.dir.position(files_mas[calc(select_list.cur_y)]));
}
void EventSelectWallpFolder() void EventSelectWallpFolder()
{ {
OpenDialog_start stdcall (#o_dialog); OpenDialog_start stdcall (#o_dialog);
if (o_dialog.status) EventTabWallpappersClick(); if (o_dialog.status) EventTabWallpappersClick();
} }
void EventSetWallpMode_Stretch() void EventSetWallpMode(dword _stretch, _titled, _auto)
{ {
optionbox_tiled.checked = false; optionbox_stretch.checked = _stretch;
optionbox_tiled.checked = _titled;
optionbox_auto.checked = _auto;
optionbox_tiled.redraw(); optionbox_tiled.redraw();
EventApply();
}
void EventSetWallpMode_Tiled()
{
optionbox_stretch.checked = false;
optionbox_stretch.redraw(); optionbox_stretch.redraw();
optionbox_auto.redraw();
EventApply(); EventApply();
} }
void EventApply() void EventApply()
{ {
char kivpath[4096+10]; char kivparam[4096+10];
EventSetNewCurrent(); dword file_name = list.get(select_list.cur_y);
miniprintf(#cur_file_path,"%s/",#folder_path);
strcat(#cur_file_path, list.get(select_list.cur_y));
if (tabs.active_tab==TAB_SKINS) if (tabs.active_tab==TAB_SKINS)
{ {
SetSystemSkin(#cur_file_path); SetSystemSkin(#cur_file_path);
@ -349,9 +379,18 @@ void EventApply()
if (tabs.active_tab==TAB_WALLPAPERS) if (tabs.active_tab==TAB_WALLPAPERS)
{ {
SelectList_Draw(); SelectList_Draw();
if (optionbox_stretch.checked) miniprintf(#kivpath, "\\S__%s", #cur_file_path); miniprintf(#kivparam, "\\S__%s", #cur_file_path);
if (optionbox_tiled.checked) miniprintf(#kivpath, "\\T__%s", #cur_file_path); if (optionbox_tiled.checked) kivparam[1]='T';
RunProgram("/sys/media/kiv", #kivpath); if (optionbox_auto.checked) {
if (ESBYTE[file_name+1] == ' ') && (ESBYTE[file_name] == 'T') {
kivparam[1]='T';
}
}
RunProgram("/sys/media/kiv", #kivparam);
}
if (tabs.active_tab==TAB_SCREENSAVERS)
{
SelectList_Draw();
} }
} }
@ -368,6 +407,7 @@ void EventOpenFile()
{ {
if (tabs.active_tab==TAB_SKINS) RunProgram("/sys/skincfg", #cur_file_path); if (tabs.active_tab==TAB_SKINS) RunProgram("/sys/skincfg", #cur_file_path);
if (tabs.active_tab==TAB_WALLPAPERS) RunProgram("/sys/media/kiv", #cur_file_path); if (tabs.active_tab==TAB_WALLPAPERS) RunProgram("/sys/media/kiv", #cur_file_path);
if (tabs.active_tab==TAB_SCREENSAVERS) RunProgram(list.get(select_list.cur_y), "@ss");
} }
void EventExit() void EventExit()

View File

@ -1,27 +1,31 @@
#ifdef LANG_RUS #ifdef LANG_RUS
char t_skins[] = " ‘â¨«ì ®ª®­";
char t_wallpapers[] = " Ž¡®¨";
char t_screensaver[] = " ‘ªà¨­á¥©¢¥à";
?define WINDOW_HEADER "<EFBFBD> áâனª¨ ®ä®à¬«¥­¨ï" ?define WINDOW_HEADER "<EFBFBD> áâனª¨ ®ä®à¬«¥­¨ï"
?define T_SELECT_FOLDER "‚ë¡à âì ¯ ¯ªã" ?define T_SELECT_FOLDER "‚ë¡à âì ¯ ¯ªã"
?define T_PICTURE_MODE " <20>®«®¦¥­¨¥ ª à⨭ª¨ " ?define T_PICTURE_MODE " <20>®«®¦¥­¨¥ ª à⨭ª¨ "
?define T_CHECKBOX_STRETCH "<EFBFBD> áâï­ãâì" ?define T_CHECKBOX_STRETCH "<EFBFBD> áâï­ãâì"
?define T_CHECKBOX_TILED "‡ ¬®áâ¨âì" ?define T_CHECKBOX_TILED "‡ ¬®áâ¨âì"
?define T_CHECKBOX_AUTO "€¢â®¬ â¨ç¥áª¨"
?define T_UPDATE_DOCK "Ž¡­®¢«ïâì Dock-¯ ­¥«ì" ?define T_UPDATE_DOCK "Ž¡­®¢«ïâì Dock-¯ ­¥«ì"
?define T_NO_FILES "'<27>®¤¤¥à¦¨¢ ¥¬ë¥ ä ©«ë ­¥ ­ ©¤¥­ë' -E" ?define T_NO_FILES "'<27>®¤¤¥à¦¨¢ ¥¬ë¥ ä ©«ë ­¥ ­ ©¤¥­ë' -E"
?define T_UI_PREVIEW " <20>ਬ¥à ª®¬¯®­¥­â®¢ " ?define T_UI_PREVIEW " <20>ਬ¥à ª®¬¯®­¥­â®¢ "
char t_skins[] = " ‘â¨«ì ®ª®­"; ?define T_SCREENSAVER_PREVIEW "<EFBFBD>à®á¬®âà"
char t_wallpapers[] = " Ž¡®¨";
char t_screensaver[] = " ‘ªà¨­á¥©¢¥à";
#else #else
char t_skins[] = " Skins";
char t_wallpapers[] = " Wallpapers";
char t_screensaver[] = " Screensaver";
?define WINDOW_HEADER "Appearance" ?define WINDOW_HEADER "Appearance"
?define T_SELECT_FOLDER "Select folder" ?define T_SELECT_FOLDER "Select folder"
?define T_PICTURE_MODE " Picture Mode " ?define T_PICTURE_MODE " Picture Mode "
?define T_CHECKBOX_STRETCH "Stretch" ?define T_CHECKBOX_STRETCH "Stretch"
?define T_CHECKBOX_TILED "Tiled" ?define T_CHECKBOX_TILED "Tiled"
?define T_CHECKBOX_AUTO "Auto"
?define T_UPDATE_DOCK "Update Dock" ?define T_UPDATE_DOCK "Update Dock"
?define T_NO_FILES "'No supported files were found' -E" ?define T_NO_FILES "'No supported files were found' -E"
?define T_UI_PREVIEW " Components Preview " ?define T_UI_PREVIEW " Components Preview "
char t_skins[] = " Skins"; ?define T_SCREENSAVER_PREVIEW "Preview"
char t_wallpapers[] = " Wallpapers";
char t_screensaver[] = " Screensaver";
#endif #endif
#define WIN_W 600 #define WIN_W 600

View File

@ -31,7 +31,8 @@ struct checkbox
if (!id) id = GetFreeButtonId(); if (!id) id = GetFreeButtonId();
x=_x; y=_y; x=_x; y=_y;
DefineButton(x-1, y-1, strlen(text)*8 + SIZE + 17, SIZE+2, id+BT_HIDE+BT_NOFRAME, 0); DefineHiddenButton(x-1, y-1, strlen(text)*8 + SIZE + 17, SIZE+2, id+BT_NOFRAME);
UnsafeDefineButton(x, y, SIZE, SIZE, id, 0);
DrawRectangle(x, y, SIZE, SIZE, sc.work_graph); DrawRectangle(x, y, SIZE, SIZE, sc.work_graph);
if (disabled) if (disabled)
{ {

View File

@ -118,7 +118,9 @@ draw_ctx_menu:
add ebx, 1 * 65536 add ebx, 1 * 65536
mcall mcall
mcall ,<4,28>,0x80000000,ctx_menu_text mov ecx, [system_colours + 32] ; sc.work_text
or ecx, 0x80000000
mcall ,<4,28>,,ctx_menu_text
mov edx, ctx_menu_text2 mov edx, ctx_menu_text2

View File

@ -2,8 +2,8 @@ struc system_colors
{ {
.unused1 dd 0x006393 .unused1 dd 0x006393
.unused2 dd 0x0077b0 .unused2 dd 0x0077b0
.work_dark dd 0x8D8D8D .work_dark dd 0x070808
.work_light dd 0x8D8D8D .work_light dd 0x484D5A
.title_text dd 0xFFFFFF .title_text dd 0xFFFFFF
.work dd 0x161925 .work dd 0x161925
.work_button dd 0x184053 .work_button dd 0x184053