File: mainmenu.c | Size: 1,891 bytes | Download file | Back to directory listing | BWPOW's homepage
#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;
}