#include <string.h> #include <stdio.h> #include <allegro.h> #include "headers.h" #include "main.h" #include "fonty.h" extern MINFO minfo; void init_mainmenu(void) { mm_bmp=create_bitmap(640,480); } void mainmenu_vytvor_pozadie(void) { int x1,x2,w; if(minfo.in_game){ } else{ if(minfo.menu_obrazok==0){ main_loaduj_jpeg("menuback.jpg"); minfo.menu_obrazok=1; } blit(jbmp,mm_bmp,0,0,0,0,640,480); } x1=text_length(fonty[ALIEN_28_PCX].dat,"MATALYZA"); x2=text_length(fonty[ALIEN_28_PCX].dat,"MATALYZA"); w=635-x1-x2; w/=2; stextout(mm_bmp,fonty[ALIEN_28_PCX].dat,"MATALYZA",w,40,minfo.blue,0); stextout(mm_bmp,fonty[ALIEN_28_PCX].dat,"MASTERS",w+x1+5,40,minfo.red,0); } static char *menu_napisy[]={ "NOVA HRA", "NACITAJ", "ULOZ", "STATISTIKY", "INFOSKY", "KONIEC", NULL }; int mainmenu(void) { int c,x,y,mx=-1,my,i,sel=-1,k=0,a; mainmenu_vytvor_pozadie(); smallbox_rtrans(mm_bmp,170,130,300,300,""); for(i=0;menu_napisy[i];i++){ stextout_centre(mm_bmp,fonty[ALIEN_28_PCX].dat,menu_napisy[i],320,160+i*40,minfo.white,0); } c=1; blit(mm_bmp,screen,0,0,0,0,640,480); if(minfo.now_skladba==-1) main_set_track(1); minfo.whitebox=makecol(0,128,255); while(1){ if(c==1){ blit(mm_bmp,actual,170,130,0,0,300,300); if(sel>=0){ whitebox(actual,5,22+sel*40,290,40); stextout_centre(actual,fonty[ALIEN_28_PCX].dat,menu_napisy[sel],150,30+sel*40,minfo.whitebox,minfo.blue); } show_mouse(0); blit(actual,screen,0,0,170,130,300,300); show_mouse(screen); c=0; } main_loop_music(); x=mouse_x;y=mouse_y; if(x!=mx||y!=my){ mx=x;my=y; if(mx>=175&&mx<=465&&my>=152&&my<392){ a=(my-152)/40; if(a!=sel){ sel=a;c=1; } } else{ if(sel>=0){ sel=-1;c=1; } } } if((mouse_b&1)&&(sel>=0)) k=1; if(key[KEY_ESC]){k=1;sel=5;} if(k==1) break; } show_mouse(0); return sel; }