From f47cd4b09952aaf95d16542f6b53f2d8bf9e1d7d Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Tue, 28 Sep 2004 02:10:42 +0200 Subject: [PATCH] rnd-20040928-1-src * modified native EM engine to use integrated R'n'D sound system --- ChangeLog | 3 + src/conftime.h | 2 +- src/game.c | 153 +++- src/game.h | 3 + src/game_em/game_em.h | 1 + src/game_em/init.c | 50 +- src/game_em/input.c | 5 + src/game_em/main_em.h | 6 +- src/game_em/sample.h | 1 + src/game_em/synchro_1.c | 36 +- src/game_em/synchro_2.c | 98 ++- src/init.c | 7 + src/main.c | 5 - src/main.h | 61 +- src/tools.c | 1554 +++++++++++++++++++-------------------- 15 files changed, 1115 insertions(+), 870 deletions(-) diff --git a/ChangeLog b/ChangeLog index b80352d9..380405c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2004-09-27 + * modified native EM engine to use integrated R'n'D sound system + 2004-09-21 * added SDL support to graphics functions in native EM engine (by always using generic libgame interface functions) diff --git a/src/conftime.h b/src/conftime.h index c0d96d9c..99128248 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2004-09-27 20:49]" +#define COMPILE_DATE_STRING "[2004-09-28 01:26]" diff --git a/src/game.c b/src/game.c index 62c70419..087c63e2 100644 --- a/src/game.c +++ b/src/game.c @@ -2121,6 +2121,15 @@ void InitGame() #endif } +void UpdateEngineValues(int actual_scroll_x, int actual_scroll_y) +{ + /* this is used for non-R'n'D game engines to update certain engine values */ + + /* needed to determine if sounds are played within the visible screen area */ + scroll_x = actual_scroll_x; + scroll_y = actual_scroll_y; +} + void InitMovDir(int x, int y) { int i, element = Feld[x][y]; @@ -12394,9 +12403,149 @@ static void PlayLevelMusic() PlayMusic(MAP_NOCONF_MUSIC(level_nr)); /* from music dir */ } -void PlayLevelSound_EM(int x, int y, int element, int action) +void PlayLevelSound_EM(int x, int y, int element_em, int sample) { - PlayLevelSoundElementAction(x, y, element, action); + int element = (element_em > -1 ? map_element_EM_to_RND(element_em) : 0); + +#if 0 + if (sample == SAMPLE_bug) + printf("::: PlayLevelSound_EM: %d, %d: %d\n", x, y, sample); +#endif + + switch (sample) + { + case SAMPLE_blank: + PlayLevelSoundElementAction(x, y, element, ACTION_WALKING); + break; + + case SAMPLE_roll: + PlayLevelSoundElementAction(x, y, element, ACTION_PUSHING); + break; + + case SAMPLE_stone: + PlayLevelSoundElementAction(x, y, element, ACTION_IMPACT); + break; + + case SAMPLE_nut: + PlayLevelSoundElementAction(x, y, element, ACTION_IMPACT); + break; + + case SAMPLE_crack: + PlayLevelSoundElementAction(x, y, element, ACTION_BREAKING); + break; + + case SAMPLE_bug: + PlayLevelSoundElementAction(x, y, EL_BUG, ACTION_MOVING); + break; + + case SAMPLE_tank: + PlayLevelSoundElementAction(x, y, EL_SPACESHIP, ACTION_MOVING); + break; + + case SAMPLE_android: + PlayLevelSoundElementAction(x, y, element, ACTION_DROPPING); + break; + + case SAMPLE_spring: + PlayLevelSoundElementAction(x, y, element, ACTION_IMPACT); + break; + + case SAMPLE_slurp: + PlayLevelSoundElementAction(x, y, element, ACTION_DYING); + break; + + case SAMPLE_eater: + PlayLevelSoundElementAction(x, y, EL_YAMYAM, ACTION_WAITING); + break; + + case SAMPLE_alien: + PlayLevelSoundElementAction(x, y, element, ACTION_MOVING); + break; + + case SAMPLE_collect: + PlayLevelSoundElementAction(x, y, element, ACTION_COLLECTING); + break; + + case SAMPLE_diamond: + PlayLevelSoundElementAction(x, y, element, ACTION_IMPACT); + break; + + case SAMPLE_squash: + PlayLevelSoundElementAction(x, y, element, ACTION_BREAKING); + break; + + case SAMPLE_wonderfall: + PlayLevelSoundElementAction(x, y, EL_MAGIC_WALL, ACTION_FILLING); + break; + + case SAMPLE_drip: + PlayLevelSoundElementAction(x, y, element, ACTION_IMPACT); + break; + + case SAMPLE_push: + PlayLevelSoundElementAction(x, y, element, ACTION_PUSHING); + break; + + case SAMPLE_dirt: + PlayLevelSoundElementAction(x, y, element, ACTION_DIGGING); + break; + + case SAMPLE_acid: + PlayLevelSound(x, y, SND_ACID_SPLASHING); + break; + + case SAMPLE_ball: + PlayLevelSoundElementAction(x, y, element, ACTION_DROPPING); + break; + + case SAMPLE_grow: + PlayLevelSoundElementAction(x, y, element, ACTION_GROWING); + break; + + case SAMPLE_wonder: + PlayLevelSoundElementAction(x, y, element, ACTION_ACTIVE); + break; + + case SAMPLE_door: + PlayLevelSoundElementAction(x, y, element, ACTION_PASSING); + break; + + case SAMPLE_exit: + PlayLevelSoundElementAction(x, y, element, ACTION_PASSING); + break; + + case SAMPLE_dynamite: + PlayLevelSoundElementAction(x, y, element, ACTION_DROPPING); + break; + + case SAMPLE_tick: + PlayLevelSoundElementAction(x, y, element, ACTION_ACTIVE); + break; + + case SAMPLE_press: + PlayLevelSoundElementAction(x, y, element, ACTION_ACTIVATING); + break; + + case SAMPLE_wheel: + PlaySoundStereo(SND_MAGIC_WALL_ACTIVE, SOUND_MIDDLE); + break; + + case SAMPLE_boom: + PlayLevelSoundElementAction(x, y, element, ACTION_EXPLODING); + break; + + case SAMPLE_time: + PlaySoundStereo(SND_GAME_RUNNING_OUT_OF_TIME, SOUND_MIDDLE); + break; + + case SAMPLE_die: + PlayLevelSoundElementAction(x, y, element, ACTION_DYING); + break; + + default: + PlayLevelSoundElementAction(x, y, element, ACTION_DEFAULT); + break; + } } void RaiseScore(int value) diff --git a/src/game.h b/src/game.h index 8f82212c..4beaa587 100644 --- a/src/game.h +++ b/src/game.h @@ -20,6 +20,9 @@ void GetPlayerConfig(void); void DrawGameDoorValues(void); void InitGameSound(); void InitGame(void); + +void UpdateEngineValues(int, int); + void InitMovDir(int, int); void InitAmoebaNr(int, int); void GameWon(void); diff --git a/src/game_em/game_em.h b/src/game_em/game_em.h index cd1ddf3e..fd003ffb 100644 --- a/src/game_em/game_em.h +++ b/src/game_em/game_em.h @@ -24,6 +24,7 @@ #include "../libgame/libgame.h" extern void SetBitmaps_EM(Bitmap **); +extern void UpdateEngineValues(int, int); extern void DrawGameDoorValues_EM(int, int, int, int); extern int getGameFrameDelay_EM(int); extern void PlayLevelSound_EM(int, int, int, int); diff --git a/src/game_em/init.c b/src/game_em/init.c index c92ebd36..679993a6 100644 --- a/src/game_em/init.c +++ b/src/game_em/init.c @@ -33,6 +33,9 @@ GC spriteGC; #endif char play[SAMPLE_MAX]; +int play_x[SAMPLE_MAX]; +int play_y[SAMPLE_MAX]; +int play_element[SAMPLE_MAX]; #if defined(AUDIO_UNIX_NATIVE) static int sound_pid = -1; @@ -40,6 +43,8 @@ int sound_pipe[2] = { -1, -1 }; /* for communication */ short *sound_data[SAMPLE_MAX]; /* pointer to sound data */ long sound_length[SAMPLE_MAX]; /* length of sound data */ +static boolean use_native_em_sound = 0; + static const char *sound_names[SAMPLE_MAX] = { "00.blank.au", @@ -163,7 +168,7 @@ int open_all(void) #if defined(PLATFORM_LINUX) || defined(PLATFORM_BSD) - if (1) + if (use_native_em_sound) { char name[MAXNAME+2]; int i; @@ -276,43 +281,52 @@ void em_close_all(void) extern unsigned int screen_x; extern unsigned int screen_y; -void play_sound(int x, int y, int sample) +void play_element_sound(int x, int y, int sample, int element) { +#if 0 unsigned int left = screen_x / TILEX; unsigned int top = screen_y / TILEY; -#if 0 - if (x == -1 && y == -1) /* play sound in the middle of the screen */ - play[sample] = 0xffff; - else if ((unsigned int)(y - top) <= SCR_FIELDY && - (unsigned int)(x - left) <= SCR_FIELDX) - play[sample] = (y << 8) | (x & 0xff); -#else if ((x == -1 && y == -1) || /* play sound in the middle of the screen */ ((unsigned int)(y - top) <= SCR_FIELDY && (unsigned int)(x - left) <= SCR_FIELDX)) +#endif + { +#if 1 + PlayLevelSound_EM(x, y, element, sample); +#else play[sample] = 1; + play_x[sample] = x; + play_y[sample] = y; + play_element[sample] = element; #endif + } } -void play_element_sound(int x, int y, int sample, int element) +void play_sound(int x, int y, int sample) { - play_sound(x, y, sample); + play_element_sound(x, y, sample, -1); } void sound_play(void) { + if (!use_native_em_sound) + { + int i; + #if 0 - int i; + UpdateEngineValues(screen_x / TILEX, screen_y / TILEY); +#endif - for (i = 0; i < SAMPLE_MAX; i++) - if (play[i]) - PlayLevelSound_EM(0,0,0,0); + return; -#else + for (i = 0; i < SAMPLE_MAX; i++) + if (play[i]) + PlayLevelSound_EM(play_x[i], play_y[i], play_element[i], i); + } #if defined(AUDIO_UNIX_NATIVE) - if (sound_pipe[1] != -1) + if (use_native_em_sound && sound_pipe[1] != -1) { if (write(sound_pipe[1], &play, sizeof(play)) == -1) { @@ -331,7 +345,7 @@ void sound_play(void) } } } -#endif + #endif memset(play, 0, sizeof(play)); diff --git a/src/game_em/input.c b/src/game_em/input.c index a6ddcfab..79efd2f9 100644 --- a/src/game_em/input.c +++ b/src/game_em/input.c @@ -24,6 +24,9 @@ unsigned short **Draw; static unsigned short *Index[4][HEIGHT]; static unsigned short Array[4][HEIGHT][WIDTH]; +extern unsigned int screen_x; +extern unsigned int screen_y; + void game_init_vars(void) { int x, y; @@ -86,6 +89,8 @@ void GameActions_EM(byte action) readjoy(action); + UpdateEngineValues(screen_x / TILEX, screen_y / TILEY); + if (frame == 7) { synchro_1(); diff --git a/src/game_em/main_em.h b/src/game_em/main_em.h index 38320ef6..f54f5d40 100644 --- a/src/game_em/main_em.h +++ b/src/game_em/main_em.h @@ -449,9 +449,9 @@ enum SAMPLE_acid, /* acid splashes */ SAMPLE_ball, /* ball places something */ SAMPLE_grow, /* growing wall grows */ - SAMPLE_wonder, /* wonderwall moves (is active) */ - SAMPLE_door, /* player goes thru door */ - SAMPLE_exit, /* player goes in exit */ + SAMPLE_wonder, /* wonderwall is active */ + SAMPLE_door, /* player goes thru door (gate) */ + SAMPLE_exit, /* player goes into exit */ SAMPLE_dynamite, /* player places dynamite */ SAMPLE_tick, /* dynamite ticks */ SAMPLE_press, /* player presses wheel/wind/switch */ diff --git a/src/game_em/sample.h b/src/game_em/sample.h index f84531c2..e19af75b 100644 --- a/src/game_em/sample.h +++ b/src/game_em/sample.h @@ -3,6 +3,7 @@ #include "main_em.h" + #if 0 enum diff --git a/src/game_em/synchro_1.c b/src/game_em/synchro_1.c index 0ff540e3..a8ff691a 100644 --- a/src/game_em/synchro_1.c +++ b/src/game_em/synchro_1.c @@ -208,6 +208,9 @@ static void die(struct PLAYER *ply) case Xbug_gos: case Xbug_gow: Cave[y-1][x] = Xboom_bug; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; case Xtank_n: @@ -219,6 +222,9 @@ static void die(struct PLAYER *ply) case Xtank_gos: case Xtank_gow: Cave[y-1][x] = Xboom_bomb; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; } @@ -233,6 +239,9 @@ static void die(struct PLAYER *ply) case Xbug_gos: case Xbug_gow: Cave[y][x+1] = Xboom_bug; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; case Xtank_n: @@ -244,6 +253,9 @@ static void die(struct PLAYER *ply) case Xtank_gos: case Xtank_gow: Cave[y][x+1] = Xboom_bomb; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; } @@ -258,6 +270,9 @@ static void die(struct PLAYER *ply) case Xbug_gos: case Xbug_gow: Cave[y+1][x] = Xboom_bug; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; case Xtank_n: @@ -269,6 +284,9 @@ static void die(struct PLAYER *ply) case Xtank_gos: case Xtank_gow: Cave[y+1][x] = Xboom_bomb; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; } @@ -283,6 +301,9 @@ static void die(struct PLAYER *ply) case Xbug_gos: case Xbug_gow: Cave[y][x-1] = Xboom_bug; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; case Xtank_n: @@ -294,6 +315,9 @@ static void die(struct PLAYER *ply) case Xtank_gos: case Xtank_gow: Cave[y][x-1] = Xboom_bomb; +#if 0 + play_element_sound(x, y, SAMPLE_boom, Zplayer); +#endif break; } @@ -302,11 +326,11 @@ static void die(struct PLAYER *ply) case Xexit_1: case Xexit_2: case Xexit_3: - play_sound(x, y, SAMPLE_exit); + play_element_sound(x, y, SAMPLE_exit, Xexit_1); break; default: - play_sound(x, y, SAMPLE_die); + play_element_sound(x, y, SAMPLE_die, Zplayer); break; } @@ -393,7 +417,7 @@ static void player(struct PLAYER *ply) if (++ply->dynamite_cnt == 5 && ply->dynamite) { Cave[y][x] = Xdynamite_1; - play_sound(x, y, SAMPLE_dynamite); + play_element_sound(x, y, SAMPLE_dynamite, Xdynamite_1); ply->dynamite--; } } @@ -423,7 +447,7 @@ static void player(struct PLAYER *ply) case Yacid_splash_wB: Cave[y][x] = Zplayer; Next[y][x] = Zplayer; - play_sound(x, y, SAMPLE_blank); + play_element_sound(x, y, SAMPLE_blank, Xblank); ply->anim = SPR_walk + anim; ply->x = x; ply->y = y; @@ -706,7 +730,7 @@ static void player(struct PLAYER *ply) Cave[y][x+dx] = dx > 0 ? Yspring_kill_e : Yspring_kill_w; Next[y][x] = Zplayer; Next[y][x+dx] = dx > 0 ? Xspring_e : Xspring_w; - play_sound(x, y, SAMPLE_slurp); + play_element_sound(x, y, SAMPLE_slurp, Xalien); lev.score += lev.slurp_score; ply->x = x; break; @@ -962,7 +986,7 @@ static void player(struct PLAYER *ply) case Xexit_1: case Xexit_2: case Xexit_3: - play_sound(x, y, SAMPLE_exit); + play_element_sound(x, y, SAMPLE_exit, Xexit_1); if (--lev.home == 0) lev.score += lev.time * lev.exit_score / 100; ply->anim = SPR_walk + anim; diff --git a/src/game_em/synchro_2.c b/src/game_em/synchro_2.c index d8f7913c..662ad2e5 100644 --- a/src/game_em/synchro_2.c +++ b/src/game_em/synchro_2.c @@ -534,7 +534,7 @@ void synchro_2(void) Cave[y+1][x] = Yemerald_stone; Next[y][x] = Xstone; Next[y+1][x] = Xemerald; - play_sound(x, y, SAMPLE_crack); + play_element_sound(x, y, SAMPLE_crack, Xnut); score += lev.nut_score; goto loop; @@ -558,6 +558,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xemerald; Boom[y+2][x] = Xemerald; Boom[y+2][x+1] = Xemerald; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.bug_score; goto loop; @@ -581,6 +584,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.tank_score; goto loop; @@ -638,6 +644,9 @@ void synchro_2(void) Boom[y+2][x-1] = lev.eater_array[lev.eater_pos][6]; Boom[y+2][x] = lev.eater_array[lev.eater_pos][7]; Boom[y+2][x+1] = lev.eater_array[lev.eater_pos][8]; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif lev.eater_pos = (lev.eater_pos + 1) & 7; score += lev.eater_score; goto loop; @@ -656,6 +665,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.alien_score; goto loop; @@ -710,7 +722,7 @@ void synchro_2(void) case Xplant: case Yplant: Next[y][x] = Xstone; - play_sound(x, y, SAMPLE_stone); + play_element_sound(x, y, SAMPLE_stone, Xstone); goto loop; } @@ -718,7 +730,7 @@ void synchro_2(void) Cave[y+1][x] = Ydiamond_stone; Next[y][x] = Xblank; Next[y+1][x] = Xstone_pause; - play_sound(x, y, SAMPLE_squash); + play_element_sound(x, y, SAMPLE_squash, Xdiamond); goto loop; case Xbomb: @@ -734,6 +746,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xwonderwall: @@ -756,7 +771,7 @@ void synchro_2(void) default: Cave[y][x] = Xstone; Next[y][x] = Xstone; - play_sound(x, y, SAMPLE_stone); + play_element_sound(x, y, SAMPLE_stone, Xstone); goto loop; } @@ -953,7 +968,7 @@ void synchro_2(void) default: Cave[y][x] = Xnut; Next[y][x] = Xnut; - play_sound(x, y, SAMPLE_nut); + play_element_sound(x, y, SAMPLE_nut, Xnut); goto loop; } @@ -1725,7 +1740,7 @@ void synchro_2(void) } Next[y][x] = temp; /* the item we chose to clone */ - play_sound(x, y, SAMPLE_android); + play_element_sound(x, y, SAMPLE_android, temp); switch (RANDOM & 7) { @@ -2604,7 +2619,7 @@ void synchro_2(void) Cave[y][x+1] = Yspring_kill_e; Next[y][x] = Xblank; Next[y][x+1] = Xspring_e; - play_sound(x, y, SAMPLE_slurp); + play_element_sound(x, y, SAMPLE_slurp, Xalien); score += lev.slurp_score; goto loop; @@ -2612,13 +2627,13 @@ void synchro_2(void) case XbumperB: Cave[y][x+1] = XbumperB; Next[y][x] = Xspring_w; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; } @@ -2699,7 +2714,7 @@ void synchro_2(void) Cave[y][x-1] = Yspring_kill_w; Next[y][x] = Xblank; Next[y][x-1] = Xspring_w; - play_sound(x, y, SAMPLE_slurp); + play_element_sound(x, y, SAMPLE_slurp, Xalien); score += lev.slurp_score; goto loop; @@ -2707,13 +2722,13 @@ void synchro_2(void) case XbumperB: Cave[y][x-1] = XbumperB; Next[y][x] = Xspring_e; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; } @@ -2762,6 +2777,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xbug_n: @@ -2784,6 +2802,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xemerald; Boom[y+2][x] = Xemerald; Boom[y+2][x+1] = Xemerald; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.bug_score; goto loop; @@ -2807,6 +2828,9 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.tank_score; goto loop; @@ -2826,6 +2850,9 @@ void synchro_2(void) Boom[y+2][x-1] = lev.eater_array[lev.eater_pos][6]; Boom[y+2][x] = lev.eater_array[lev.eater_pos][7]; Boom[y+2][x+1] = lev.eater_array[lev.eater_pos][8]; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif lev.eater_pos = (lev.eater_pos + 1) & 7; score += lev.eater_score; goto loop; @@ -2844,13 +2871,16 @@ void synchro_2(void) Boom[y+2][x-1] = Xblank; Boom[y+2][x] = Xblank; Boom[y+2][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif score += lev.alien_score; goto loop; default: Cave[y][x] = Xspring; Next[y][x] = Xspring; - play_sound(x, y, SAMPLE_spring); + play_element_sound(x, y, SAMPLE_spring, Xspring); goto loop; } @@ -3215,7 +3245,7 @@ void synchro_2(void) Cave[y-1][x] = Yalien_n; Next[y][x] = Xblank; Next[y-1][x] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3250,7 +3280,7 @@ void synchro_2(void) Cave[y+1][x] = Yalien_s; Next[y][x] = Xblank; Next[y+1][x] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3288,7 +3318,7 @@ void synchro_2(void) Cave[y][x+1] = Yalien_e; Next[y][x] = Xblank; Next[y][x+1] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3323,7 +3353,7 @@ void synchro_2(void) Cave[y][x-1] = Yalien_w; Next[y][x] = Xblank; Next[y][x-1] = Xalien_pause; - play_sound(x, y, SAMPLE_alien); + play_element_sound(x, y, SAMPLE_alien, Xalien); goto loop; } } @@ -3861,7 +3891,7 @@ void synchro_2(void) Cave[y][x] = temp; Next[y][x] = temp; - play_sound(x, y, SAMPLE_drip); + play_element_sound(x, y, SAMPLE_drip, Xdrip_fall); goto loop; } @@ -4081,6 +4111,9 @@ void synchro_2(void) Boom[y+1][x-1] = Xblank; Boom[y+1][x] = Xblank; Boom[y+1][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; } @@ -4432,14 +4465,14 @@ void synchro_2(void) { Cave[y-1][x] = Ygrow_ns_eat; Next[y-1][x] = Xgrow_ns; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ns); } if (tab_blank[Cave[y+1][x]]) { Cave[y+1][x] = Ygrow_ns_eat; Next[y+1][x] = Xgrow_ns; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ns); } goto loop; @@ -4449,14 +4482,14 @@ void synchro_2(void) { Cave[y][x+1] = Ygrow_ew_eat; Next[y][x+1] = Xgrow_ew; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ew); } if (tab_blank[Cave[y][x-1]]) { Cave[y][x-1] = Ygrow_ew_eat; Next[y][x-1] = Xgrow_ew; - play_sound(x, y, SAMPLE_grow); + play_element_sound(x, y, SAMPLE_grow, Xgrow_ew); } goto loop; @@ -4467,7 +4500,7 @@ void synchro_2(void) if (lev.wonderwall_time && lev.wonderwall_state) { Cave[y][x] = XwonderwallB; - play_sound(x, y, SAMPLE_wonder); + play_element_sound(x, y, SAMPLE_wonder, Xwonderwall); } goto loop; @@ -4512,22 +4545,22 @@ void synchro_2(void) /* --------------------------------------------------------------------- */ case Xdynamite_1: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_1); Next[y][x] = Xdynamite_2; goto loop; case Xdynamite_2: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_2); Next[y][x] = Xdynamite_3; goto loop; case Xdynamite_3: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_3); Next[y][x] = Xdynamite_4; goto loop; case Xdynamite_4: - play_sound(x, y, SAMPLE_tick); + play_element_sound(x, y, SAMPLE_tick, Xdynamite_4); Next[y][x] = Zdynamite; Boom[y-1][x-1] = Xblank; Boom[y-1][x] = Xblank; @@ -4729,6 +4762,9 @@ void synchro_2(void) Boom[y+1][x-1] = Xemerald; Boom[y+1][x] = Xemerald; Boom[y+1][x+1] = Xemerald; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xboom_bomb: @@ -4745,12 +4781,20 @@ void synchro_2(void) Boom[y+1][x-1] = Xblank; Boom[y+1][x] = Xblank; Boom[y+1][x+1] = Xblank; +#if 0 + play_element_sound(x, y, SAMPLE_boom, element); +#endif goto loop; case Xboom_android: +#if 0 + play_element_sound(x, y, SAMPLE_boom, Xandroid); +#endif case Xboom_1: Next[y][x] = Xboom_2; +#if 1 play_sound(x, y, SAMPLE_boom); +#endif goto loop; case Xboom_2: diff --git a/src/init.c b/src/init.c index 166ee1d4..f0f528ce 100644 --- a/src/init.c +++ b/src/init.c @@ -1260,6 +1260,13 @@ static void InitElementSoundInfo() default_action_sound = element_info[i].sound[ACTION_DEFAULT]; #endif +#if 1 + /* !!! needed because EL_EMPTY_SPACE treated as IS_SP_ELEMENT !!! */ + /* !!! make this better !!! */ + if (i == EL_EMPTY_SPACE) + default_action_sound = element_info[EL_DEFAULT].sound[act]; +#endif + /* no sound for this specific action -- use default action sound */ if (element_info[i].sound[act] == -1) element_info[i].sound[act] = default_action_sound; diff --git a/src/main.c b/src/main.c index 012826ec..d954b1ac 100644 --- a/src/main.c +++ b/src/main.c @@ -3524,11 +3524,6 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "emc_generator_ball", "generator ball", }, - { - "emc_grow", - "emc_grow", - "grow", - }, { "emc_gate_1", "gate", diff --git a/src/main.h b/src/main.h index e0b60503..d5afcf72 100644 --- a/src/main.h +++ b/src/main.h @@ -978,37 +978,36 @@ #define EL_EMC_ANDROID_RIGHT_DOWN 677 #define EL_EMC_GRASS 678 #define EL_EMC_GENERATOR_BALL 679 -#define EL_EMC_GROW 680 -#define EL_EMC_GATE_1 681 -#define EL_EMC_GATE_2 682 -#define EL_EMC_GATE_3 683 -#define EL_EMC_GATE_4 684 -#define EL_EMC_GATE_5 685 -#define EL_EMC_GATE_6 686 -#define EL_EMC_GATE_7 687 -#define EL_EMC_GATE_8 688 -#define EL_EMC_GATE_1_GRAY 689 -#define EL_EMC_GATE_2_GRAY 690 -#define EL_EMC_GATE_3_GRAY 691 -#define EL_EMC_GATE_4_GRAY 692 -#define EL_EMC_GATE_5_GRAY 693 -#define EL_EMC_GATE_6_GRAY 694 -#define EL_EMC_GATE_7_GRAY 695 -#define EL_EMC_GATE_8_GRAY 696 -#define EL_EMC_KEY_1 697 -#define EL_EMC_KEY_2 698 -#define EL_EMC_KEY_3 699 -#define EL_EMC_KEY_4 700 -#define EL_EMC_KEY_5 701 -#define EL_EMC_KEY_6 702 -#define EL_EMC_KEY_7 703 -#define EL_EMC_KEY_8 704 -#define EL_EMC_BUMPER 705 -#define EL_EMC_PLANT 706 -#define EL_EMC_LENSES 707 -#define EL_EMC_MAGNIFIER 708 - -#define NUM_FILE_ELEMENTS 709 +#define EL_EMC_GATE_1 680 +#define EL_EMC_GATE_2 681 +#define EL_EMC_GATE_3 682 +#define EL_EMC_GATE_4 683 +#define EL_EMC_GATE_5 684 +#define EL_EMC_GATE_6 685 +#define EL_EMC_GATE_7 686 +#define EL_EMC_GATE_8 687 +#define EL_EMC_GATE_1_GRAY 688 +#define EL_EMC_GATE_2_GRAY 689 +#define EL_EMC_GATE_3_GRAY 690 +#define EL_EMC_GATE_4_GRAY 691 +#define EL_EMC_GATE_5_GRAY 692 +#define EL_EMC_GATE_6_GRAY 693 +#define EL_EMC_GATE_7_GRAY 694 +#define EL_EMC_GATE_8_GRAY 695 +#define EL_EMC_KEY_1 696 +#define EL_EMC_KEY_2 697 +#define EL_EMC_KEY_3 698 +#define EL_EMC_KEY_4 799 +#define EL_EMC_KEY_5 700 +#define EL_EMC_KEY_6 701 +#define EL_EMC_KEY_7 702 +#define EL_EMC_KEY_8 703 +#define EL_EMC_BUMPER 704 +#define EL_EMC_PLANT 705 +#define EL_EMC_LENSES 706 +#define EL_EMC_MAGNIFIER 707 + +#define NUM_FILE_ELEMENTS 708 /* "real" (and therefore drawable) runtime elements */ diff --git a/src/tools.c b/src/tools.c index 04b8c7b8..c950c871 100644 --- a/src/tools.c +++ b/src/tools.c @@ -2905,1567 +2905,1567 @@ static struct mapping_EM_to_RND_list[] = { { - Xblank, TRUE, - EL_EMPTY, -1, -1 + Xblank, TRUE, + EL_EMPTY, -1, -1 }, { - Yacid_splash_eB, FALSE, - EL_EMPTY, -1, -1 + Yacid_splash_eB, FALSE, + EL_EMPTY, -1, -1 }, { - Yacid_splash_wB, FALSE, - EL_EMPTY, -1, -1 + Yacid_splash_wB, FALSE, + EL_EMPTY, -1, -1 }, #ifdef EM_ENGINE_BAD_ROLL { - Xstone_force_e, FALSE, - EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT + Xstone_force_e, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT }, { - Xstone_force_w, FALSE, - EL_ROCK, ACTION_MOVING, MV_BIT_LEFT + Xstone_force_w, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_LEFT }, { - Xnut_force_e, FALSE, - EL_NUT, ACTION_MOVING, MV_BIT_RIGHT + Xnut_force_e, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_RIGHT }, { - Xnut_force_w, FALSE, - EL_NUT, ACTION_MOVING, MV_BIT_LEFT + Xnut_force_w, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_LEFT }, { - Xspring_force_e, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + Xspring_force_e, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT }, { - Xspring_force_w, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + Xspring_force_w, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT }, { - Xemerald_force_e, FALSE, - EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT + Xemerald_force_e, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT }, { - Xemerald_force_w, FALSE, - EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT + Xemerald_force_w, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT }, { - Xdiamond_force_e, FALSE, - EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT + Xdiamond_force_e, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT }, { - Xdiamond_force_w, FALSE, - EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT + Xdiamond_force_w, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT }, { - Xbomb_force_e, FALSE, - EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT + Xbomb_force_e, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT }, { - Xbomb_force_w, FALSE, - EL_BOMB, ACTION_MOVING, MV_BIT_LEFT + Xbomb_force_w, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_LEFT }, #endif { - Xstone, TRUE, - EL_ROCK, -1, -1 + Xstone, TRUE, + EL_ROCK, -1, -1 }, { - Xstone_pause, FALSE, - EL_ROCK, -1, -1 + Xstone_pause, FALSE, + EL_ROCK, -1, -1 }, { - Xstone_fall, FALSE, - EL_ROCK, ACTION_FALLING, -1 + Xstone_fall, FALSE, + EL_ROCK, ACTION_FALLING, -1 }, { - Ystone_s, FALSE, - EL_ROCK, ACTION_FALLING, -1 + Ystone_s, FALSE, + EL_ROCK, ACTION_FALLING, -1 }, { - Ystone_sB, FALSE, - EL_ROCK, ACTION_FALLING, -1 + Ystone_sB, FALSE, + EL_ROCK, ACTION_FALLING, -1 }, { - Ystone_e, FALSE, - EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT + Ystone_e, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT }, { - Ystone_eB, FALSE, - EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT + Ystone_eB, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_RIGHT }, { - Ystone_w, FALSE, - EL_ROCK, ACTION_MOVING, MV_BIT_LEFT + Ystone_w, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_LEFT }, { - Ystone_wB, FALSE, - EL_ROCK, ACTION_MOVING, MV_BIT_LEFT + Ystone_wB, FALSE, + EL_ROCK, ACTION_MOVING, MV_BIT_LEFT }, { - Xnut, TRUE, - EL_NUT, -1, -1 + Xnut, TRUE, + EL_NUT, -1, -1 }, { - Xnut_pause, FALSE, - EL_NUT, -1, -1 + Xnut_pause, FALSE, + EL_NUT, -1, -1 }, { - Xnut_fall, FALSE, - EL_NUT, ACTION_FALLING, -1 + Xnut_fall, FALSE, + EL_NUT, ACTION_FALLING, -1 }, { - Ynut_s, FALSE, - EL_NUT, ACTION_FALLING, -1 + Ynut_s, FALSE, + EL_NUT, ACTION_FALLING, -1 }, { - Ynut_sB, FALSE, - EL_NUT, ACTION_FALLING, -1 + Ynut_sB, FALSE, + EL_NUT, ACTION_FALLING, -1 }, { - Ynut_e, FALSE, - EL_NUT, ACTION_MOVING, MV_BIT_RIGHT + Ynut_e, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_RIGHT }, { - Ynut_eB, FALSE, - EL_NUT, ACTION_MOVING, MV_BIT_RIGHT + Ynut_eB, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_RIGHT }, { - Ynut_w, FALSE, - EL_NUT, ACTION_MOVING, MV_BIT_LEFT + Ynut_w, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_LEFT }, { - Ynut_wB, FALSE, - EL_NUT, ACTION_MOVING, MV_BIT_LEFT + Ynut_wB, FALSE, + EL_NUT, ACTION_MOVING, MV_BIT_LEFT }, { - Xbug_n, TRUE, - EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + Xbug_n, TRUE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP }, { - Xbug_e, TRUE, - EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Xbug_e, TRUE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Xbug_s, TRUE, - EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + Xbug_s, TRUE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Xbug_w, TRUE, - EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + Xbug_w, TRUE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Xbug_gon, FALSE, - EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + Xbug_gon, FALSE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP }, { - Xbug_goe, FALSE, - EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Xbug_goe, FALSE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Xbug_gos, FALSE, - EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + Xbug_gos, FALSE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Xbug_gow, FALSE, - EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + Xbug_gow, FALSE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Ybug_n, FALSE, - EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + Ybug_n, FALSE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP }, { - Ybug_nB, FALSE, - EL_BUG_UP, ACTION_MOVING, MV_BIT_UP + Ybug_nB, FALSE, + EL_BUG_UP, ACTION_MOVING, MV_BIT_UP }, { - Ybug_e, FALSE, - EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Ybug_e, FALSE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Ybug_eB, FALSE, - EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Ybug_eB, FALSE, + EL_BUG_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Ybug_s, FALSE, - EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + Ybug_s, FALSE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Ybug_sB, FALSE, - EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN + Ybug_sB, FALSE, + EL_BUG_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Ybug_w, FALSE, - EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + Ybug_w, FALSE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Ybug_wB, FALSE, - EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT + Ybug_wB, FALSE, + EL_BUG_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Ybug_w_n, FALSE, - EL_BUG_UP, ACTION_TURNING_FROM_LEFT, MV_BIT_UP + Ybug_w_n, FALSE, + EL_BUG_UP, ACTION_TURNING_FROM_LEFT, MV_BIT_UP }, { - Ybug_n_e, FALSE, - EL_BUG_RIGHT, ACTION_TURNING_FROM_UP, MV_BIT_RIGHT + Ybug_n_e, FALSE, + EL_BUG_RIGHT, ACTION_TURNING_FROM_UP, MV_BIT_RIGHT }, { - Ybug_e_s, FALSE, - EL_BUG_DOWN, ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN + Ybug_e_s, FALSE, + EL_BUG_DOWN, ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN }, { - Ybug_s_w, FALSE, - EL_BUG_LEFT, ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT + Ybug_s_w, FALSE, + EL_BUG_LEFT, ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT }, { - Ybug_e_n, FALSE, - EL_BUG_UP, ACTION_TURNING_FROM_RIGHT, MV_BIT_UP + Ybug_e_n, FALSE, + EL_BUG_UP, ACTION_TURNING_FROM_RIGHT, MV_BIT_UP }, { - Ybug_s_e, FALSE, - EL_BUG_RIGHT, ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT + Ybug_s_e, FALSE, + EL_BUG_RIGHT, ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT }, { - Ybug_w_s, FALSE, - EL_BUG_DOWN, ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN + Ybug_w_s, FALSE, + EL_BUG_DOWN, ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN }, { - Ybug_n_w, FALSE, - EL_BUG_LEFT, ACTION_TURNING_FROM_UP, MV_BIT_LEFT + Ybug_n_w, FALSE, + EL_BUG_LEFT, ACTION_TURNING_FROM_UP, MV_BIT_LEFT }, { - Ybug_stone, FALSE, - EL_ROCK, -1, -1 + Ybug_stone, FALSE, + EL_ROCK, -1, -1 }, { - Ybug_spring, FALSE, - EL_SPRING, -1, -1 + Ybug_spring, FALSE, + EL_SPRING, -1, -1 }, { - Xtank_n, TRUE, - EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + Xtank_n, TRUE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP }, { - Xtank_e, TRUE, - EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Xtank_e, TRUE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Xtank_s, TRUE, - EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + Xtank_s, TRUE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Xtank_w, TRUE, - EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + Xtank_w, TRUE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Xtank_gon, FALSE, - EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + Xtank_gon, FALSE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP }, { - Xtank_goe, FALSE, - EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Xtank_goe, FALSE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Xtank_gos, FALSE, - EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + Xtank_gos, FALSE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Xtank_gow, FALSE, - EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + Xtank_gow, FALSE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Ytank_n, FALSE, - EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + Ytank_n, FALSE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP }, { - Ytank_nB, FALSE, - EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP + Ytank_nB, FALSE, + EL_SPACESHIP_UP, ACTION_MOVING, MV_BIT_UP }, { - Ytank_e, FALSE, - EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Ytank_e, FALSE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Ytank_eB, FALSE, - EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Ytank_eB, FALSE, + EL_SPACESHIP_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Ytank_s, FALSE, - EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + Ytank_s, FALSE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Ytank_sB, FALSE, - EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN + Ytank_sB, FALSE, + EL_SPACESHIP_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Ytank_w, FALSE, - EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + Ytank_w, FALSE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Ytank_wB, FALSE, - EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT + Ytank_wB, FALSE, + EL_SPACESHIP_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Ytank_w_n, FALSE, - EL_SPACESHIP_UP, ACTION_TURNING_FROM_LEFT, MV_BIT_UP + Ytank_w_n, FALSE, + EL_SPACESHIP_UP, ACTION_TURNING_FROM_LEFT, MV_BIT_UP }, { - Ytank_n_e, FALSE, - EL_SPACESHIP_RIGHT, ACTION_TURNING_FROM_UP, MV_BIT_RIGHT + Ytank_n_e, FALSE, + EL_SPACESHIP_RIGHT, ACTION_TURNING_FROM_UP, MV_BIT_RIGHT }, { - Ytank_e_s, FALSE, - EL_SPACESHIP_DOWN, ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN + Ytank_e_s, FALSE, + EL_SPACESHIP_DOWN, ACTION_TURNING_FROM_RIGHT, MV_BIT_DOWN }, { - Ytank_s_w, FALSE, - EL_SPACESHIP_LEFT, ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT + Ytank_s_w, FALSE, + EL_SPACESHIP_LEFT, ACTION_TURNING_FROM_DOWN, MV_BIT_LEFT }, { - Ytank_e_n, FALSE, - EL_SPACESHIP_UP, ACTION_TURNING_FROM_RIGHT, MV_BIT_UP + Ytank_e_n, FALSE, + EL_SPACESHIP_UP, ACTION_TURNING_FROM_RIGHT, MV_BIT_UP }, { - Ytank_s_e, FALSE, - EL_SPACESHIP_RIGHT, ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT + Ytank_s_e, FALSE, + EL_SPACESHIP_RIGHT, ACTION_TURNING_FROM_DOWN, MV_BIT_RIGHT }, { - Ytank_w_s, FALSE, - EL_SPACESHIP_DOWN, ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN + Ytank_w_s, FALSE, + EL_SPACESHIP_DOWN, ACTION_TURNING_FROM_LEFT, MV_BIT_DOWN }, { - Ytank_n_w, FALSE, - EL_SPACESHIP_LEFT, ACTION_TURNING_FROM_UP, MV_BIT_LEFT + Ytank_n_w, FALSE, + EL_SPACESHIP_LEFT, ACTION_TURNING_FROM_UP, MV_BIT_LEFT }, { - Ytank_stone, FALSE, - EL_ROCK, -1, -1 + Ytank_stone, FALSE, + EL_ROCK, -1, -1 }, { - Ytank_spring, FALSE, - EL_SPRING, -1, -1 + Ytank_spring, FALSE, + EL_SPRING, -1, -1 }, { - Xandroid, TRUE, - EL_EMC_ANDROID, -1, -1 + Xandroid, TRUE, + EL_EMC_ANDROID, -1, -1 }, { - Xandroid_1_n, TRUE, - EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + Xandroid_1_n, TRUE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP }, { - Xandroid_2_n, FALSE, - EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + Xandroid_2_n, FALSE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP }, { - Xandroid_1_e, TRUE, - EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Xandroid_1_e, TRUE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Xandroid_2_e, FALSE, - EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Xandroid_2_e, FALSE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Xandroid_1_w, TRUE, - EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + Xandroid_1_w, TRUE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Xandroid_2_w, FALSE, - EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + Xandroid_2_w, FALSE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Xandroid_1_s, TRUE, - EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + Xandroid_1_s, TRUE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Xandroid_2_s, FALSE, - EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + Xandroid_2_s, FALSE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Yandroid_n, FALSE, - EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + Yandroid_n, FALSE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP }, { - Yandroid_nB, FALSE, - EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP + Yandroid_nB, FALSE, + EL_EMC_ANDROID_UP, ACTION_MOVING, MV_BIT_UP }, { - Yandroid_ne, FALSE, + Yandroid_ne, FALSE, EL_EMC_ANDROID_RIGHT_UP, }, { - Yandroid_neB, FALSE, - EL_EMC_ANDROID_RIGHT_UP, -1, -1 + Yandroid_neB, FALSE, + EL_EMC_ANDROID_RIGHT_UP, -1, -1 }, { - Yandroid_e, FALSE, - EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Yandroid_e, FALSE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Yandroid_eB, FALSE, - EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT + Yandroid_eB, FALSE, + EL_EMC_ANDROID_RIGHT, ACTION_MOVING, MV_BIT_RIGHT }, { - Yandroid_se, FALSE, - EL_EMC_ANDROID_RIGHT_DOWN, -1, -1 + Yandroid_se, FALSE, + EL_EMC_ANDROID_RIGHT_DOWN, -1, -1 }, { - Yandroid_seB, FALSE, - EL_EMC_ANDROID_RIGHT_DOWN, -1, -1 + Yandroid_seB, FALSE, + EL_EMC_ANDROID_RIGHT_DOWN, -1, -1 }, { - Yandroid_s, FALSE, - EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + Yandroid_s, FALSE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Yandroid_sB, FALSE, - EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN + Yandroid_sB, FALSE, + EL_EMC_ANDROID_DOWN, ACTION_MOVING, MV_BIT_DOWN }, { - Yandroid_sw, FALSE, - EL_EMC_ANDROID_LEFT_DOWN, -1, -1 + Yandroid_sw, FALSE, + EL_EMC_ANDROID_LEFT_DOWN, -1, -1 }, { - Yandroid_swB, FALSE, - EL_EMC_ANDROID_LEFT_DOWN, -1, -1 + Yandroid_swB, FALSE, + EL_EMC_ANDROID_LEFT_DOWN, -1, -1 }, { - Yandroid_w, FALSE, - EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + Yandroid_w, FALSE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Yandroid_wB, FALSE, - EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT + Yandroid_wB, FALSE, + EL_EMC_ANDROID_LEFT, ACTION_MOVING, MV_BIT_LEFT }, { - Yandroid_nw, FALSE, - EL_EMC_ANDROID_LEFT_UP, -1, -1 + Yandroid_nw, FALSE, + EL_EMC_ANDROID_LEFT_UP, -1, -1 }, { - Yandroid_nwB, FALSE, - EL_EMC_ANDROID_LEFT_UP, -1, -1 + Yandroid_nwB, FALSE, + EL_EMC_ANDROID_LEFT_UP, -1, -1 }, { - Xspring, TRUE, - EL_SPRING, -1, -1 + Xspring, TRUE, + EL_SPRING, -1, -1 }, { - Xspring_pause, FALSE, - EL_SPRING, -1, -1 + Xspring_pause, FALSE, + EL_SPRING, -1, -1 }, { - Xspring_e, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + Xspring_e, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT }, { - Xspring_w, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + Xspring_w, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT }, { - Xspring_fall, FALSE, - EL_SPRING, ACTION_FALLING, -1 + Xspring_fall, FALSE, + EL_SPRING, ACTION_FALLING, -1 }, { - Yspring_s, FALSE, - EL_SPRING, ACTION_FALLING, -1 + Yspring_s, FALSE, + EL_SPRING, ACTION_FALLING, -1 }, { - Yspring_sB, FALSE, - EL_SPRING, ACTION_FALLING, -1 + Yspring_sB, FALSE, + EL_SPRING, ACTION_FALLING, -1 }, { - Yspring_e, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + Yspring_e, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT }, { - Yspring_eB, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT + Yspring_eB, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_RIGHT }, { - Yspring_w, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + Yspring_w, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT }, { - Yspring_wB, FALSE, - EL_SPRING, ACTION_MOVING, MV_BIT_LEFT + Yspring_wB, FALSE, + EL_SPRING, ACTION_MOVING, MV_BIT_LEFT }, { - Yspring_kill_e, FALSE, - EL_SPRING, -1, -1 + Yspring_kill_e, FALSE, + EL_SPRING, -1, -1 }, { - Yspring_kill_eB, FALSE, - EL_SPRING, -1, -1 + Yspring_kill_eB, FALSE, + EL_SPRING, -1, -1 }, { - Yspring_kill_w, FALSE, - EL_SPRING, -1, -1 + Yspring_kill_w, FALSE, + EL_SPRING, -1, -1 }, { - Yspring_kill_wB, FALSE, - EL_SPRING, -1, -1 + Yspring_kill_wB, FALSE, + EL_SPRING, -1, -1 }, { - Xeater_n, TRUE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_UP + Xeater_n, TRUE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_UP }, { - Xeater_e, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT + Xeater_e, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT }, { - Xeater_w, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT + Xeater_w, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT }, { - Xeater_s, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN + Xeater_s, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN }, { - Yeater_n, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_UP + Yeater_n, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_UP }, { - Yeater_nB, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_UP + Yeater_nB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_UP }, { - Yeater_e, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT + Yeater_e, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT }, { - Yeater_eB, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT + Yeater_eB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_RIGHT }, { - Yeater_s, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN + Yeater_s, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN }, { - Yeater_sB, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN + Yeater_sB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_DOWN }, { - Yeater_w, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT + Yeater_w, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT }, { - Yeater_wB, FALSE, - EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT + Yeater_wB, FALSE, + EL_YAMYAM, ACTION_MOVING, MV_BIT_LEFT }, { - Yeater_stone, FALSE, - EL_ROCK, -1, -1 + Yeater_stone, FALSE, + EL_ROCK, -1, -1 }, { - Yeater_spring, FALSE, - EL_SPRING, -1, -1 + Yeater_spring, FALSE, + EL_SPRING, -1, -1 }, { - Xalien, TRUE, - EL_ROBOT, -1, -1 + Xalien, TRUE, + EL_ROBOT, -1, -1 }, { - Xalien_pause, FALSE, - EL_ROBOT, -1, -1 + Xalien_pause, FALSE, + EL_ROBOT, -1, -1 }, { - Yalien_n, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_UP + Yalien_n, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_UP }, { - Yalien_nB, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_UP + Yalien_nB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_UP }, { - Yalien_e, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_RIGHT + Yalien_e, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_RIGHT }, { - Yalien_eB, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_RIGHT + Yalien_eB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_RIGHT }, { - Yalien_s, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_DOWN + Yalien_s, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_DOWN }, { - Yalien_sB, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_DOWN + Yalien_sB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_DOWN }, { - Yalien_w, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_LEFT + Yalien_w, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_LEFT }, { - Yalien_wB, FALSE, - EL_ROBOT, ACTION_MOVING, MV_BIT_LEFT + Yalien_wB, FALSE, + EL_ROBOT, ACTION_MOVING, MV_BIT_LEFT }, { - Yalien_stone, FALSE, - EL_ROCK, -1, -1 + Yalien_stone, FALSE, + EL_ROCK, -1, -1 }, { - Yalien_spring, FALSE, - EL_SPRING, -1, -1 + Yalien_spring, FALSE, + EL_SPRING, -1, -1 }, { - Xemerald, TRUE, - EL_EMERALD, -1, -1 + Xemerald, TRUE, + EL_EMERALD, -1, -1 }, { - Xemerald_pause, FALSE, - EL_EMERALD, -1, -1 + Xemerald_pause, FALSE, + EL_EMERALD, -1, -1 }, { - Xemerald_fall, FALSE, - EL_EMERALD, ACTION_FALLING, -1 + Xemerald_fall, FALSE, + EL_EMERALD, ACTION_FALLING, -1 }, { - Xemerald_shine, FALSE, - EL_EMERALD, -1, -1 + Xemerald_shine, FALSE, + EL_EMERALD, -1, -1 }, { - Yemerald_s, FALSE, - EL_EMERALD, ACTION_FALLING, -1 + Yemerald_s, FALSE, + EL_EMERALD, ACTION_FALLING, -1 }, { - Yemerald_sB, FALSE, - EL_EMERALD, ACTION_FALLING, -1 + Yemerald_sB, FALSE, + EL_EMERALD, ACTION_FALLING, -1 }, { - Yemerald_e, FALSE, - EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT + Yemerald_e, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT }, { - Yemerald_eB, FALSE, - EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT + Yemerald_eB, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_RIGHT }, { - Yemerald_w, FALSE, - EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT + Yemerald_w, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT }, { - Yemerald_wB, FALSE, - EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT + Yemerald_wB, FALSE, + EL_EMERALD, ACTION_MOVING, MV_BIT_LEFT }, { - Yemerald_eat, FALSE, - EL_EMERALD, -1, -1 + Yemerald_eat, FALSE, + EL_EMERALD, -1, -1 }, { - Yemerald_stone, FALSE, - EL_ROCK, -1, -1 + Yemerald_stone, FALSE, + EL_ROCK, -1, -1 }, { - Xdiamond, TRUE, - EL_DIAMOND, -1, -1 + Xdiamond, TRUE, + EL_DIAMOND, -1, -1 }, { - Xdiamond_pause, FALSE, - EL_DIAMOND, -1, -1 + Xdiamond_pause, FALSE, + EL_DIAMOND, -1, -1 }, { - Xdiamond_fall, FALSE, - EL_DIAMOND, ACTION_FALLING, -1 + Xdiamond_fall, FALSE, + EL_DIAMOND, ACTION_FALLING, -1 }, { - Xdiamond_shine, FALSE, - EL_DIAMOND, -1, -1 + Xdiamond_shine, FALSE, + EL_DIAMOND, -1, -1 }, { - Ydiamond_s, FALSE, - EL_DIAMOND, ACTION_FALLING, -1 + Ydiamond_s, FALSE, + EL_DIAMOND, ACTION_FALLING, -1 }, { - Ydiamond_sB, FALSE, - EL_DIAMOND, ACTION_FALLING, -1 + Ydiamond_sB, FALSE, + EL_DIAMOND, ACTION_FALLING, -1 }, { - Ydiamond_e, FALSE, - EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT + Ydiamond_e, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT }, { - Ydiamond_eB, FALSE, - EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT + Ydiamond_eB, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_RIGHT }, { - Ydiamond_w, FALSE, - EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT + Ydiamond_w, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT }, { - Ydiamond_wB, FALSE, - EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT + Ydiamond_wB, FALSE, + EL_DIAMOND, ACTION_MOVING, MV_BIT_LEFT }, { - Ydiamond_eat, FALSE, - EL_DIAMOND, -1, -1 + Ydiamond_eat, FALSE, + EL_DIAMOND, -1, -1 }, { - Ydiamond_stone, FALSE, - EL_ROCK, -1, -1 + Ydiamond_stone, FALSE, + EL_ROCK, -1, -1 }, { - Xdrip_fall, TRUE, - EL_AMOEBA_DROP, ACTION_FALLING, -1 + Xdrip_fall, TRUE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 }, { - Xdrip_stretch, FALSE, - EL_AMOEBA_DROP, -1, -1 + Xdrip_stretch, FALSE, + EL_AMOEBA_DROP, -1, -1 }, { - Xdrip_stretchB, FALSE, - EL_AMOEBA_DROP, -1, -1 + Xdrip_stretchB, FALSE, + EL_AMOEBA_DROP, -1, -1 }, { - Xdrip_eat, FALSE, - EL_AMOEBA_DROP, -1, -1 + Xdrip_eat, FALSE, + EL_AMOEBA_DROP, -1, -1 }, { - Ydrip_s1, FALSE, - EL_AMOEBA_DROP, ACTION_FALLING, -1 + Ydrip_s1, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 }, { - Ydrip_s1B, FALSE, - EL_AMOEBA_DROP, ACTION_FALLING, -1 + Ydrip_s1B, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 }, { - Ydrip_s2, FALSE, - EL_AMOEBA_DROP, ACTION_FALLING, -1 + Ydrip_s2, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 }, { - Ydrip_s2B, FALSE, - EL_AMOEBA_DROP, ACTION_FALLING, -1 + Ydrip_s2B, FALSE, + EL_AMOEBA_DROP, ACTION_FALLING, -1 }, { - Xbomb, TRUE, - EL_BOMB, -1, -1 + Xbomb, TRUE, + EL_BOMB, -1, -1 }, { - Xbomb_pause, FALSE, - EL_BOMB, -1, -1 + Xbomb_pause, FALSE, + EL_BOMB, -1, -1 }, { - Xbomb_fall, FALSE, - EL_BOMB, ACTION_FALLING, -1 + Xbomb_fall, FALSE, + EL_BOMB, ACTION_FALLING, -1 }, { - Ybomb_s, FALSE, - EL_BOMB, ACTION_FALLING, -1 + Ybomb_s, FALSE, + EL_BOMB, ACTION_FALLING, -1 }, { - Ybomb_sB, FALSE, - EL_BOMB, ACTION_FALLING, -1 + Ybomb_sB, FALSE, + EL_BOMB, ACTION_FALLING, -1 }, { - Ybomb_e, FALSE, - EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT + Ybomb_e, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT }, { - Ybomb_eB, FALSE, - EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT + Ybomb_eB, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_RIGHT }, { - Ybomb_w, FALSE, - EL_BOMB, ACTION_MOVING, MV_BIT_LEFT + Ybomb_w, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_LEFT }, { - Ybomb_wB, FALSE, - EL_BOMB, ACTION_MOVING, MV_BIT_LEFT + Ybomb_wB, FALSE, + EL_BOMB, ACTION_MOVING, MV_BIT_LEFT }, { - Ybomb_eat, FALSE, - EL_BOMB, -1, -1 + Ybomb_eat, FALSE, + EL_BOMB, -1, -1 }, { - Xballoon, TRUE, - EL_BALLOON, -1, -1 + Xballoon, TRUE, + EL_BALLOON, -1, -1 }, { - Yballoon_n, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_UP + Yballoon_n, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_UP }, { - Yballoon_nB, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_UP + Yballoon_nB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_UP }, { - Yballoon_e, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_RIGHT + Yballoon_e, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_RIGHT }, { - Yballoon_eB, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_RIGHT + Yballoon_eB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_RIGHT }, { - Yballoon_s, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_DOWN + Yballoon_s, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_DOWN }, { - Yballoon_sB, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_DOWN + Yballoon_sB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_DOWN }, { - Yballoon_w, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_LEFT + Yballoon_w, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_LEFT }, { - Yballoon_wB, FALSE, - EL_BALLOON, ACTION_MOVING, MV_BIT_LEFT + Yballoon_wB, FALSE, + EL_BALLOON, ACTION_MOVING, MV_BIT_LEFT }, { - Xgrass, TRUE, - EL_SAND, -1, -1 + Xgrass, TRUE, + EL_SAND, -1, -1 }, { - Ygrass_nB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_UP + Ygrass_nB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_UP }, { - Ygrass_eB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_RIGHT + Ygrass_eB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_RIGHT }, { - Ygrass_sB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_DOWN + Ygrass_sB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_DOWN }, { - Ygrass_wB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_LEFT + Ygrass_wB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_LEFT }, { - Xdirt, TRUE, - EL_SAND, -1, -1 + Xdirt, TRUE, + EL_SAND, -1, -1 }, { - Ydirt_nB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_UP + Ydirt_nB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_UP }, { - Ydirt_eB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_RIGHT + Ydirt_eB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_RIGHT }, { - Ydirt_sB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_DOWN + Ydirt_sB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_DOWN }, { - Ydirt_wB, FALSE, - EL_SAND, ACTION_MOVING, MV_BIT_LEFT + Ydirt_wB, FALSE, + EL_SAND, ACTION_MOVING, MV_BIT_LEFT }, { - Xacid_ne, TRUE, - EL_ACID_POOL_TOPRIGHT, -1, -1 + Xacid_ne, TRUE, + EL_ACID_POOL_TOPRIGHT, -1, -1 }, { - Xacid_se, TRUE, - EL_ACID_POOL_BOTTOMRIGHT, -1, -1 + Xacid_se, TRUE, + EL_ACID_POOL_BOTTOMRIGHT, -1, -1 }, { - Xacid_s, TRUE, - EL_ACID_POOL_BOTTOM, -1, -1 + Xacid_s, TRUE, + EL_ACID_POOL_BOTTOM, -1, -1 }, { - Xacid_sw, TRUE, - EL_ACID_POOL_BOTTOMLEFT, -1, -1 + Xacid_sw, TRUE, + EL_ACID_POOL_BOTTOMLEFT, -1, -1 }, { - Xacid_nw, TRUE, - EL_ACID_POOL_TOPLEFT, -1, -1 + Xacid_nw, TRUE, + EL_ACID_POOL_TOPLEFT, -1, -1 }, { - Xacid_1, TRUE, - EL_ACID, -1, -1 + Xacid_1, TRUE, + EL_ACID, -1, -1 }, { - Xacid_2, FALSE, - EL_ACID, -1, -1 + Xacid_2, FALSE, + EL_ACID, -1, -1 }, { - Xacid_3, FALSE, - EL_ACID, -1, -1 + Xacid_3, FALSE, + EL_ACID, -1, -1 }, { - Xacid_4, FALSE, - EL_ACID, -1, -1 + Xacid_4, FALSE, + EL_ACID, -1, -1 }, { - Xacid_5, FALSE, - EL_ACID, -1, -1 + Xacid_5, FALSE, + EL_ACID, -1, -1 }, { - Xacid_6, FALSE, - EL_ACID, -1, -1 + Xacid_6, FALSE, + EL_ACID, -1, -1 }, { - Xacid_7, FALSE, - EL_ACID, -1, -1 + Xacid_7, FALSE, + EL_ACID, -1, -1 }, { - Xacid_8, FALSE, - EL_ACID, -1, -1 + Xacid_8, FALSE, + EL_ACID, -1, -1 }, { - Xball_1, TRUE, - EL_EMC_GENERATOR_BALL, -1, -1 + Xball_1, TRUE, + EL_EMC_GENERATOR_BALL, -1, -1 }, { - Xball_1B, FALSE, - EL_EMC_GENERATOR_BALL, -1, -1 + Xball_1B, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 }, { - Xball_2, FALSE, - EL_EMC_GENERATOR_BALL, -1, -1 + Xball_2, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 }, { - Xball_2B, FALSE, - EL_EMC_GENERATOR_BALL, -1, -1 + Xball_2B, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 }, { - Yball_eat, FALSE, - EL_EMC_GENERATOR_BALL, -1, -1 + Yball_eat, FALSE, + EL_EMC_GENERATOR_BALL, -1, -1 }, { - Xgrow_ns, TRUE, - EL_EMC_GROW, -1, -1 + Xgrow_ns, TRUE, + EL_EXPANDABLE_WALL_VERTICAL, -1, -1 }, { - Ygrow_ns_eat, FALSE, - EL_EMC_GROW, -1, -1 + Ygrow_ns_eat, FALSE, + EL_EXPANDABLE_WALL_VERTICAL, -1, -1 }, { - Xgrow_ew, FALSE, - EL_EMC_GROW, -1, -1 + Xgrow_ew, TRUE, + EL_EXPANDABLE_WALL_HORIZONTAL, -1, -1 }, { - Ygrow_ew_eat, FALSE, - EL_EMC_GROW, -1, -1 + Ygrow_ew_eat, FALSE, + EL_EXPANDABLE_WALL_HORIZONTAL, -1, -1 }, { - Xwonderwall, TRUE, - EL_MAGIC_WALL, -1, -1 + Xwonderwall, TRUE, + EL_MAGIC_WALL, -1, -1 }, { - XwonderwallB, FALSE, - EL_MAGIC_WALL, -1, -1 + XwonderwallB, FALSE, + EL_MAGIC_WALL, -1, -1 }, { - Xamoeba_1, TRUE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_1, TRUE, + EL_AMOEBA_WET, -1, -1 }, { - Xamoeba_2, FALSE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_2, FALSE, + EL_AMOEBA_WET, -1, -1 }, { - Xamoeba_3, FALSE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_3, FALSE, + EL_AMOEBA_WET, -1, -1 }, { - Xamoeba_4, FALSE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_4, FALSE, + EL_AMOEBA_WET, -1, -1 }, { - Xamoeba_5, FALSE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_5, FALSE, + EL_AMOEBA_WET, -1, -1 }, { - Xamoeba_6, FALSE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_6, FALSE, + EL_AMOEBA_WET, -1, -1 }, { - Xamoeba_7, FALSE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_7, FALSE, + EL_AMOEBA_WET, -1, -1 }, { - Xamoeba_8, FALSE, - EL_AMOEBA_WET, -1, -1 + Xamoeba_8, FALSE, + EL_AMOEBA_WET, -1, -1 }, { - Xdoor_1, TRUE, - EL_EM_GATE_1, -1, -1 + Xdoor_1, TRUE, + EL_EM_GATE_1, -1, -1 }, { - Xdoor_2, TRUE, - EL_EM_GATE_2, -1, -1 + Xdoor_2, TRUE, + EL_EM_GATE_2, -1, -1 }, { - Xdoor_3, TRUE, - EL_EM_GATE_3, -1, -1 + Xdoor_3, TRUE, + EL_EM_GATE_3, -1, -1 }, { - Xdoor_4, TRUE, - EL_EM_GATE_4, -1, -1 + Xdoor_4, TRUE, + EL_EM_GATE_4, -1, -1 }, { - Xdoor_5, TRUE, - EL_EMC_GATE_5, -1, -1 + Xdoor_5, TRUE, + EL_EMC_GATE_5, -1, -1 }, { - Xdoor_6, TRUE, - EL_EMC_GATE_6, -1, -1 + Xdoor_6, TRUE, + EL_EMC_GATE_6, -1, -1 }, { - Xdoor_7, TRUE, - EL_EMC_GATE_7, -1, -1 + Xdoor_7, TRUE, + EL_EMC_GATE_7, -1, -1 }, { - Xdoor_8, TRUE, - EL_EMC_GATE_8, -1, -1 + Xdoor_8, TRUE, + EL_EMC_GATE_8, -1, -1 }, { - Xkey_1, TRUE, - EL_EM_KEY_1, -1, -1 + Xkey_1, TRUE, + EL_EM_KEY_1, -1, -1 }, { - Xkey_2, TRUE, - EL_EM_KEY_2, -1, -1 + Xkey_2, TRUE, + EL_EM_KEY_2, -1, -1 }, { - Xkey_3, TRUE, - EL_EM_KEY_3, -1, -1 + Xkey_3, TRUE, + EL_EM_KEY_3, -1, -1 }, { - Xkey_4, TRUE, - EL_EM_KEY_4, -1, -1 + Xkey_4, TRUE, + EL_EM_KEY_4, -1, -1 }, { - Xkey_5, TRUE, - EL_EMC_KEY_5, -1, -1 + Xkey_5, TRUE, + EL_EMC_KEY_5, -1, -1 }, { - Xkey_6, TRUE, - EL_EMC_KEY_6, -1, -1 + Xkey_6, TRUE, + EL_EMC_KEY_6, -1, -1 }, { - Xkey_7, TRUE, - EL_EMC_KEY_7, -1, -1 + Xkey_7, TRUE, + EL_EMC_KEY_7, -1, -1 }, { - Xkey_8, TRUE, - EL_EMC_KEY_8, -1, -1 + Xkey_8, TRUE, + EL_EMC_KEY_8, -1, -1 }, { - Xwind_n, TRUE, - EL_BALLOON_SWITCH_UP, -1, -1 + Xwind_n, TRUE, + EL_BALLOON_SWITCH_UP, -1, -1 }, { - Xwind_e, TRUE, - EL_BALLOON_SWITCH_RIGHT, -1, -1 + Xwind_e, TRUE, + EL_BALLOON_SWITCH_RIGHT, -1, -1 }, { - Xwind_s, TRUE, - EL_BALLOON_SWITCH_DOWN, -1, -1 + Xwind_s, TRUE, + EL_BALLOON_SWITCH_DOWN, -1, -1 }, { - Xwind_w, TRUE, - EL_BALLOON_SWITCH_LEFT, -1, -1 + Xwind_w, TRUE, + EL_BALLOON_SWITCH_LEFT, -1, -1 }, { - Xwind_nesw, TRUE, - EL_BALLOON_SWITCH_ANY, -1, -1 + Xwind_nesw, TRUE, + EL_BALLOON_SWITCH_ANY, -1, -1 }, { - Xwind_stop, TRUE, - EL_BALLOON_SWITCH_NONE, -1, -1 + Xwind_stop, TRUE, + EL_BALLOON_SWITCH_NONE, -1, -1 }, { - Xexit, TRUE, - EL_EXIT_CLOSED, -1, -1 + Xexit, TRUE, + EL_EXIT_CLOSED, -1, -1 }, { - Xexit_1, TRUE, - EL_EXIT_OPEN, -1, -1 + Xexit_1, TRUE, + EL_EXIT_OPEN, -1, -1 }, { - Xexit_2, FALSE, - EL_EXIT_OPEN, -1, -1 + Xexit_2, FALSE, + EL_EXIT_OPEN, -1, -1 }, { - Xexit_3, FALSE, - EL_EXIT_OPEN, -1, -1 + Xexit_3, FALSE, + EL_EXIT_OPEN, -1, -1 }, { - Xdynamite, TRUE, - EL_DYNAMITE, -1, -1 + Xdynamite, TRUE, + EL_DYNAMITE, -1, -1 }, { - Ydynamite_eat, FALSE, - EL_DYNAMITE, -1, -1 + Ydynamite_eat, FALSE, + EL_DYNAMITE, -1, -1 }, { - Xdynamite_1, TRUE, - EL_DYNAMITE_ACTIVE, -1, -1 + Xdynamite_1, TRUE, + EL_DYNAMITE_ACTIVE, -1, -1 }, { - Xdynamite_2, FALSE, - EL_DYNAMITE_ACTIVE, -1, -1 + Xdynamite_2, FALSE, + EL_DYNAMITE_ACTIVE, -1, -1 }, { - Xdynamite_3, FALSE, - EL_DYNAMITE_ACTIVE, -1, -1 + Xdynamite_3, FALSE, + EL_DYNAMITE_ACTIVE, -1, -1 }, { - Xdynamite_4, FALSE, - EL_DYNAMITE_ACTIVE, -1, -1 + Xdynamite_4, FALSE, + EL_DYNAMITE_ACTIVE, -1, -1 }, { - Xbumper, TRUE, - EL_EMC_BUMPER, -1, -1 + Xbumper, TRUE, + EL_EMC_BUMPER, -1, -1 }, { - XbumperB, FALSE, - EL_EMC_BUMPER, -1, -1 + XbumperB, FALSE, + EL_EMC_BUMPER, -1, -1 }, { - Xwheel, TRUE, - EL_ROBOT_WHEEL, -1, -1 + Xwheel, TRUE, + EL_ROBOT_WHEEL, -1, -1 }, { - XwheelB, FALSE, - EL_ROBOT_WHEEL, -1, -1 + XwheelB, FALSE, + EL_ROBOT_WHEEL, -1, -1 }, { - Xswitch, FALSE, - EL_UNKNOWN, -1, -1 + Xswitch, FALSE, + EL_UNKNOWN, -1, -1 }, { - XswitchB, FALSE, - EL_UNKNOWN, -1, -1 + XswitchB, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xsand, TRUE, - EL_QUICKSAND_EMPTY, -1, -1 + Xsand, TRUE, + EL_QUICKSAND_EMPTY, -1, -1 }, { - Xsand_stone, TRUE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stone, TRUE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonein_1, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonein_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonein_2, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonein_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonein_3, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonein_3, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonein_4, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonein_4, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonesand_1, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonesand_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonesand_2, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonesand_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonesand_3, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonesand_3, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stonesand_4, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stonesand_4, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stoneout_1, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stoneout_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_stoneout_2, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_stoneout_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_sandstone_1, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_sandstone_1, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_sandstone_2, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_sandstone_2, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_sandstone_3, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_sandstone_3, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xsand_sandstone_4, FALSE, - EL_QUICKSAND_FULL, -1, -1 + Xsand_sandstone_4, FALSE, + EL_QUICKSAND_FULL, -1, -1 }, { - Xplant, TRUE, - EL_EMC_PLANT, -1, -1 + Xplant, TRUE, + EL_EMC_PLANT, -1, -1 }, { - Yplant, FALSE, - EL_EMC_PLANT, -1, -1 + Yplant, FALSE, + EL_EMC_PLANT, -1, -1 }, { - Xlenses, TRUE, - EL_EMC_LENSES, -1, -1 + Xlenses, TRUE, + EL_EMC_LENSES, -1, -1 }, { - Xmagnify, TRUE, - EL_EMC_MAGNIFIER, -1, -1 + Xmagnify, TRUE, + EL_EMC_MAGNIFIER, -1, -1 }, { - Xdripper, FALSE, - EL_UNKNOWN, -1, -1 + Xdripper, FALSE, + EL_UNKNOWN, -1, -1 }, { - XdripperB, FALSE, - EL_UNKNOWN, -1, -1 + XdripperB, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xfake_blank, TRUE, - EL_INVISIBLE_WALL, -1, -1 + Xfake_blank, TRUE, + EL_INVISIBLE_WALL, -1, -1 }, { - Xfake_blankB, FALSE, - EL_INVISIBLE_WALL, -1, -1 + Xfake_blankB, FALSE, + EL_INVISIBLE_WALL, -1, -1 }, { - Xfake_grass, TRUE, - EL_INVISIBLE_SAND, -1, -1 + Xfake_grass, TRUE, + EL_INVISIBLE_SAND, -1, -1 }, { - Xfake_grassB, FALSE, - EL_INVISIBLE_SAND, -1, -1 + Xfake_grassB, FALSE, + EL_INVISIBLE_SAND, -1, -1 }, { - Xfake_door_1, TRUE, - EL_EM_GATE_1_GRAY, -1, -1 + Xfake_door_1, TRUE, + EL_EM_GATE_1_GRAY, -1, -1 }, { - Xfake_door_2, TRUE, - EL_EM_GATE_2_GRAY, -1, -1 + Xfake_door_2, TRUE, + EL_EM_GATE_2_GRAY, -1, -1 }, { - Xfake_door_3, TRUE, - EL_EM_GATE_3_GRAY, -1, -1 + Xfake_door_3, TRUE, + EL_EM_GATE_3_GRAY, -1, -1 }, { - Xfake_door_4, TRUE, - EL_EM_GATE_4_GRAY, -1, -1 + Xfake_door_4, TRUE, + EL_EM_GATE_4_GRAY, -1, -1 }, { - Xfake_door_5, TRUE, - EL_EMC_GATE_5_GRAY, -1, -1 + Xfake_door_5, TRUE, + EL_EMC_GATE_5_GRAY, -1, -1 }, { - Xfake_door_6, TRUE, - EL_EMC_GATE_6_GRAY, -1, -1 + Xfake_door_6, TRUE, + EL_EMC_GATE_6_GRAY, -1, -1 }, { - Xfake_door_7, TRUE, - EL_EMC_GATE_7_GRAY, -1, -1 + Xfake_door_7, TRUE, + EL_EMC_GATE_7_GRAY, -1, -1 }, { - Xfake_door_8, TRUE, - EL_EMC_GATE_8_GRAY, -1, -1 + Xfake_door_8, TRUE, + EL_EMC_GATE_8_GRAY, -1, -1 }, { - Xsteel_1, TRUE, - EL_STEELWALL, -1, -1 + Xsteel_1, TRUE, + EL_STEELWALL, -1, -1 }, { - Xsteel_2, FALSE, - EL_UNKNOWN, -1, -1 + Xsteel_2, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xsteel_3, TRUE, - EL_EMC_STEELWALL_1, -1, -1 + Xsteel_3, TRUE, + EL_EMC_STEELWALL_1, -1, -1 }, { - Xsteel_4, FALSE, - EL_UNKNOWN, -1, -1 + Xsteel_4, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xwall_1, TRUE, - EL_WALL, -1, -1 + Xwall_1, TRUE, + EL_WALL, -1, -1 }, { - Xwall_2, FALSE, - EL_UNKNOWN, -1, -1 + Xwall_2, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xwall_3, FALSE, - EL_UNKNOWN, -1, -1 + Xwall_3, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xwall_4, FALSE, - EL_UNKNOWN, -1, -1 + Xwall_4, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xround_wall_1, TRUE, - EL_WALL_SLIPPERY, -1, -1 + Xround_wall_1, TRUE, + EL_WALL_SLIPPERY, -1, -1 }, { - Xround_wall_2, FALSE, - EL_UNKNOWN, -1, -1 + Xround_wall_2, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xround_wall_3, FALSE, - EL_UNKNOWN, -1, -1 + Xround_wall_3, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xround_wall_4, FALSE, - EL_UNKNOWN, -1, -1 + Xround_wall_4, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xdecor_1, FALSE, - EL_UNKNOWN, -1, -1 + Xdecor_1, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xdecor_2, TRUE, - EL_EMC_WALL_6, -1, -1 + Xdecor_2, TRUE, + EL_EMC_WALL_6, -1, -1 }, { - Xdecor_3, TRUE, - EL_EMC_WALL_4, -1, -1 + Xdecor_3, TRUE, + EL_EMC_WALL_4, -1, -1 }, { - Xdecor_4, TRUE, - EL_EMC_WALL_5, -1, -1 + Xdecor_4, TRUE, + EL_EMC_WALL_5, -1, -1 }, { - Xdecor_5, TRUE, - EL_EMC_WALL_7, -1, -1 + Xdecor_5, TRUE, + EL_EMC_WALL_7, -1, -1 }, { - Xdecor_6, TRUE, - EL_EMC_WALL_8, -1, -1 + Xdecor_6, TRUE, + EL_EMC_WALL_8, -1, -1 }, { - Xdecor_7, FALSE, - EL_UNKNOWN, -1, -1 + Xdecor_7, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xdecor_8, TRUE, - EL_EMC_WALL_1, -1, -1 + Xdecor_8, TRUE, + EL_EMC_WALL_1, -1, -1 }, { - Xdecor_9, TRUE, - EL_EMC_WALL_2, -1, -1 + Xdecor_9, TRUE, + EL_EMC_WALL_2, -1, -1 }, { - Xdecor_10, TRUE, - EL_EMC_WALL_3, -1, -1 + Xdecor_10, TRUE, + EL_EMC_WALL_3, -1, -1 }, { - Xdecor_11, FALSE, - EL_UNKNOWN, -1, -1 + Xdecor_11, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xdecor_12, FALSE, - EL_UNKNOWN, -1, -1 + Xdecor_12, FALSE, + EL_UNKNOWN, -1, -1 }, { - Xalpha_0, TRUE, - EL_CHAR('0'), -1, -1 + Xalpha_0, TRUE, + EL_CHAR('0'), -1, -1 }, { - Xalpha_1, TRUE, - EL_CHAR('1'), -1, -1 + Xalpha_1, TRUE, + EL_CHAR('1'), -1, -1 }, { - Xalpha_2, TRUE, - EL_CHAR('2'), -1, -1 + Xalpha_2, TRUE, + EL_CHAR('2'), -1, -1 }, { - Xalpha_3, TRUE, - EL_CHAR('3'), -1, -1 + Xalpha_3, TRUE, + EL_CHAR('3'), -1, -1 }, { - Xalpha_4, TRUE, - EL_CHAR('4'), -1, -1 + Xalpha_4, TRUE, + EL_CHAR('4'), -1, -1 }, { - Xalpha_5, TRUE, - EL_CHAR('5'), -1, -1 + Xalpha_5, TRUE, + EL_CHAR('5'), -1, -1 }, { - Xalpha_6, TRUE, - EL_CHAR('6'), -1, -1 + Xalpha_6, TRUE, + EL_CHAR('6'), -1, -1 }, { - Xalpha_7, TRUE, - EL_CHAR('7'), -1, -1 + Xalpha_7, TRUE, + EL_CHAR('7'), -1, -1 }, { - Xalpha_8, TRUE, - EL_CHAR('8'), -1, -1 + Xalpha_8, TRUE, + EL_CHAR('8'), -1, -1 }, { - Xalpha_9, TRUE, - EL_CHAR('9'), -1, -1 + Xalpha_9, TRUE, + EL_CHAR('9'), -1, -1 }, { - Xalpha_excla, TRUE, - EL_CHAR('!'), -1, -1 + Xalpha_excla, TRUE, + EL_CHAR('!'), -1, -1 }, { - Xalpha_quote, TRUE, - EL_CHAR('"'), -1, -1 + Xalpha_quote, TRUE, + EL_CHAR('"'), -1, -1 }, { - Xalpha_comma, TRUE, - EL_CHAR(','), -1, -1 + Xalpha_comma, TRUE, + EL_CHAR(','), -1, -1 }, { - Xalpha_minus, TRUE, - EL_CHAR('-'), -1, -1 + Xalpha_minus, TRUE, + EL_CHAR('-'), -1, -1 }, { - Xalpha_perio, TRUE, - EL_CHAR('.'), -1, -1 + Xalpha_perio, TRUE, + EL_CHAR('.'), -1, -1 }, { - Xalpha_colon, TRUE, - EL_CHAR(':'), -1, -1 + Xalpha_colon, TRUE, + EL_CHAR(':'), -1, -1 }, { - Xalpha_quest, TRUE, - EL_CHAR('?'), -1, -1 + Xalpha_quest, TRUE, + EL_CHAR('?'), -1, -1 }, { - Xalpha_a, TRUE, - EL_CHAR('A'), -1, -1 + Xalpha_a, TRUE, + EL_CHAR('A'), -1, -1 }, { - Xalpha_b, TRUE, - EL_CHAR('B'), -1, -1 + Xalpha_b, TRUE, + EL_CHAR('B'), -1, -1 }, { - Xalpha_c, TRUE, - EL_CHAR('C'), -1, -1 + Xalpha_c, TRUE, + EL_CHAR('C'), -1, -1 }, { - Xalpha_d, TRUE, - EL_CHAR('D'), -1, -1 + Xalpha_d, TRUE, + EL_CHAR('D'), -1, -1 }, { - Xalpha_e, TRUE, - EL_CHAR('E'), -1, -1 + Xalpha_e, TRUE, + EL_CHAR('E'), -1, -1 }, { - Xalpha_f, TRUE, - EL_CHAR('F'), -1, -1 + Xalpha_f, TRUE, + EL_CHAR('F'), -1, -1 }, { - Xalpha_g, TRUE, - EL_CHAR('G'), -1, -1 + Xalpha_g, TRUE, + EL_CHAR('G'), -1, -1 }, { - Xalpha_h, TRUE, - EL_CHAR('H'), -1, -1 + Xalpha_h, TRUE, + EL_CHAR('H'), -1, -1 }, { - Xalpha_i, TRUE, - EL_CHAR('I'), -1, -1 + Xalpha_i, TRUE, + EL_CHAR('I'), -1, -1 }, { - Xalpha_j, TRUE, - EL_CHAR('J'), -1, -1 + Xalpha_j, TRUE, + EL_CHAR('J'), -1, -1 }, { - Xalpha_k, TRUE, - EL_CHAR('K'), -1, -1 + Xalpha_k, TRUE, + EL_CHAR('K'), -1, -1 }, { - Xalpha_l, TRUE, - EL_CHAR('L'), -1, -1 + Xalpha_l, TRUE, + EL_CHAR('L'), -1, -1 }, { - Xalpha_m, TRUE, - EL_CHAR('M'), -1, -1 + Xalpha_m, TRUE, + EL_CHAR('M'), -1, -1 }, { - Xalpha_n, TRUE, - EL_CHAR('N'), -1, -1 + Xalpha_n, TRUE, + EL_CHAR('N'), -1, -1 }, { - Xalpha_o, TRUE, - EL_CHAR('O'), -1, -1 + Xalpha_o, TRUE, + EL_CHAR('O'), -1, -1 }, { - Xalpha_p, TRUE, - EL_CHAR('P'), -1, -1 + Xalpha_p, TRUE, + EL_CHAR('P'), -1, -1 }, { - Xalpha_q, TRUE, - EL_CHAR('Q'), -1, -1 + Xalpha_q, TRUE, + EL_CHAR('Q'), -1, -1 }, { - Xalpha_r, TRUE, - EL_CHAR('R'), -1, -1 + Xalpha_r, TRUE, + EL_CHAR('R'), -1, -1 }, { - Xalpha_s, TRUE, - EL_CHAR('S'), -1, -1 + Xalpha_s, TRUE, + EL_CHAR('S'), -1, -1 }, { - Xalpha_t, TRUE, - EL_CHAR('T'), -1, -1 + Xalpha_t, TRUE, + EL_CHAR('T'), -1, -1 }, { - Xalpha_u, TRUE, - EL_CHAR('U'), -1, -1 + Xalpha_u, TRUE, + EL_CHAR('U'), -1, -1 }, { - Xalpha_v, TRUE, - EL_CHAR('V'), -1, -1 + Xalpha_v, TRUE, + EL_CHAR('V'), -1, -1 }, { - Xalpha_w, TRUE, - EL_CHAR('W'), -1, -1 + Xalpha_w, TRUE, + EL_CHAR('W'), -1, -1 }, { - Xalpha_x, TRUE, - EL_CHAR('X'), -1, -1 + Xalpha_x, TRUE, + EL_CHAR('X'), -1, -1 }, { - Xalpha_y, TRUE, - EL_CHAR('Y'), -1, -1 + Xalpha_y, TRUE, + EL_CHAR('Y'), -1, -1 }, { - Xalpha_z, TRUE, - EL_CHAR('Z'), -1, -1 + Xalpha_z, TRUE, + EL_CHAR('Z'), -1, -1 }, { - Xalpha_arrow_e, TRUE, - EL_CHAR('>'), -1, -1 + Xalpha_arrow_e, TRUE, + EL_CHAR('>'), -1, -1 }, { - Xalpha_arrow_w, TRUE, - EL_CHAR('<'), -1, -1 + Xalpha_arrow_w, TRUE, + EL_CHAR('<'), -1, -1 }, { - Xalpha_copyr, TRUE, - EL_CHAR('©'), -1, -1 + Xalpha_copyr, TRUE, + EL_CHAR('©'), -1, -1 }, { - Zplayer, TRUE, - EL_PLAYER_1, -1, -1 + Zplayer, TRUE, + EL_PLAYER_1, -1, -1 }, { - ZBORDER, TRUE, - EL_EMC_LEVEL_BORDER, -1, -1 + ZBORDER, TRUE, + EL_EMC_LEVEL_BORDER, -1, -1 }, { - -1, FALSE, - -1, -1, -1 + -1, FALSE, + -1, -1, -1 } }; -- 2.34.1