#include <allegro.h> #include "things.h" #include "main.h" void timing() { info.tim++; } END_OF_FUNCTION(timing); void init_engine() { LOCK_FUNCTION(timing); install_int_ex(timing,BPS_TO_TIMER(15)); } void init_datafiles() { int i,c; char tbuf[20]; for(i=0;i<5;i++){ sprintf(tbuf,"face%0004d.tga",i); tdata=load_datafile_object("xmas.dat",tbuf); if(tdata!=0){ faces[i]=create_bitmap(((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); blit(tdata[0].dat,faces[i],0,0,0,0,((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); unload_datafile_object(tdata); } } for(i=0;i<20;i++){ sprintf(tbuf,"invt%0004d.tga",i); tdata=load_datafile_object("xmas.dat",tbuf); if(tdata!=0){ invent[i]=create_bitmap(((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); blit(tdata[0].dat,invent[i],0,0,0,0,((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); unload_datafile_object(tdata); } } for(i=0;i<20;i++){ sprintf(tbuf,"objs%0004d.tga",i); tdata=load_datafile_object("xmas.dat",tbuf); if(tdata!=0){ objs[i]=create_bitmap(((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); blit(tdata[0].dat,objs[i],0,0,0,0,((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); unload_datafile_object(tdata); } } for(c=0;c<5;c++){ sprintf(tbuf,"duke%0004d.tga",c); tdata=load_datafile_object("xmas.dat",tbuf); duk[c*9]=create_bitmap(((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); blit(tdata[0].dat,duk[c*9],0,0,0,0,((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); unload_datafile_object(tdata); for(i=0;i<8;i++){ sprintf(tbuf,"p_%003d_%02d.tga",c*45,i); tdata=load_datafile_object("xmas.dat",tbuf); if(tdata!=0){ duk[c*9+i+1]=create_bitmap(((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); blit(tdata[0].dat,duk[c*9+i+1],0,0,0,0,((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); unload_datafile_object(tdata); } } } for(i=0;i<10;i++){ sprintf(tbuf,"util%0004d",i); tdata=load_datafile_object("xmas.dat",tbuf); if(tdata!=0){ utils[i]=create_bitmap(((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); blit(tdata[0].dat,utils[i],0,0,0,0,((BITMAP *)tdata[0].dat)->w, ((BITMAP *)tdata[0].dat)->h); unload_datafile_object(tdata); } } } void init_default() { info.rooms=2; info.room=0; info.nroom=-1; info.x=0; info.y=30; info.music=-1; info.mtype=0; // Rooms: (x=32,y=40) room[0].demo=1; room[0].music=3; room[1].music=3; room[2].music=3; room[3].music=10; room[4].music=10; room[5].music=3; room[6].music=3; room[7].music=3; room[8].music=3; room[0].obj[0]=5; room[1].obj[0]=6; room[3].obj[0]=1; room[3].obj[1]=2; room[3].x[0][0]=31; room[3].y[0][0]=11; room[3].x[0][1]=32; room[3].y[0][1]=39; room[3].to[0]=4; room[3].wx[0]=2; room[3].wy[0]=20; room[4].demo=2; room[4].obj[0]=3; room[4].obj[1]=7; room[4].obj[2]=10; room[4].x[0][0]=0; room[4].y[0][0]=12; room[4].x[0][1]=1; room[4].y[0][1]=39; room[4].to[0]=3; room[4].wx[0]=31; room[4].wy[0]=20; text_mode(-1); // Objs: obj[0].x=17; obj[0].y=20; strcpy(obj[0].name,"LAMPA"); strcpy(obj[0].pad2,"K LAMPE"); strcpy(obj[0].pad4,"LAMPU"); strcpy(obj[0].pad6,"S LAMPOU"); obj[1].x=11; obj[1].y=11; obj[1].get=1; strcpy(obj[1].name,"KAMEN"); strcpy(obj[1].pad2,"KU KAMENU"); strcpy(obj[1].pad4,"KAMEN"); strcpy(obj[1].pad6,"S KAMENOM"); obj[2].x=14; obj[2].y=12; strcpy(obj[2].name,"TAJNY AGENT"); strcpy(obj[2].pad2,"K TAJNEMU AGENTOVY"); strcpy(obj[2].pad4,"TAJNEHO AGENTA"); strcpy(obj[2].pad6,"S TAJNYM AGENTOM"); strcpy(obj[3].name,"ID KARTA"); strcpy(obj[3].pad2,"K ID KARTE"); strcpy(obj[3].pad4,"ID KARTU"); strcpy(obj[3].pad6,"S ID KARTOU"); obj[4].x=18; obj[4].y=26; obj[5].x=11; obj[5].y=30; obj[6].x=22; obj[6].y=17; strcpy(obj[6].name,"VYKLAD"); strcpy(obj[6].pad2,"K VYKLADU"); strcpy(obj[6].pad4,"VYKLAD"); strcpy(obj[6].pad6,"S VYKLADOM"); obj[7].x=22; obj[7].y=17; strcpy(obj[7].name,"ROZBITY VYKLAD"); strcpy(obj[7].pad2,"K ROZBITEMU VYKLADU"); strcpy(obj[7].pad4,"ROZBITY VYKLAD"); strcpy(obj[7].pad6,"S ROZBITYM VYKLADOM"); obj[8].x=22; obj[8].y=17; strcpy(obj[8].name,"CREPINY"); strcpy(obj[8].pad2,"K CREPINAM"); strcpy(obj[8].pad4,"CREPINY"); strcpy(obj[8].pad6,"S CREPINAMI"); obj[9].x=27; obj[9].y=30; strcpy(obj[9].name,"VCHODOVE DVERE"); strcpy(obj[9].pad2,"K VCHODOVYM DVERAM"); strcpy(obj[9].pad4,"VCHODOVE DVERE"); strcpy(obj[9].pad6,"S VCHODOVIMI DVERAMI"); }