+
+#if 0
+ int foo = (int)g->crumbled_bitmap;
+#endif
+
+#if 1
+ if (!game.use_native_emc_graphics_engine)
+ getGraphicSourceObjectExt_EM(g, tile, frame, x - 2, y - 2);
+#else
+ if (!game.use_native_emc_graphics_engine)
+ getGraphicSourceObjectExt_EM(tile, frame, &g->bitmap, &g->src_x, &g->src_y,
+ &g->crumbled_bitmap,
+ &g->crumbled_src_x, &g->crumbled_src_y,
+ x - 2, y - 2);
+#endif
+
+#if 0
+ if (foo != g->crumbled_bitmap)
+ printf("::: tile %d, %08x --> %08x\n", tile, foo, g->crumbled_bitmap);
+#endif
+
+ return g;
+}
+
+static struct GraphicInfo_EM *getPlayerGraphic(int player_nr, int anim)
+{
+ struct GraphicInfo_EM *g = &graphic_info_em_player[player_nr][anim][frame];
+
+ if (!game.use_native_emc_graphics_engine)
+ getGraphicSourcePlayerExt_EM(player_nr, anim, frame,
+ &g->bitmap, &g->src_x, &g->src_y);
+ return g;
+}
+
+static void DrawLevelField_EM(int x, int y, int sx, int sy,
+ boolean draw_masked)
+{
+ struct GraphicInfo_EM *g = getObjectGraphic(x, y);