diff --git a/programs/cmm/eolite/include/settings.h b/programs/cmm/eolite/include/settings.h index 1e0072fa49..581db62980 100644 --- a/programs/cmm/eolite/include/settings.h +++ b/programs/cmm/eolite/include/settings.h @@ -207,19 +207,19 @@ void Write_Error(int error_number) void LoadIcons() { //ICONS16.PNG - Libimg_LoadImage(#icons16_default, "/sys/icons16.png"); - Libimg_LoadImage(#icons16_selected, "/sys/icons16.png"); - Libimg_ReplaceColor(icons16_selected.image, icons16_selected.w, icons16_selected.h, 0xffFFFfff, col.selec); - Libimg_ReplaceColor(icons16_selected.image, icons16_selected.w, icons16_selected.h, 0xffCACBD6, MixColors(col.selec, 0, 200)); + icons16_default.load("/sys/icons16.png"); + icons16_selected.load("/sys/icons16.png"); + icons16_selected.replace_color(0xffFFFfff, col.selec); + icons16_selected.replace_color(0xffCACBD6, MixColors(col.selec, 0, 200)); if (col.list_bg!=0xFFFfff) { - Libimg_ReplaceColor(icons16_default.image, icons16_selected.w, icons16_selected.h, 0xffFFFfff, col.list_bg); - Libimg_ReplaceColor(icons16_default.image, icons16_selected.w, icons16_selected.h, 0xffCACBD6, MixColors(col.list_bg, 0, 200)); + icons16_default.replace_color(0xffFFFfff, col.list_bg); + icons16_default.replace_color(0xffCACBD6, MixColors(col.list_bg, 0, 200)); } //ICONS32.PNG - Libimg_LoadImage(#icons32_default, "/sys/icons32.png"); - Libimg_LoadImage(#icons32_selected, "/sys/icons32.png"); - Libimg_ReplaceColor(icons32_default.image, icons32_selected.w, icons32_selected.h, 0x00000000, col.list_bg); - Libimg_ReplaceColor(icons32_selected.image, icons32_selected.w, icons32_selected.h, 0x00000000, col.selec); + icons32_default.load("/sys/icons32.png"); + icons32_selected.load("/sys/icons32.png"); + icons32_default.replace_color(0x00000000, col.list_bg); + icons32_selected.replace_color(0x00000000, col.selec); } void SetAppColors() diff --git a/programs/cmm/iconedit/colors_mas.h b/programs/cmm/iconedit/colors_mas.h index 56cb76b9ad..c9eda2639d 100644 --- a/programs/cmm/iconedit/colors_mas.h +++ b/programs/cmm/iconedit/colors_mas.h @@ -165,7 +165,7 @@ dword _image::get_pixel(int _r, _c) void _image::set_image(dword _inbuf) { dword i; - for (i = 0; i < columns*rows; i++;) + for (i = 0; i < columns*rows-1; i++;) { // mas[i] = ESDWORD[i*4+_inbuf] & 0x00FFFFFF; //for x32 bit color mas[i] = ESDWORD[i*3+_inbuf] & 0xFFFFFF; diff --git a/programs/cmm/iconedit/compile_en.bat b/programs/cmm/iconedit/compile_en.bat index 4e4fdaf0e3..b911fa2662 100644 --- a/programs/cmm/iconedit/compile_en.bat +++ b/programs/cmm/iconedit/compile_en.bat @@ -9,7 +9,7 @@ cls @del lang.h-- if exist iconedit ( - "C:\Program Files (x86)\WinImage\winimage.exe" "C:\Users\Leency\Desktop\kolibri.img" /H /Q /I iconedit + "C:\Program Files (x86)\WinImage\winimage.exe" "D:\Kolibri\Desktop\kolibri.img" /H /Q /I iconedit d: cd "D:\Kolibri\Infrastructure\QEMU" call "z_kos.bat" diff --git a/programs/cmm/iconedit/compile_ru.bat b/programs/cmm/iconedit/compile_ru.bat index 6bff63b2d0..48ca7eb67f 100644 --- a/programs/cmm/iconedit/compile_ru.bat +++ b/programs/cmm/iconedit/compile_ru.bat @@ -9,7 +9,7 @@ cls @del lang.h-- if exist iconedit ( - "C:\Program Files (x86)\WinImage\winimage.exe" "C:\Users\Leency\Desktop\kolibri.img" /H /Q /I iconedit + "C:\Program Files (x86)\WinImage\winimage.exe" "D:\Kolibri\Desktop\kolibri.img" /H /Q /I iconedit d: cd "D:\Kolibri\Infrastructure\QEMU" call "z_kos.bat" diff --git a/programs/cmm/iconedit/iconedit.c b/programs/cmm/iconedit/iconedit.c index 70e3481824..6534010c2e 100644 --- a/programs/cmm/iconedit/iconedit.c +++ b/programs/cmm/iconedit/iconedit.c @@ -32,12 +32,16 @@ //===================================================// #ifdef LANG_RUS +char edit_menu_items[] = +"Вырезать|Ctrl+X +Копировать|Ctrl+C +Вставить|Ctrl+V"; char image_menu_items[] = "Количество использованных цветов Заменить все цвета 1 на 2"; ?define T_MENU_IMAGE "Иконка" ?define T_TEST_ICON "Проверить иконку" -?define T_TITLE "Редактор иконок 0.60 Alpha" +?define T_TITLE "Редактор иконок 0.70 Beta" ?define T_UNIC_COLORS_COUNT "'Уникальных цветов: %i.' -I" ?define T_TOO_BIG_IMAGE_FOR_PREVIEW "'IconEdit Изображение слишком большое для предпросмотра!' -tE" @@ -45,12 +49,16 @@ char image_menu_items[] = ?define T_ERROR_IMA_ICONEDIT "'Это просто редактор иконок, выбраное изображение слишком велико для него!' -E" #else +char edit_menu_items[] = +"Cut|Ctrl+X +Copy|Ctrl+C +Paste|Ctrl+V"; char image_menu_items[] = "Count colors used Replace all colors equal to 1 by 2"; ?define T_MENU_IMAGE "Icon" ?define T_TEST_ICON "Test Icon" -?define T_TITLE "Icon Editor 0.60 Alpha" +?define T_TITLE "Icon Editor 0.70 Beta" ?define T_UNIC_COLORS_COUNT "'Image has %i unique colors.' -I" ?define T_TOO_BIG_IMAGE_FOR_PREVIEW "'IconEdit Image is too big for preview!' -tE" @@ -160,28 +168,26 @@ void main() { word btn; libimg_image open_image; - dword bg_col; load_dll(libio, #libio_init, 1); load_dll(libimg, #libimg_init, 1); load_dll(boxlib, #box_lib_init,0); - Libimg_LoadImage(#top_icons, "/sys/icons16.png"); - Libimg_LoadImage(#left_icons, "/sys/icons16.png"); + top_icons.load("/sys/icons16.png"); + left_icons.load("/sys/icons16.png"); sc.get(); - bg_col = sc.work; bg_dark = skin_is_dark(); semi_white = MixColors(sc.work, 0xFFFfff, bg_dark*90 + 96); - Libimg_ReplaceColor(top_icons.image, top_icons.w, top_icons.h, 0xffFFFfff, semi_white); - Libimg_ReplaceColor(top_icons.image, top_icons.w, top_icons.h, 0xffCACBD6, MixColors(semi_white, 0, 220)); + top_icons.replace_color(0xffFFFfff, semi_white); + top_icons.replace_color(0xffCACBD6, MixColors(semi_white, 0, 220)); - Libimg_ReplaceColor(left_icons.image, left_icons.w, left_icons.h, 0xffFFFfff, sc.work); - Libimg_ReplaceColor(left_icons.image, left_icons.w, left_icons.h, 0xffCACBD6, MixColors(sc.work, 0, 200)); + left_icons.replace_color(0xffFFFfff, sc.work); + left_icons.replace_color(0xffCACBD6, MixColors(sc.work, 0, 200)); //fix line and rectandle color for dark skins - if (bg_dark) Libimg_ReplaceColor(left_icons.image, left_icons.w, left_icons.h, 0xff545454, 0xffD3D3D4); + if (bg_dark) left_icons.replace_color(0xff545454, 0xffD3D3D4); EventSetActiveColor(1, color1); @@ -190,7 +196,7 @@ void main() } else { - Libimg_LoadImage(#open_image, #param); + open_image.load_as24b(#param); if (open_image.w*open_image.h>MAX_CELL_SIZE*MAX_CELL_SIZE) { notify(T_ERROR_IMA_ICONEDIT); @@ -369,14 +375,13 @@ void DrawWindow() DrawBar(0, 0, Form.cwidth, TOPBAR_H-1, sc.work); DrawBar(0, TOPBAR_H-1, Form.cwidth, 1, sc.work_graph); - tx.n = 5-GAPH; - DrawTopPanelButton(#EventCreateNewIcon, ECTRL + SCAN_CODE_KEY_N, tx.inc(GAPH), 2); + DrawTopPanelButton(#EventCreateNewIcon, ECTRL + SCAN_CODE_KEY_N, tx.set(5), 2); DrawTopPanelButton(#EventOpenIcon, ECTRL + SCAN_CODE_KEY_O, tx.inc(GAPH), 0); DrawTopPanelButton(#EventSaveIconToFile, ECTRL + SCAN_CODE_KEY_S, tx.inc(GAPH), 5); - DrawTopPanelButton(#EventMoveLeft, ECTRL + SCAN_CODE_LEFT, tx.inc(GAPH+BLOCK_SPACE), 30); + DrawTopPanelButton(#EventMoveLeft, ECTRL + SCAN_CODE_LEFT, tx.inc(GAPH+BLOCK_SPACE), 30); DrawTopPanelButton(#EventMoveRight, ECTRL + SCAN_CODE_RIGHT, tx.inc(GAPH), 31); - DrawTopPanelButton(#EventMoveUp, ECTRL + SCAN_CODE_UP, tx.inc(GAPH), 32); - DrawTopPanelButton(#EventMoveDown, ECTRL + SCAN_CODE_DOWN, tx.inc(GAPH), 33); + DrawTopPanelButton(#EventMoveUp, ECTRL + SCAN_CODE_UP, tx.inc(GAPH), 32); + DrawTopPanelButton(#EventMoveDown, ECTRL + SCAN_CODE_DOWN, tx.inc(GAPH), 33); DrawTopPanelButton(#EventFlipHor, 0, tx.inc(GAPH+BLOCK_SPACE), 34); DrawTopPanelButton(#EventFlipVer, 0, tx.inc(GAPH), 35); DrawTopPanelButton(#EventRotateLeft, ECTRL + SCAN_CODE_KEY_L, tx.inc(GAPH), 37); @@ -384,7 +389,7 @@ void DrawWindow() DrawTopPanelButton(#EventTestIcon, ECTRL + SCAN_CODE_KEY_T, tx.inc(GAPH+BLOCK_SPACE), 12); DrawTopPanelButton(#EventCrop, 0, tx.inc(GAPH+BLOCK_SPACE), 46); - image_menu_btn.x = tx.n; + image_menu_btn.x = tx.inc(GAPH+BLOCK_SPACE); image_menu_btn.w = DrawFlatPanelButton(button.add(#EventShowImageMenu), image_menu_btn.x, image_menu_btn.y, T_MENU_IMAGE); //tx.inc(image_menu_btn.w + BLOCK_SPACE); @@ -742,6 +747,12 @@ void EventShowImageMenu() image_menu_btn.y + image_menu_btn.h, MENU_ALIGN_TOP_LEFT, NULL, #image_menu_items); } +void EventShowEditMenu() +{ + open_lmenu(Form.left+5 + image_menu_btn.x, Form.top+skin_height + + image_menu_btn.y + image_menu_btn.h, MENU_ALIGN_TOP_LEFT, NULL, #edit_menu_items); +} + void EventCheckMenuItemSelected() { switch(get_menu_click()) { @@ -794,14 +805,14 @@ void EventFlipVer() { EventMove(FLIP_VER); } void EventRotateLeft() { EventMove(ROTATE_LEFT); } void EventRotateRight() { EventMove(ROTATE_RIGHT); } -void EventSelectToolPencil() { setCurrentTool(TOOL_PENCIL); DrawLeftPanelSelection(); } -void EventSelectToolPick() { setCurrentTool(TOOL_PIPETTE); DrawLeftPanelSelection(); } -void EventSelectToolFill() { setCurrentTool(TOOL_FILL); DrawLeftPanelSelection(); } -void EventSelectToolLine() { setCurrentTool(TOOL_LINE); DrawLeftPanelSelection(); } -void EventSelectToolRect() { setCurrentTool(TOOL_RECT); DrawLeftPanelSelection(); } -void EventSelectToolBar() { setCurrentTool(TOOL_BAR); DrawLeftPanelSelection(); } -void EventSelectToolSelect() { setCurrentTool(TOOL_SELECT); DrawLeftPanelSelection(); } -void EventSelectToolScrCopy() { setCurrentTool(TOOL_SCREEN_COPY); DrawLeftPanelSelection(); } +void EventSelectToolPencil() { setCurrentTool(TOOL_PENCIL); } +void EventSelectToolPick() { setCurrentTool(TOOL_PIPETTE); } +void EventSelectToolFill() { setCurrentTool(TOOL_FILL); } +void EventSelectToolLine() { setCurrentTool(TOOL_LINE); } +void EventSelectToolRect() { setCurrentTool(TOOL_RECT); } +void EventSelectToolBar() { setCurrentTool(TOOL_BAR); } +void EventSelectToolSelect() { setCurrentTool(TOOL_SELECT); } +void EventSelectToolScrCopy() { setCurrentTool(TOOL_SCREEN_COPY); } char test_icon_stak22[4096]; diff --git a/programs/cmm/iconedit/tools.h b/programs/cmm/iconedit/tools.h index 5e5ef9860f..09779d8f26 100644 --- a/programs/cmm/iconedit/tools.h +++ b/programs/cmm/iconedit/tools.h @@ -2,7 +2,7 @@ #define TOCANVAS 2 -struct Tool { +struct TOOL { int id; dword cursor; void (*activate)(); @@ -10,11 +10,10 @@ struct Tool { void (*onMouseEvent)(int x, int y, int lkm, int pkm); void (*onKeyEvent)(dword keycode); void (*onCanvasDraw)(); -}; +} tools[8]; int previousTool = -1; int currentTool = -1; -Tool tools[8]; enum { TOOL_NONE = -1, @@ -108,6 +107,7 @@ void setCurrentTool(int index) { Cursor.Restore(); if (wrapper.hovered()) SetCursor(); DrawCanvas(); + DrawLeftPanelSelection(); } void SetCursor() diff --git a/programs/cmm/lib/obj/libimg.h b/programs/cmm/lib/obj/libimg.h index b1e3377fa0..dc78c29885 100644 --- a/programs/cmm/lib/obj/libimg.h +++ b/programs/cmm/lib/obj/libimg.h @@ -30,6 +30,7 @@ dword img_destroy = #aimg_destroy; dword img_draw = #aimg_draw; dword img_create = #aimg_create; dword img_encode = #aimg_encode; +dword img_convert = #aimg_convert; //dword img_flip = #aimg_flip; //dword img_rotate = #aimg_rotate; @@ -42,11 +43,14 @@ char aimg_to_rgb2[] = "img_to_rgb2"; char aimg_decode[] = "img_decode"; char aimg_destroy[] = "img_destroy"; char aimg_draw[] = "img_draw"; -char aimg_create[] = "img_create"; -char aimg_encode[] = "img_encode"; +char aimg_create[] = "img_create"; +char aimg_encode[] = "img_encode"; +char aimg_convert[] = "img_convert"; //char aimg_flip[] = "img_flip"; //char aimg_rotate[] = "img_rotate "; +//invoke img.scale, ebx, 0, 0, [ebx + Image.Width], [ebx + Image.Height], 0, LIBIMG_SCALE_TYPE_STRETCH, LIBIMG_SCALE_ALG_BILINEAR, edx, ecx + #define LIBIMG_FORMAT_BMP 1 #define LIBIMG_FORMAT_ICO 2 #define LIBIMG_FORMAT_CUR 3 @@ -236,6 +240,13 @@ struct _Image } } +:dword convert_image(dword _image_pointer, _w, _h, _path) +{ + img_convert stdcall(_image_pointer, 0, Image_bpp32, 0, 0); + if (EAX!=0) + mov [image_converted], eax +} + #ifndef INCLUDE_LIBIMG_LOAD_SKIN_H #include "../lib/patterns/libimg_load_skin.h" #endif diff --git a/programs/cmm/lib/patterns/libimg_load_skin.h b/programs/cmm/lib/patterns/libimg_load_skin.h index 4ecc8814ac..4f3f97c466 100644 --- a/programs/cmm/lib/patterns/libimg_load_skin.h +++ b/programs/cmm/lib/patterns/libimg_load_skin.h @@ -7,38 +7,60 @@ :struct libimg_image { dword image, w, h, imgsrc; + void load_as24b(); + void load(); + void replace_color(); + void fill_transparent(); } skin; -:void Libimg_LoadImage(dword struct_pointer, file_path) +:void libimg_image::load_as24b(dword file_path) { - dword image_pointer; - image_pointer = load_image(file_path); + dword image_pointer = load_image(file_path); if (!image_pointer) notify("'Error: Image not loaded' -E"); - ESDWORD[struct_pointer] = image_pointer; - ESDWORD[struct_pointer+4] = DSWORD[image_pointer+4]; - ESDWORD[struct_pointer+8] = DSWORD[image_pointer+8]; - ESDWORD[struct_pointer+12] = ESDWORD[image_pointer+24]; + + img_convert stdcall(image_pointer, 0, Image_bpp24, 0, 0); + if (!EAX) { + notify("'Error: Image can not be converted to 24b' -E"); + } else { + image = image_pointer = EAX; + w = DSWORD[image_pointer+4]; + h = DSWORD[image_pointer+8]; + imgsrc = ESDWORD[image_pointer+24]; + } } -:void Libimg_ReplaceColor(dword struct_pointer, w, h, old_color, new_color) +:void libimg_image::load(dword file_path) { - dword i, max_i, image_data; - image_data = ESDWORD[struct_pointer + 24]; - max_i = w * h * 4 + image_data; - for (i = image_data; i < max_i; i += 4) if (DSDWORD[i]==old_color) DSDWORD[i] = new_color; + dword image_pointer = load_image(file_path); + if (!EAX) { + notify("'Error: Image not loaded' -E"); + } else { + image = image_pointer = EAX; + w = DSWORD[image_pointer+4]; + h = DSWORD[image_pointer+8]; + imgsrc = ESDWORD[image_pointer+24]; + } + } -:void Libimg_FillTransparent(dword struct_pointer, w, h, new_color) +:void libimg_image::replace_color(dword old_color, new_color) { - if (new_color!=0) Libimg_ReplaceColor(struct_pointer, w, h, 0, new_color); + dword i, max_i; + max_i = w * h * 4 + imgsrc; + for (i = imgsrc; i < max_i; i += 4) if (DSDWORD[i]==old_color) DSDWORD[i] = new_color; +} + +:void libimg_image::fill_transparent(new_color) +{ + if (new_color) replace_color(0, new_color); } :libimg_image icons32draw; :void DrawIcon32(dword x,y, bg, icon_n) { //load_dll(libimg, #libimg_init,1); if (!icons32draw.image) { - Libimg_LoadImage(#icons32draw, "/sys/icons32.png"); - Libimg_FillTransparent(icons32draw.image, icons32draw.w, icons32draw.h, bg); + icons32draw.load("/sys/icons32.png"); + icons32draw.fill_transparent(bg); } if (icon_n>=0) img_draw stdcall(icons32draw.image, x, y, 32, 32, 0, icon_n*32); } @@ -47,9 +69,9 @@ :void DrawIcon16(dword x,y, bg, icon_n) { //load_dll(libimg, #libimg_init,1); if (!icons16draw.image) { - Libimg_LoadImage(#icons16draw, "/sys/icons16.png"); - Libimg_ReplaceColor(icons16draw.image, icons16draw.w, icons16draw.h, 0xffFFFfff, bg); - Libimg_ReplaceColor(icons16draw.image, icons16draw.w, icons16draw.h, 0xffCACBD6, MixColors(bg, 0, 220)); + icons16draw.load("/sys/icons16.png"); + icons16draw.replace_color(0xffFFFfff, bg); + icons16draw.replace_color(0xffCACBD6, MixColors(bg, 0, 220)); } if (icon_n>=0) img_draw stdcall(icons16draw.image, x, y, 16, 16, 0, icon_n*16); } diff --git a/programs/cmm/lib/patterns/toolbar_button.h b/programs/cmm/lib/patterns/toolbar_button.h index 53c7b9c1e3..f17a7ed6fe 100644 --- a/programs/cmm/lib/patterns/toolbar_button.h +++ b/programs/cmm/lib/patterns/toolbar_button.h @@ -6,14 +6,14 @@ unsigned int DrawTopPanelButton(dword _button_id, _x, _y, signed int _icon_n, bo static dword semi_white=0, bg_col_light, bg_col_dark; int i; if (!semi_white) { - Libimg_LoadImage(#top_icons, "/sys/icons16.png"); + top_icons.load("/sys/icons16.png"); semi_white = MixColors(sc.work, 0xFFFfff, skin_is_dark()*90 + 96); bg_col_dark = MixColors(sc.work, sc.work_graph, 90); bg_col_light = MixColors(semi_white, 0xFFFfff, skin_is_dark()*90 + 10); - Libimg_ReplaceColor(top_icons.image, top_icons.w, top_icons.h, 0xffFFFfff, semi_white); - Libimg_ReplaceColor(top_icons.image, top_icons.w, top_icons.h, 0xffCACBD6, MixColors(semi_white, 0, 220)); + top_icons.replace_color(0xffFFFfff, semi_white); + top_icons.replace_color(0xffCACBD6, MixColors(semi_white, 0, 220)); } DrawWideRectangle(_x+1, _y+1, TSZE, TSZE, 5, semi_white); diff --git a/programs/cmm/misc/mblocks.c b/programs/cmm/misc/mblocks.c index 78e001674c..e853714c9b 100644 --- a/programs/cmm/misc/mblocks.c +++ b/programs/cmm/misc/mblocks.c @@ -44,8 +44,8 @@ void main() load_dll(libio, #libio_init,1); load_dll(libimg, #libimg_init,1); - Libimg_LoadImage(#skin, "/sys/icons32.png"); - Libimg_FillTransparent(skin.image, skin.w, skin.h, COLOR_CELL_BG); + skin.load("/sys/icons32.png"); + skin.fill_transparent(COLOR_CELL_BG); NewGame(); diff --git a/programs/cmm/misc/software_widget.c b/programs/cmm/misc/software_widget.c index b3706b7c5e..b84121b75a 100644 --- a/programs/cmm/misc/software_widget.c +++ b/programs/cmm/misc/software_widget.c @@ -151,8 +151,8 @@ void SetAppColors() void LoadImages() { - Libimg_LoadImage(#skin, "/sys/icons32.png"); - Libimg_FillTransparent(skin.image, skin.w, skin.h, swc.list_bg); + skin.load("/sys/icons32.png"); + skin.fill_transparent(swc.list_bg); } diff --git a/programs/cmm/pixie2/settings.h b/programs/cmm/pixie2/settings.h index 315533af73..ea52322275 100644 --- a/programs/cmm/pixie2/settings.h +++ b/programs/cmm/pixie2/settings.h @@ -27,7 +27,7 @@ void LoadIniConfig() win_y_small = ini.GetInt("win_y_small", -1); ini.GetString("last_folder", #work_folder, sizeof(work_folder), NULL); - Libimg_LoadImage(#skin, abspath("pixieskn.png")); + skin.load(abspath("pixieskn.png")); skin.w = 322; theme.color_top_panel_bg = 0x242424; theme.color_top_panel_folder_name = 0xEEEeee; diff --git a/programs/cmm/taskbar2/taskbar2.c b/programs/cmm/taskbar2/taskbar2.c index 7796f0c643..70b26111e7 100644 --- a/programs/cmm/taskbar2/taskbar2.c +++ b/programs/cmm/taskbar2/taskbar2.c @@ -64,8 +64,8 @@ void main() load_dll(libimg, #libimg_init,1); load_dll(libini, #lib_init,1); - Libimg_LoadImage(#skin, "/sys/icons32.png"); - Libimg_FillTransparent(skin.image, skin.w, skin.h, COLOR_BG); + skin.load("/sys/icons32.png"); + skin.fill_transparent(COLOR_BG); ini_get_int stdcall ("/sys/appicons.ini", "taskbar", "attachement", ATTACHEMENT_BOTTOM); attachement = EAX; diff --git a/programs/cmm/the_bus/the_bus.c b/programs/cmm/the_bus/the_bus.c index 81c068be12..e2d8b06044 100644 --- a/programs/cmm/the_bus/the_bus.c +++ b/programs/cmm/the_bus/the_bus.c @@ -126,9 +126,9 @@ void main() load_dll(libio, #libio_init,1); load_dll(libimg, #libimg_init,1); - Libimg_LoadImage(#menu, abspath("menu.png")); - Libimg_LoadImage(#road, abspath("road.png")); - Libimg_LoadImage(#objects, abspath("objects.png")); + menu.load(abspath("menu.png")); + road.load(abspath("road.png")); + objects.load(abspath("objects.png")); loop() {