X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Femerald.h;h=8e17761d8785402c1b32625cedcbf1b7565837c7;hb=5b0c9b194a5a219450d09a84131d4feaba5c4ff1;hp=52a81bcead61b0786fb825fd4f4dd1ce6cddd6df;hpb=54bec5c06ec986c0abe1bfff4ca41944dfd3c540;p=rocksndiamonds.git diff --git a/src/game_em/emerald.h b/src/game_em/emerald.h index 52a81bce..8e17761d 100644 --- a/src/game_em/emerald.h +++ b/src/game_em/emerald.h @@ -60,9 +60,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* ----------------------------------------------------------------------------- definition of elements used in the Emerald Mine Club engine; - the element names have the following properties: + the element names (mostly) have the following properties: - elements that start with 'X' can be stored in a level file - - elements that start with 'Y' indicate moving elements + - elements that start with 'Y' indicate moving or active elements - elements that end with 'B' are the "backside" of moving elements ----------------------------------------------------------------------------- */ @@ -71,8 +71,8 @@ enum { Xblank = 0, - Xacid_splash_e, - Xacid_splash_w, + Xsplash_e, + Xsplash_w, Xplant, Yplant, @@ -370,16 +370,16 @@ enum Ydrip_2_sB, Xwonderwall, - XwonderwallB, + Ywonderwall, Xwheel, - XwheelB, + Ywheel, Xswitch, - XswitchB, + Yswitch, Xbumper, - XbumperB, + Ybumper, Xacid_nw, Xacid_ne, @@ -388,13 +388,13 @@ enum Xacid_se, Xfake_blank, - Xfake_blankB, + Yfake_blank, Xfake_grass, - Xfake_grassB, + Yfake_grass, Xfake_amoeba, /* dripper */ - Xfake_amoebaB, + Yfake_amoeba, Xlenses, @@ -419,10 +419,10 @@ enum Xsand_stonesand_quickout_1, /* newly added to EM engine */ Xsand_stonesand_quickout_2, - Xslidewall_ns, /* growing wall */ - Yslidewall_ns_blank, - Xslidewall_ew, - Yslidewall_ew_blank, + Xslide_ns, /* growing wall */ + Yslide_ns_blank, + Xslide_ew, + Yslide_ew_blank, Xwind_n, Xwind_e, @@ -597,7 +597,7 @@ enum SOUND_dirt, /* player digs into dirt */ SOUND_acid, /* acid splashes */ SOUND_ball, /* ball places something */ - SOUND_slidewall, /* slide wall grows */ + SOUND_slide, /* slide wall grows */ SOUND_wonder, /* wonderwall is active */ SOUND_door, /* player goes thru door (gate) */ SOUND_exit_open, /* exit opens */ @@ -620,10 +620,6 @@ enum struct LEVEL { - int home_initial; /* number of players (initial) */ - int home; /* number of players not yet at home */ - /* 0 == all players at home */ - int width; /* playfield width */ int height; /* playfield height */ @@ -632,12 +628,13 @@ struct LEVEL int right; /* playfield right edge */ int bottom; /* playfield bottom edge */ + int player_x[MAX_PLAYERS]; /* player x pos */ + int player_y[MAX_PLAYERS]; /* player y pos */ + int time_seconds; /* available time (seconds) */ int time_initial; /* available time (initial) */ int time; /* time remaining (runtime) */ - boolean killed_out_of_time; /* kill player due to time out */ - int required_initial; /* emeralds needed (initial) */ int required; /* emeralds needed (runtime) */ @@ -695,13 +692,23 @@ struct LEVEL int wonderwall_state; /* wonderwall active flag */ int wonderwall_time_initial; /* wonderwall time (initial) */ int wonderwall_time; /* wonderwall time */ - short eater_array[8][9]; /* eater data */ - short ball_array[8][8]; /* ball data */ - short android_array[TILE_MAX];/* android clone table */ + int num_ball_arrays; /* number of ball data arrays used */ + int home_initial; /* number of players (initial) */ + int home; /* number of players not yet at home */ + /* 0 == all players at home */ + + boolean killed_out_of_time; /* kill player due to time out */ + int exit_x, exit_y; /* kludge for playing player exit sound */ + short eater_array[8][9]; /* eater data */ + short ball_array[8][8]; /* ball data */ + short android_array[TILE_MAX]; /* android clone table */ + + short cave_raw[CAVE_WIDTH][CAVE_HEIGHT]; + short cavebuf[CAVE_BUFFER_WIDTH][CAVE_BUFFER_HEIGHT]; short nextbuf[CAVE_BUFFER_WIDTH][CAVE_BUFFER_HEIGHT]; short drawbuf[CAVE_BUFFER_WIDTH][CAVE_BUFFER_HEIGHT]; @@ -730,8 +737,6 @@ struct PLAYER int keys; int anim; - int x_initial; - int y_initial; int x; int y; int oldx;