File: INIT.C | Size: 5,145 bytes | Download file | Back to directory listing | BWPOW's homepage
#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");
 
}