projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added support for custom graphics for many elements of MM game engine
[rocksndiamonds.git]
/
src
/
game_mm
/
mm_game.c
diff --git
a/src/game_mm/mm_game.c
b/src/game_mm/mm_game.c
index d4838873c978d51a4958a657ed11b76656315572..1ef6339e826957c521ef5d79efc81935cbd8ebba 100644
(file)
--- a/
src/game_mm/mm_game.c
+++ b/
src/game_mm/mm_game.c
@@
-537,7
+537,6
@@
static void InitCycleElements_RotateSingleStep(void)
Tile[x][y] = next_element;
Tile[x][y] = next_element;
- DrawField_MM(x, y);
game_mm.cycle[i].steps -= step;
}
}
game_mm.cycle[i].steps -= step;
}
}
@@
-691,6
+690,11
@@
void InitGameActions_MM(void)
cycle_steps_done++;
}
cycle_steps_done++;
}
+ AdvanceFrameCounter();
+ AdvanceGfxFrame();
+
+ DrawLevel_MM();
+
BackToFront();
ColorCycling();
BackToFront();
ColorCycling();
@@
-2398,6
+2402,16
@@
static void GrowAmoeba(int x, int y)
}
}
}
}
+static void DrawFieldAnimated_MM(int x, int y)
+{
+ if (IS_BLOCKED(x, y))
+ return;
+
+ DrawField_MM(x, y);
+
+ laser.redraw = TRUE;
+}
+
static void Explode_MM(int x, int y, int phase, int mode)
{
int num_phase = 9, delay = 2;
static void Explode_MM(int x, int y, int phase, int mode)
{
int num_phase = 9, delay = 2;
@@
-3084,6
+3098,8
@@
static void GameActions_MM_Ext(void)
MeltIce(x, y);
else if (IS_WALL_CHANGING(element) && Store[x][y] == EL_WALL_AMOEBA)
GrowAmoeba(x, y);
MeltIce(x, y);
else if (IS_WALL_CHANGING(element) && Store[x][y] == EL_WALL_AMOEBA)
GrowAmoeba(x, y);
+ else
+ DrawFieldAnimated_MM(x, y);
}
AutoRotateMirrors();
}
AutoRotateMirrors();