X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Ftab_generate.c;h=8a3f731ad55ccf0549658b5d326fde7ba2796784;hb=1fcb3ddbb8404effdcfa5ebbd53d3ff5009260f6;hp=7ed460c08fd0fc1ed7c326ca952394c473260b23;hpb=3efd775191c8182a1980b110461ad2a359fb0d27;p=rocksndiamonds.git diff --git a/src/game_em/tab_generate.c b/src/game_em/tab_generate.c index 7ed460c0..8a3f731a 100644 --- a/src/game_em/tab_generate.c +++ b/src/game_em/tab_generate.c @@ -11,11 +11,10 @@ * modify. */ -#include "tile.h" -#include "display.h" +#include "main_em.h" -/* ---------------------------------------------------------------------- */ +/* ------------------------------------------------------------------------- */ /* 0=stop 1=blank */ int tile_blank[] = @@ -69,7 +68,8 @@ int tile_android_move[] = TILE_MAX }; -/* ---------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------- */ /* explosions: special format */ /* everything is initially filled with Xboom_1 */ @@ -152,7 +152,8 @@ int tile_explode[] = TILE_MAX /* up until here are dynamite explosions */ }; -/* ---------------------------------------------------------------------- */ + +/* ------------------------------------------------------------------------- */ /* map the graphics file to internal tiles and animations * @@ -4435,7 +4436,7 @@ unsigned short map_ttl[128]; struct GraphicInfo_EM graphic_info_em_object[TILE_MAX][8]; /* map player number, frames and action to graphic info */ -struct GraphicInfo_EM graphic_info_em_player[2][SPR_MAX][8]; +struct GraphicInfo_EM graphic_info_em_player[MAX_PLAYERS][SPR_MAX][8]; void create_tab(int *invert, unsigned char *array) { @@ -4602,12 +4603,14 @@ void create_obj_graphics_info_em() g->width = TILEX; g->height = TILEY; - g->has_crumbled_graphics = FALSE; g->crumbled_bitmap = NULL; g->crumbled_src_x = 0; g->crumbled_src_y = 0; g->crumbled_border_size = 0; + g->has_crumbled_graphics = FALSE; + g->preserve_background = FALSE; + /* create unique graphic identifier to decide if tile must be redrawn */ g->unique_identifier = obj; } @@ -4639,14 +4642,14 @@ void create_spr_graphics_info_em() { int i, j, k; - for (i = 0; i < 2; i++) + for (i = 0; i < MAX_PLAYERS; i++) { for (j = 0; j < SPR_MAX; j++) { for (k = 0; k < 8; k++) { struct GraphicInfo_EM *g = &graphic_info_em_player[i][j][k]; - int spr = map_spr[i][k][j]; + int spr = map_spr[i % 2][k][j]; g->bitmap = sprBitmap; g->src_x = (spr / 8) * TILEX;