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.
Removed occurences of the ConfMan macro being used
to get the transient domain name. This makes sure we don't
generate unnecessary calls to ConfigManager::getInstance().
Fixed several issues with the nancy7 ad button:
- the sound in the main menu no longer cuts out when
returning from the ad
- an ad scene now never ends up in a second chance save
- going to the ad 2 times in a row does no longer continues
the game instead.
Also, the GotoMenu record now always forces the player
back to the menu, even when original menus have been
disabled; the old behavior never made sense.
Fixed an issue where, if the player has checked the
ScummVM "Ask for confirmation on exit" option, and has
clicked the Cancel button on said prompt, the main menu
code would keep showing it again and again until the
user quits.
Previously, the NancyEngine class was responsible for
handling creation and destruction of many naked pointers
to engine data, which led to several instances of memory
leaks that needed to be fixed. These changes introduce a
standard way of handling that same data, similar to the
one already used by PuzzleData inside Scene. Unfortunately,
this does add the need for relevant data to be casted to
the proper type before it is handled.
Fixed up all the old commented-out menu code and made
it useable again. Added support for at least up to nancy5's
main menu. For now, several buttons have been left disabled
and the menus are only accessible through a hidden
config option.
Removed the facilities for storing and getting the raw chunks inside BOOT.
The data found inside them is now loaded into the structs defined in
enginedata.h. This removes the need for multiple classes to know about
the layout of every game's version of a particular chunk.
Implemented Second Chance, which is the original engine's autosave system. This is disabled by default, since it replaces ScummVM's built-in autosaves.
Implemented the original engine's main menu and added an option to enable it from the custom options dialog. Several buttons in the main menu don't work yet since they require implementing additional game states.