home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
games
/
volume11
/
blockbuster
/
part01
/
bricks.c
< prev
next >
Wrap
C/C++ Source or Header
|
1990-08-10
|
7KB
|
378 lines
/*
* File: bricks.c
* Author: Eric Van Gestel
*
* For: blockbuster
*/
#include "blockbuster.h"
/*** normal images (rectangular) ***/
short clear_image[] = {
#include "icons/clear.pr"
};
mpr_static( clear_pr, 64, 16, 1, clear_image );
short solid_image[] = {
#include "icons/solid.pr"
};
mpr_static( solid_pr, 64, 16, 1, solid_image );
short launchNE_image[] = {
#include "icons/launchNE.pr"
};
mpr_static( launchNE_pr, 64, 16, 1, launchNE_image );
short launchNW_image[] = {
#include "icons/launchNW.pr"
};
mpr_static( launchNW_pr, 64, 16, 1, launchNW_image );
short brick_0_image[] = {
#include "icons/brick_0.pr"
};
mpr_static( brick_0_pr, 64, 16, 1, brick_0_image );
short brick_1_image[] = {
#include "icons/brick_1.pr"
};
mpr_static( brick_1_pr, 64, 16, 1, brick_1_image );
short brick_2_image[] = {
#include "icons/brick_2.pr"
};
mpr_static( brick_2_pr, 64, 16, 1, brick_2_image );
short brick_3_image[] = {
#include "icons/brick_3.pr"
};
mpr_static( brick_3_pr, 64, 16, 1, brick_3_image );
short brick_4_image[] = {
#include "icons/brick_4.pr"
};
mpr_static( brick_4_pr, 64, 16, 1, brick_4_image );
short brick_5_image[] = {
#include "icons/brick_5.pr"
};
mpr_static( brick_5_pr, 64, 16, 1, brick_5_image );
short brick_6_image[] = {
#include "icons/brick_6.pr"
};
mpr_static( brick_6_pr, 64, 16, 1, brick_6_image );
short brick_7_image[] = {
#include "icons/brick_7.pr"
};
mpr_static( brick_7_pr, 64, 16, 1, brick_7_image );
short brick_8_image[] = {
#include "icons/brick_8.pr"
};
mpr_static( brick_8_pr, 64, 16, 1, brick_8_image );
short brick_9_image[] = {
#include "icons/brick_9.pr"
};
mpr_static( brick_9_pr, 64, 16, 1, brick_9_image );
short brick_a_image[] = {
#include "icons/brick_a.pr"
};
mpr_static( brick_a_pr, 64, 16, 1, brick_a_image );
short brick_b_image[] = {
#include "icons/brick_b.pr"
};
mpr_static( brick_b_pr, 64, 16, 1, brick_b_image );
short brick_c_image[] = {
#include "icons/brick_c.pr"
};
mpr_static( brick_c_pr, 64, 16, 1, brick_c_image );
short brick_d_image[] = {
#include "icons/brick_d.pr"
};
mpr_static( brick_d_pr, 64, 16, 1, brick_d_image );
short brick_e_image[] = {
#include "icons/brick_e.pr"
};
mpr_static( brick_e_pr, 64, 16, 1, brick_e_image );
short brick_j_image[] = {
#include "icons/brick_j.pr"
};
mpr_static( brick_j_pr, 64, 16, 1, brick_j_image );
short brick_A_image[] = {
#include "icons/brick_A.pr"
};
mpr_static( brick_A_pr, 64, 16, 1, brick_A_image );
short brick_C_image[] = {
#include "icons/brick_C.pr"
};
mpr_static( brick_C_pr, 64, 16, 1, brick_C_image );
short brick_D_image[] = {
#include "icons/brick_D.pr"
};
mpr_static( brick_D_pr, 64, 16, 1, brick_D_image );
short brick_E_image[] = {
#include "icons/brick_E.pr"
};
mpr_static( brick_E_pr, 64, 16, 1, brick_E_image );
short brick_G_image[] = {
#include "icons/brick_G.pr"
};
mpr_static( brick_G_pr, 64, 16, 1, brick_G_image );
short brick_H_image[] = {
#include "icons/brick_H.pr"
};
mpr_static( brick_H_pr, 64, 16, 1, brick_H_image );
/* short brick_I_image[] == clear_image */
short brick_L_image[] = {
#include "icons/brick_L.pr"
};
mpr_static( brick_L_pr, 64, 16, 1, brick_L_image );
short brick_M_image[] = {
#include "icons/brick_M.pr"
};
mpr_static( brick_M_pr, 64, 16, 1, brick_M_image );
short brick_P_image[] = {
#include "icons/brick_P.pr"
};
mpr_static( brick_P_pr, 64, 16, 1, brick_P_image );
short brick_R_image[] = {
#include "icons/brick_R.pr"
};
mpr_static( brick_R_pr, 64, 16, 1, brick_R_image );
short brick_S_image[] = {
#include "icons/brick_S.pr"
};
mpr_static( brick_S_pr, 64, 16, 1, brick_S_image );
short brick_T_image[] = {
#include "icons/brick_T.pr"
};
mpr_static( brick_T_pr, 64, 16, 1, brick_T_image );
short brick_U_image[] = {
#include "icons/brick_U.pr"
};
mpr_static( brick_U_pr, 64, 16, 1, brick_U_image );
short brick_W_image[] = {
#include "icons/brick_W.pr"
};
mpr_static( brick_W_pr, 64, 16, 1, brick_W_image );
short brick_X_image[] = {
#include "icons/brick_X.pr"
};
mpr_static( brick_X_pr, 64, 16, 1, brick_X_image );
/*** side images (square) ***/
short clear0_image[] = {
#include "icons/clear0.pr"
};
mpr_static( clear0_pr, 16, 16, 1, clear0_image );
short solid0_image[] = {
#include "icons/solid0.pr"
};
mpr_static( solid0_pr, 16, 16, 1, solid0_image );
short launchNE0_image[] = {
#include "icons/launchNE0.pr"
};
mpr_static( launchNE0_pr, 16, 16, 1, launchNE0_image );
short launchNW0_image[] = {
#include "icons/launchNW0.pr"
};
mpr_static( launchNW0_pr, 16, 16, 1, launchNW0_image );
/*** address functions ***/
Pixrect *
brick_addr( row, col )
int row, col; /* col > 0 && col < MAX_COL */
{
int tmp = stage[row][col].nhits;
switch ( stage[row][col].code ) {
case ' ':
return ( &clear_pr );
case '#':
return ( &solid_pr );
case '/':
return ( &launchNE_pr );
case '\\':
return ( &launchNW_pr );
case '9':
if ( !tmp-- )
return ( &brick_9_pr );
case '8':
if ( !tmp-- )
return ( &brick_8_pr );
case '7':
if ( !tmp-- )
return ( &brick_7_pr );
case '6':
if ( !tmp-- )
return ( &brick_6_pr );
case '5':
if ( !tmp-- )
return ( &brick_5_pr );
case '4':
if ( !tmp-- )
return ( &brick_4_pr );
case '3':
if ( !tmp-- )
return ( &brick_3_pr );
case '2':
if ( !tmp-- )
return ( &brick_2_pr );
case '1':
return ( &brick_1_pr );
case '0':
return ( &brick_0_pr );
case 'a':
return ( &brick_a_pr );
case 'b':
return ( &brick_b_pr );
case 'c':
return ( &brick_c_pr );
case 'd':
return ( &brick_d_pr );
case 'e':
return ( &brick_e_pr );
case 'j':
return ( &brick_j_pr );
case 'A':
return ( &brick_A_pr );
case '^':
return ( &solid_pr );
case 'C':
return ( &brick_C_pr );
case 'D':
return ( &brick_D_pr );
case 'E':
return ( &brick_E_pr );
case 'G':
return ( &brick_G_pr );
case 'H':
return ( &brick_H_pr );
case 'I':
return ( &clear_pr );
case 'L':
return ( &brick_L_pr );
case 'M':
return ( &brick_M_pr );
case 'P':
return ( &brick_P_pr );
case 'R':
return ( &brick_R_pr );
case 'S':
return ( &brick_S_pr );
case 'T':
return ( &brick_T_pr );
case 'U':
return ( &brick_U_pr );
case 'W':
return ( &brick_W_pr );
case '%':
return ( &solid_pr );
case 'X':
return ( &brick_X_pr );
default:
perror( "Illegal map code" );
exit( 1 );
}
}
Pixrect *
brick_addr0( row, col )
int row, col; /* col == 0 || col == MAX_COL */
{
switch ( stage[row][col].code ) {
case ' ':
return ( &clear0_pr );
case '#':
return ( &solid0_pr );
case '/':
return ( &launchNE0_pr );
case '\\':
return ( &launchNW0_pr );
default:
perror( "Illegal map code" );
exit( 1 );
};
}