diff --git a/src/menuentrys.c b/src/menuentrys.c index 5942407..e2052c6 100644 --- a/src/menuentrys.c +++ b/src/menuentrys.c @@ -1,4 +1,4 @@ -/* $Id: menuentrys.c,v 1.1 2003/12/24 02:42:06 stpohle Exp $ +/* $Id: menuentrys.c,v 1.2 2003/12/26 00:54:28 stpohle Exp $ * Menuhandling: entry */ @@ -80,7 +80,7 @@ void menu_create_entry (char *name, int x, int y, int w, void *data, int len, in if (typ == MENU_entrytext) keybinput_new (&menuitems[i].keybi, KEYBI_text, len); else if (typ == MENU_entryint) - keybinput_new (&menuitems[i].keybi, KEYBI_int, 10); + keybinput_new (&menuitems[i].keybi, KEYBI_int, len); else keybinput_new (&menuitems[i].keybi, KEYBI_float, 10); @@ -117,7 +117,11 @@ void menu_draw_entry (_menuitem *mi) { dest.w = menu.entryimages[mi->state][0]->w; dest.h = menu.entryimages[mi->state][0]->h; gfx_blit (menu.entryimages[mi->state][0], NULL, gfx.screen, &dest, 10000); - // draw the center of the button + /* draw the center of the button + * checkt first if there is something wrong */ + if (mi->pos.w < ((strlen (mi->label) * font[MENU_BUTTON_FONTSIZE].size.x) + 8) - (menu.entryimages[mi->state][0]->w + menu.entryimages[mi->state][2]->w)) + d_fatal ("menuentry Error with Element: %s\n", mi->label); + else for (i = 0; i < ((mi->pos.w - ((strlen (mi->label) * font[MENU_BUTTON_FONTSIZE].size.x) + 8) - (menu.entryimages[mi->state][0]->w + menu.entryimages[mi->state][2]->w)) / menu.entryimages[mi->state][1]->w); i++) { dest.x = MENUOFFSET_X + mi->pos.x + (strlen (mi->label) * font[MENU_BUTTON_FONTSIZE].size.x) + 8 + menu.entryimages[mi->state][0]->w + (i * menu.entryimages[mi->state][1]->w); dest.y = MENUOFFSET_Y + mi->pos.y;