projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20140818-1-src
[rocksndiamonds.git]
/
src
/
tools.c
diff --git
a/src/tools.c
b/src/tools.c
index 62cd26a8d9ebaeb2c4f1065d8361cdb7848c073f..66796da98780e401a25d3c90a10a152e2f5a70a9 100644
(file)
--- a/
src/tools.c
+++ b/
src/tools.c
@@
-300,17
+300,17
@@
void SetDrawtoField(int mode)
static void RedrawPlayfield_RND()
{
static void RedrawPlayfield_RND()
{
- int x, y;
-
if (game.envelope_active)
return;
if (game.envelope_active)
return;
-#if
0
- DrawLevel();
+#if
1
+ DrawLevel(
REDRAW_ALL
);
#else
#else
+ int x, y;
SetMainBackgroundImage(IMG_BACKGROUND_PLAYING);
// SetDrawBackgroundMask(REDRAW_FIELD); // !!! CHECK THIS !!!
SetMainBackgroundImage(IMG_BACKGROUND_PLAYING);
// SetDrawBackgroundMask(REDRAW_FIELD); // !!! CHECK THIS !!!
+ SetDrawBackgroundMask(REDRAW_ALL); // !!! CHECK THIS !!!
for (x = BX1; x <= BX2; x++)
for (y = BY1; y <= BY2; y++)
for (x = BX1; x <= BX2; x++)
for (y = BY1; y <= BY2; y++)
@@
-1587,6
+1587,7
@@
inline void getGraphicSourceExt(int graphic, int frame, Bitmap **bitmap,
int src_y = g->src_y + (get_backside ? g->offset2_y : 0);
#if NEW_TILESIZE
int src_y = g->src_y + (get_backside ? g->offset2_y : 0);
#if NEW_TILESIZE
+
if (TILESIZE_VAR != TILESIZE)
return getSizedGraphicSourceExt(graphic, frame, TILESIZE_VAR, bitmap, x, y,
get_backside);
if (TILESIZE_VAR != TILESIZE)
return getSizedGraphicSourceExt(graphic, frame, TILESIZE_VAR, bitmap, x, y,
get_backside);
@@
-3513,15
+3514,20
@@
void DrawPreviewElement(int dst_x, int dst_y, int element, int tilesize)
BlitBitmap(src_bitmap, drawto, src_x, src_y, tilesize, tilesize, dst_x,dst_y);
}
BlitBitmap(src_bitmap, drawto, src_x, src_y, tilesize, tilesize, dst_x,dst_y);
}
-void DrawLevel()
+void DrawLevel(
int draw_background_mask
)
{
int x,y;
{
int x,y;
+#if 1
+ SetMainBackgroundImage(IMG_BACKGROUND_PLAYING);
+ SetDrawBackgroundMask(draw_background_mask);
+#else
#if 1
SetMainBackgroundImage(IMG_BACKGROUND_PLAYING);
SetDrawBackgroundMask(REDRAW_FIELD);
#else
SetDrawBackgroundMask(REDRAW_NONE);
#if 1
SetMainBackgroundImage(IMG_BACKGROUND_PLAYING);
SetDrawBackgroundMask(REDRAW_FIELD);
#else
SetDrawBackgroundMask(REDRAW_NONE);
+#endif
#endif
ClearField();
#endif
ClearField();
@@
-11493,6
+11499,7
@@
void ChangeViewportPropertiesIfNeeded()
boolean init_gfx_buffers = FALSE;
boolean init_video_buffer = FALSE;
boolean init_gadgets_and_toons = FALSE;
boolean init_gfx_buffers = FALSE;
boolean init_video_buffer = FALSE;
boolean init_gadgets_and_toons = FALSE;
+ boolean init_em_graphics = FALSE;
#if 0
/* !!! TEST ONLY !!! */
#if 0
/* !!! TEST ONLY !!! */
@@
-11580,12
+11587,15
@@
void ChangeViewportPropertiesIfNeeded()
)
{
#if 1
)
{
#if 1
- // changing tile size invalidates scroll values of engine snapshots
if (new_tilesize_var != TILESIZE_VAR)
{
// printf("::: new_tilesize_var != TILESIZE_VAR\n");
if (new_tilesize_var != TILESIZE_VAR)
{
// printf("::: new_tilesize_var != TILESIZE_VAR\n");
+ // changing tile size invalidates scroll values of engine snapshots
FreeEngineSnapshot();
FreeEngineSnapshot();
+
+ // changing tile size requires update of graphic mapping for EM engine
+ init_em_graphics = TRUE;
}
#endif
}
#endif
@@
-11678,6
+11688,11
@@
void ChangeViewportPropertiesIfNeeded()
InitToons();
}
InitToons();
}
+ if (init_em_graphics)
+ {
+ InitGraphicInfo_EM();
+ }
+
#if 0
printf("::: %d, %d / %d, %d [%d]\n", VX, VY, EX, EY, game_status);
#endif
#if 0
printf("::: %d, %d / %d, %d [%d]\n", VX, VY, EX, EY, game_status);
#endif