Skip to content

Commit

Permalink
MOHAWK: Add some missing public interface comments
Browse files Browse the repository at this point in the history
  • Loading branch information
bgK authored and sev- committed Jul 3, 2017
1 parent b0ee577 commit 723b7d7
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
2 changes: 2 additions & 0 deletions engines/mohawk/riven_card.h
Expand Up @@ -80,6 +80,7 @@ class RivenCard {
/** Get the card's sound description with the specified index */
SLSTRecord getSound(uint16 index) const;

/** Replace an ambient sound list with another one */
void overrideSound(uint16 index, uint16 withIndex);

/** Play the card's movie with the specified index */
Expand All @@ -103,6 +104,7 @@ class RivenCard {
/** Get the hotspot with the specified BLST id */
RivenHotspot *getHotspotByBlstId(const uint16 blstId) const;

/** Get the currently hovered hotspot if any */
RivenHotspot *getCurHotspot() const;

/** Get all the hotspots in the card. To be used for debugging features only */
Expand Down
21 changes: 21 additions & 0 deletions engines/mohawk/riven_scripts.h
Expand Up @@ -188,10 +188,25 @@ class RivenScriptManager {
/** Run queued scripts */
void runQueuedScripts();

/**
* Are queued scripts currently running?
*
* The game is mostly non-interactive while scripts are running.
* This method is used to check if user interaction should be permitted.
*/
bool runningQueuedScripts() const;

/**
* Stop running all the scripts
*
* This is effective immediately after the current command completes.
* The next command in the script is not executed. The next scripts
* in the queue are skipped until the queue is empty.
* Scripts execution then resumes normally.
*/
void stopAllScripts();

/** Should all the scripts stop immediately? */
bool stoppingAllScripts() const;

struct StoredMovieOpcode {
Expand Down Expand Up @@ -364,6 +379,12 @@ class RivenStackChangeCommand : public RivenCommand {
bool _byStackId; // Otherwise by stack name id
};

/**
* A command to delay execution of card specific hardcoded scripts
*
* Timers are queued as script commands so that they don't run when the doFrame method
* is called from an inner game loop.
*/
class RivenTimerCommand : public RivenCommand {
public:
RivenTimerCommand(MohawkEngine_Riven *vm, const Common::SharedPtr<RivenStack::TimerProc> &timerProc);
Expand Down

0 comments on commit 723b7d7

Please sign in to comment.