Changed the names of the pointers to GraphicsManager
and CursorManager to be shorter, since they were
inconsistent with the rest of the managers, and typing
them out is a chore.
Modified the special case input handling in Overlay so that
it no longer gets triggered at all for nancy2 and older games.
This fixes an issue with the TV in nancy2, which will get
turned off even when not holding the remote.
It seems nancy2 shares the weird looping behavior when
a sound is present inside an Overlay - it keeps looping
until after the sound is done, even when looping is disabled.
This fixes nancy2 scene 1562.
Fixed an issue where an Overlay with a hotspot would
actually never have it activated. Also, added a check for game
type to make sure other action records _do_ get activated
alongside an Overlay in nancy2 and lower. Both of these
fixes target nancy2 scene 2541.
We're no longer skipping over what apparently was a flag
indicating whether a particular static Overlay frame has
a hotspot or not. This fixes the rubber gloves item in
nancy5, which can now be picked up.
Added support for three different action records types
(TableIndexOverlay, TableIndexPlaySound, and
TableIndexSetValueHS), all of which use nancy6's newly-
introduced TABL chunk, which describes a table of values
that can be changed through interaction. This is used
in nancy6's museum narrations puzzle.
Implemented the action record that, despite what its name
suggests, is actually responsible mostly for scrolling text
(e.g. Nancy's journal, the instructions to the Bul minigame).
Introduced in nancy6.
Implemented the Autotext record type, which is used for
text rendering (prior to its introduction in nancy6, all
in-game text was prerendered). Made relevant changes to
the Overlay and Hypertext classes to support it.
Added a workaround for a bug in nancy3 where the engine
would move to an incorrect scene, because Overlay input
wasn't being handled with priority like it was in the original
engine.
Static Overlays (may) use different source rects from animated
ones, which is now correctly implemented. This fixes the
out of service sign on the nancy5 key machine.
This effectively reverts the last changes made to the class,
and replaces them with an actual fix, which is to only read
the _enableHotspot field in nancy2; later games seem to
have removed it entirely.
Animated overlays in nancy3 and up now ignore their
scene changes and hotspots. This fixes the chandelier
in nancy3 and several conversations with Hotchkiss
in nancy4. This fix is NOT to be applied to earlier games,
as they used those fields even when the overlay is animated.
Fixed an edge case where a non-looping overlay would
still loop if the sound file is longer than the animation.
This fixes the chandelier dangling animations in nancy3.
Nancy3 did away with earlier versions of the engine's usage
of 1 and 2 as false/true values. This commit adds two
new values to NancyEngine: _true and _false, which hold
the correct values used by different versions of the engine.
The samplesPerSec property found in some SoundDescriptions
is no longer ignored. This results in the correct playback of
certain sounds (e.g. the button press sounds in nancy2's
OverrideLockPuzzle).
Added a RenderActionRecord class that automatically
handles re-adding ActionRecords with visuals to the
rendering system, and subclassed relevant ARs from it.
Added code to make sure sound is stopped when an
Overlay is triggered. Added code ensuring hotspots
are enabled when in animated mode. Moved the
setVisible() call so the overlay gets hidden when clicked.