projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed minor bug with doors and envelope requests
[rocksndiamonds.git]
/
src
/
tape.c
diff --git
a/src/tape.c
b/src/tape.c
index 896a8721eaff5f718963918948264dea974ee839..7a896e807bf79e7ebb6864cf0e50e09670f718fb 100644
(file)
--- a/
src/tape.c
+++ b/
src/tape.c
@@
-289,6
+289,8
@@
static void DrawVideoDisplay_Graphics(unsigned int state, unsigned int value)
if (gd_bitmap != NULL)
BlitBitmap(gd_bitmap, drawto, gd_x, gd_y, gfx->width, gfx->height,
VX + pos->x, VY + pos->y);
if (gd_bitmap != NULL)
BlitBitmap(gd_bitmap, drawto, gd_x, gd_y, gfx->width, gfx->height,
VX + pos->x, VY + pos->y);
+
+ redraw_mask |= REDRAW_DOOR_2;
}
}
}
}
}
}
@@
-431,8
+433,6
@@
void DrawVideoDisplay(unsigned int state, unsigned int value)
{
DrawVideoDisplay_Graphics(state, value);
DrawVideoDisplay_DateTime(state, value);
{
DrawVideoDisplay_Graphics(state, value);
DrawVideoDisplay_DateTime(state, value);
-
- redraw_mask |= REDRAW_DOOR_2;
}
void DrawCompleteVideoDisplay()
}
void DrawCompleteVideoDisplay()
@@
-741,15
+741,18
@@
void TapeTogglePause(boolean toggle_manual)
if (!CheckEngineSnapshotSingle())
SaveEngineSnapshotSingle();
if (!CheckEngineSnapshotSingle())
SaveEngineSnapshotSingle();
+
+ // restart step/move snapshots after quick loading tape
+ SaveEngineSnapshotToListInitial();
}
}
}
}
- if (CheckEngineSnapshotList())
+ if (
game_status == GAME_MODE_PLAYING &&
CheckEngineSnapshotList())
{
if (tape.pausing)
MapUndoRedoButtons();
else if (!tape.single_step)
{
if (tape.pausing)
MapUndoRedoButtons();
else if (!tape.single_step)
-
MapStopPlay
Buttons();
+
UnmapUndoRedo
Buttons();
}
}
}
}
@@
-1049,6
+1052,9
@@
void TapeQuickLoad()
TapeStopWarpForward();
TapeAppendRecording();
TapeStopWarpForward();
TapeAppendRecording();
+ // restart step/move snapshots after quick loading tape
+ SaveEngineSnapshotToListInitial();
+
if (FrameCounter > 0)
return;
}
if (FrameCounter > 0)
return;
}
@@
-1406,6
+1412,13
@@
static void HandleTapeButtonsExt(int id)
break;
case TAPE_CTRL_ID_PLAY:
break;
case TAPE_CTRL_ID_PLAY:
+ if (tape.recording && tape.pausing) /* PAUSE -> RECORD */
+ {
+ // ("TAPE_IS_EMPTY(tape)" is TRUE here -- probably fix this)
+
+ TapeTogglePause(TAPE_TOGGLE_MANUAL);
+ }
+
if (TAPE_IS_EMPTY(tape))
break;
if (TAPE_IS_EMPTY(tape))
break;