#include <all312.h> #include <jgmod.h> #include <jpeg.h> #include "game.h" #include "invasion.h" short tim; char rand_draw_cube[48]; void timer() { tim++; } END_OF_FUNCTION(timer); void main_drawscreen(BITMAP *bmp) { char i; short x,y; tim=0; i=0; while(i<48){ if(tim>=1){ tim=0; x=(rand_draw_cube[i]%8)*80; y=(rand_draw_cube[i]/8)*80; blit(bmp,screen,x,y,x,y,80,80); i++; } } blit(bmp,screen,0,0,0,0,640,480); } void main_delscreen(int color) { char i; short x,y; tim=0; i=0; while(i<48){ if(tim>=1){ tim=0; x=(rand_draw_cube[i]%8)*80; y=(rand_draw_cube[i]/8)*80; rectfill(screen,x,y,x+80,y+80,color); i++; } } } void koniec(char text[60]) { allegro_exit(); printf("%s\n",text); exit(0); } void new_game() { char r=1,level=0; user.lives=5; user.points=0; play_mod(data[mus_game].dat,1); while(r==1){ r=game(level); level++; } stop_mod(); main_delscreen(0); play_mod(data[mus_menu].dat,1); } void init_rand_cube() { char i,a,r1,r2; for(i=0;i<48;i++) rand_draw_cube[i]=i; for(i=0;i<64;i++){ r1=random()%48; r2=random()%48; a=rand_draw_cube[r1]; rand_draw_cube[r1]=rand_draw_cube[r2]; rand_draw_cube[r2]=a; } } int main(void) { char r=1,level=0; allegro_init(); install_timer(); install_keyboard(); set_config_file("invasion.cfg"); init_rand_cube(); icfg.fx=get_config_int(0,"fx",1); icfg.back=get_config_int(0,"background",1); reserve_voices(16,-1); install_sound(-1,0,0); install_mod(14); packfile_password("IdeaZ"); LOCK_FUNCTION(timer); install_int_ex(timer,BPS_TO_TIMER(60)); set_color_depth(16); data=load_datafile("invasion.dat"); if(data==0){ koniec("Error reading INVASION.DAT!"); } background=load_jpeg("invasion.dat#BACKGROUND",0); if(set_gfx_mode(0,640,480,0,0)!=0){ koniec("Error switching to GFX mode 640x480 16bit!"); } set_gfx_mode(0,640,480,0,0); actual=create_bitmap(640,480); bmp1=create_bitmap(640,480); play_mod(data[mus_menu].dat,1); main_drawscreen(load_jpeg("invasion.dat#jpg_ideaz",0)); readkey(); main_delscreen(0); new_game(); koniec("Made by Samuel Kupka"); }