aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/frameout.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/graphics/frameout.h')
-rw-r--r--engines/sci/graphics/frameout.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/engines/sci/graphics/frameout.h b/engines/sci/graphics/frameout.h
index e736872773..cc62c61d22 100644
--- a/engines/sci/graphics/frameout.h
+++ b/engines/sci/graphics/frameout.h
@@ -185,7 +185,7 @@ private:
/**
* Whether or not calls to kFrameOut should be framerate
- * limited to ~60fps.
+ * limited to 60fps.
*/
bool _throttleFrameOut;
@@ -304,6 +304,12 @@ public:
#pragma mark Rendering
private:
/**
+ * State tracker to provide more accurate 60fps
+ * video throttling.
+ */
+ uint8 _throttleState;
+
+ /**
* TODO: Documentation
*/
int8 _styleRanges[256];
@@ -318,7 +324,9 @@ private:
Buffer _currentBuffer;
/**
- * TODO: Documentation
+ * When true, a change to the remap zone in the palette
+ * has occurred and screen items with remap data need to
+ * be redrawn.
*/
bool _remapOccurred;
@@ -423,13 +431,19 @@ public:
*/
bool _palMorphIsOn;
- inline Buffer &getCurrentBuffer() {
+ inline const Buffer &getCurrentBuffer() const {
return _currentBuffer;
}
void kernelFrameOut(const bool showBits);
/**
+ * Throttles the engine as necessary to maintain
+ * 60fps output.
+ */
+ void throttle();
+
+ /**
* Updates the internal screen buffer for the next
* frame. If `shouldShowBits` is true, also sends the
* buffer to hardware. If `eraseRect` is non-empty,