okay here is an english version: menu.zip
it should work but i haven't tried it yet

example for a main.c:
Code:
#include <acknex.h>
#include "menu.c"

function main()
{
	wait(1);

	int mainmenuitems_lenght = 5; //number of elements
	MENUITEM* mainmenuitems = malloc(sizeof(MENUITEM) * mainmenuitems_lenght); //create pointer
	mainmenuitems[0].bmap = bmap_create("continue.tga"); //image of the element
	mainmenuitems[0].text = "Continue Playing"; //text of the element
	mainmenuitems[1].bmap = bmap_create("save.tga"); //image of the element
	mainmenuitems[1].text = "Store Game"; //text of the element
	mainmenuitems[2].bmap = bmap_create("laden.tga"); //image of the element
	mainmenuitems[2].text = "Load Game"; //text of the element
	mainmenuitems[3].bmap = bmap_create("new.tga"); //image of the element
	mainmenuitems[3].text = "New Game"; //text of the element
	mainmenuitems[4].bmap = bmap_create("quit.tga"); //image of the element
	mainmenuitems[4].text = "Quit"; //text of the element

	int savemenuitems_lenght = 4; //number of elements
	MENUITEM* savemenuitems = malloc(sizeof(MENUITEM) * savemenuitems_lenght); //create pointer
	savemenuitems[0].bmap = bmap_create("1.tga"); //image of the element
	savemenuitems[0].text = "Score 1"; //text of the element
	savemenuitems[1].bmap = bmap_create("2.tga"); //image of the element
	savemenuitems[1].text = "Score 2"; //text of the element
	savemenuitems[2].bmap = bmap_create("3.tga"); //image of the element
	savemenuitems[2].text = "Score 3"; //text of the element
	savemenuitems[3].bmap = bmap_create("back.tga"); //image of the element
	savemenuitems[3].text = "Back"; //text of the element

	int loadmenuitems_lenght = 4; //number of elements
	MENUITEM* loadmenuitems = malloc(sizeof(MENUITEM) * loadmenuitems_lenght); //create pointer
	loadmenuitems[0].bmap = bmap_create("1.tga"); //image of the element
	loadmenuitems[0].text = "Score 1"; //text of the element
	loadmenuitems[1].bmap = bmap_create("2.tga"); //image of the element
	loadmenuitems[1].text = "Score 2"; //text of the element
	loadmenuitems[2].bmap = bmap_create("3.tga"); //image of the element
	loadmenuitems[2].text = "Score 3"; //text of the element
	loadmenuitems[3].bmap = bmap_create("back.tga"); //image of the element
	loadmenuitems[3].text = "Back"; //text of the element



	MENUPAGE* mainmenupages = malloc(sizeof(MENUPAGE) * 3); //create pointer
	mainmenupages[0].menuitems = mainmenuitems; //items for this page
	mainmenupages[0].backgound = bmap_create("background.tga"); //background for this page
	mainmenupages[0].menuitems_lenght = mainmenuitems_lenght; //number of elements
	mainmenupages[1].menuitems = savemenuitems; //items for this page
	mainmenupages[1].backgound = bmap_create("background2.tga"); //background for this page
	mainmenupages[1].menuitems_lenght = savemenuitems_lenght; //number of elements
	mainmenupages[2].menuitems = loadmenuitems; //items for this page
	mainmenupages[2].backgound = bmap_create("background2.tga"); //background for this page
	mainmenupages[2].menuitems_lenght = loadmenuitems_lenght; //number of elements



	MENU* mainmenu = malloc(sizeof(MENU));  //create pointer
	mainmenu.selection_mask = bmap_create("auswahl.tga"); //picture as selection mask
	mainmenu.s1 = 0.3; //speed to switch between elements
	mainmenu.s2 = 10; //speed for show/hide
	mainmenu.dist = 400; //size of the circle
	mainmenu.normalsize[0] = 1680; //resolution of the menu x
	mainmenu.normalsize[1] = 1050; //resolution of the menu y
	mainmenu.menupages = mainmenupages; //pages of the menu
	mainmenu.page = 0; //selected page
	mainmenu.font = "Comic Sans MS"; //font
	mainmenu.font_mode = 0; //font mode 0=normal, 1=bold, 2=italic, 3=bold+italic
	mainmenu.font_size = 26; //font size
	
	
	show_menu(mainmenu); //show menu
}

example for a menufunctions.c:
Code:
function menufunktionen(MENU* menu, int selektion)
{
	switch(menu.seite) //select the page (case 0 = page1, case 1 = page2...)
	{
		case 0:
			switch(selektion) //functions for the elements of a page1 (case 0 = element1...)
			{
				case 0: resume();
				break;
				case 1: menu.page = 1;
				break;
				case 2: menu.page = 2;
				break;
				case 3: new_game();
				break;
				case 4: sys_exit("");
				break;
			}
			break;
		case 1:
			switch(selektion) //functions for the elements of a page2 (case 0 = element1...)
			{
				case 0: game_save("save", 0, SV_ALL);
				break;
				case 1: game_save("save", 1, SV_ALL);
				break;
				case 2: game_save("save", 2, SV_ALL);
				break;
				case 3: menu.page = 0;
				break;
			}
			break;
		case 2:
			switch(selektion) //functions for the elements of a page3 (case 0 = element1...)
			{
				case 0: game_load("save", 0);
				break;
				case 1: game_load("save", 1);
				break;
				case 2: game_load("save", 2);
				break;
				case 3: menu.page = 0;
				break;
			}
			break;
	}
}


I haven't translated everything in menu.c