game_sp_info.LevelSolved = FALSE;
game_sp_info.GameOver = FALSE;
+ menBorder.Checked = setup.sp_show_border_elements;
+
+ InitScrollPlayfield();
+
#if 0
+ printf(":A: %d, %d [%d, %d]\n",
+ mScrollX, mScrollY, mScrollX_last, mScrollY_last);
+#endif
+
+#if 1
menPlay_Click();
#else
menPlayDemo_Click();
#endif
+
+#if 0
+ printf(":B: %d, %d [%d, %d]\n",
+ mScrollX, mScrollY, mScrollX_last, mScrollY_last);
+#endif
}
+#if 0
void BlitScreenToBitmap_SP(Bitmap *target_bitmap)
{
- BlitBitmap(screenBitmap, target_bitmap, 15 * 32, 7 * 32,
- SCR_FIELDX * TILEX, SCR_FIELDY * TILEY, SX, SY);
+ DDScrollBuffer_Blt_Ext(target_bitmap);
+}
+#endif
+
+void RedrawPlayfield_SP(boolean force_redraw)
+{
+ // subDisplayLevel();
+
+ UpdatePlayfield();
+
+ BackToFront_SP();
}
void GameActions_SP(byte action[MAX_PLAYERS], boolean warp_mode)
byte single_player_action = action[0];
subMainGameLoop_Main(single_player_action, warp_mode);
-}
-void RedrawPlayfield_SP(boolean force_redraw)
-{
- subDisplayLevel();
+ RedrawPlayfield_SP(FALSE);
}