X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=917fcbb2fffeb704a694f35381d11a14fa6a6ebc;hb=62aa94beca16e39169d440bbc211a9f1efbcd60f;hp=5e5fe3ea5af646bd18f97feac68c7080dbb91366;hpb=8f9768f67f24a3279d812ee1760e8dc8e723145d;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 5e5fe3ea..917fcbb2 100644 --- a/src/game.c +++ b/src/game.c @@ -2616,7 +2616,7 @@ void RelocatePlayer(int x, int y, int element_raw) int element = (element_raw == EL_SP_MURPHY ? EL_PLAYER_1 : element_raw); struct PlayerInfo *player = &stored_player[element - EL_PLAYER_1]; boolean ffwd_delay = (tape.playing && tape.fast_forward); - boolean no_delay = (tape.index_search); + boolean no_delay = (tape.warp_forward); int frame_delay_value = (ffwd_delay ? FfwdFrameDelay : GameFrameDelay); int wait_delay_value = (no_delay ? 0 : frame_delay_value); int old_jx, old_jy; @@ -5333,11 +5333,30 @@ void StartMoving(int x, int y) { int flamed = MovingOrBlocked2Element(xx, yy); + /* !!! */ +#if 0 + if (IS_CLASSIC_ENEMY(flamed) || CAN_EXPLODE_BY_DRAGONFIRE(flamed)) + Bang(xx, yy); + else if (IS_MOVING(xx, yy) || IS_BLOCKED(xx, yy)) + RemoveMovingField(xx, yy); + else + RemoveField(xx, yy); +#else if (IS_CLASSIC_ENEMY(flamed) || CAN_EXPLODE_BY_DRAGONFIRE(flamed)) Bang(xx, yy); else RemoveMovingField(xx, yy); +#endif +#if 0 + if (ChangeDelay[xx][yy]) + printf("::: !!! [%d]\n", (IS_MOVING(xx, yy) || + Feld[xx][yy] == EL_BLOCKED)); +#endif + +#if 1 + ChangeDelay[xx][yy] = 0; +#endif Feld[xx][yy] = EL_FLAMES; if (IN_SCR_FIELD(sx, sy)) { @@ -5591,11 +5610,25 @@ void StartMoving(int x, int y) MovDelay[x][y] = 50; + /* !!! */ +#if 0 + RemoveField(newx, newy); +#endif Feld[newx][newy] = EL_FLAMES; if (IN_LEV_FIELD(newx1, newy1) && Feld[newx1][newy1] == EL_EMPTY) + { +#if 0 + RemoveField(newx1, newy1); +#endif Feld[newx1][newy1] = EL_FLAMES; + } if (IN_LEV_FIELD(newx2, newy2) && Feld[newx2][newy2] == EL_EMPTY) + { +#if 0 + RemoveField(newx2, newy2); +#endif Feld[newx2][newy2] = EL_FLAMES; + } return; } @@ -7733,7 +7766,7 @@ void GameActions() action_delay_value = (tape.playing && tape.fast_forward ? FfwdFrameDelay : GameFrameDelay); - if (tape.playing && tape.index_search && !tape.pausing) + if (tape.playing && tape.warp_forward && !tape.pausing) action_delay_value = 0; /* ---------- main game synchronization point ---------- */ @@ -11105,21 +11138,15 @@ void RequestQuitGame(boolean ask_if_really_quit) { #if 1 - if (tape.playing && tape.index_search) - { - SetDrawDeactivationMask(REDRAW_NONE); - audio.sound_deactivated = FALSE; - } + if (tape.playing && tape.deactivate_display) + TapeDeactivateDisplayOff(TRUE); #endif OpenDoor(DOOR_OPEN_1 | DOOR_COPY_BACK); #if 1 - if (tape.playing && tape.index_search) - { - SetDrawDeactivationMask(REDRAW_FIELD); - audio.sound_deactivated = TRUE; - } + if (tape.playing && tape.deactivate_display) + TapeDeactivateDisplayOn(); #endif }