// Call subDisplayPlayingTime ' playing time on screen
- subCheckRestoreRedDiskCountDisplay(); // Restore panel: red-disk hole
+ // subCheckRestoreRedDiskCountDisplay(); // Restore panel: red-disk hole
subRedDiskReleaseExplosion(); // Red Disk release and explode
subFollowUpExplosions(); // every explosion may cause up to 8 following explosions
ScreenPosition = bx;
// Now new X and new Y are calculated, and bx = screen position = ScreenPosition
- data_h_Ytmp = ScreenScrollYPos; // copy Y for next soft scroll
- data_h_Xtmp = ScreenScrollXPos; // copy X for next soft scroll
+ // data_h_Ytmp = ScreenScrollYPos; // copy Y for next soft scroll
+ // data_h_Xtmp = ScreenScrollXPos; // copy X for next soft scroll
if ((! UserDragFlag) && AutoScrollFlag)
{
#if 0
#if 1
/* if the game is not won when reaching this point, then it is lost */
- if (!game_sp_info.LevelSolved)
- game_sp_info.GameOver = TRUE;
+ if (!game_sp.LevelSolved)
+ game_sp.GameOver = TRUE;
#endif
#if 1
// Call subDisplayPlayingTime ' playing time on screen
- subCheckRestoreRedDiskCountDisplay(); // Restore panel: red-disk hole
+ // subCheckRestoreRedDiskCountDisplay(); // Restore panel: red-disk hole
subRedDiskReleaseExplosion(); // Red Disk release and explode
subFollowUpExplosions(); // every explosion may cause up to 8 following explosions
ScreenPosition = bx;
// Now new X and new Y are calculated, and bx = screen position = ScreenPosition
- data_h_Ytmp = ScreenScrollYPos; // copy Y for next soft scroll
- data_h_Xtmp = ScreenScrollXPos; // copy X for next soft scroll
+ // data_h_Ytmp = ScreenScrollYPos; // copy Y for next soft scroll
+ // data_h_Xtmp = ScreenScrollXPos; // copy X for next soft scroll
if ((! UserDragFlag) && AutoScrollFlag)
{
#if 0
int ax, Ay;
+#if 1
+ int jump_pos = TILEX / 2;
+
+ if (MurphyScreenXPos < -jump_pos)
+ {
+ MurphyScreenXPos = FieldWidth * TILEX + MurphyScreenXPos;
+ MurphyScreenYPos -= TILEY;
+ }
+ else if (MurphyScreenXPos >= FieldWidth * TILEX - jump_pos)
+ {
+ MurphyScreenXPos = MurphyScreenXPos - FieldWidth * TILEX;
+ MurphyScreenYPos += TILEY;
+ }
+#endif
+
if (ExplosionShake != 0)
{
subGetRandomNumber();
+
+ // printf("::: ExplosionShake [%d]\n", FrameCounter);
}
{