Removed a call to BaseFileManager::registerPackages() in
WintermuteEngine::getGameInfo(), as the constructor for BaseFileManager
already calls registerPackages() once; another call should thus be
superfluous.
This reverts the changes done to the DW2 entries in commit d4a354c1.
We only distinguish between floppy and CD versions if a game had both a
CD and a floppy version released. DW2 was only released as a CD version,
so the extra flagging of the DW2 entries as CD was redundant, and caused
confusion regarding previous saved games to users that readded the DW2
detection entries after this change
Verify that 'bits' really is one of 8, 12 or 16 before decoding
the data. It's probably always the case (unless the data files are
damaged) but if it isn't we'll either try to queue NULL to the
audio stream, or queue the same buffer more than once, or free the
buffer more than once. All of which are bad, though Coverity only
noticed the last of these cases.
Leaving the panel in scene 1105 only worked if the panel was open.
If the panel was closed, nothing would happen on the first click,
and on the second it would crash. If I understood this correctly,
it was because trying to leave while the panel was closed would
(incorrectly) mark it as open, and then it would crash when trying
to remove the objects behind the panel from the scene.
It seems pretty clear to me that these fallthroughs were not
intentional, seeing how one of them could cause ITE to fall through
to IHNM-specific code.
CID 1003744, 1003745
The effect of the removed code was to bypass the potion-mixing
puzzle while shrunken. The puzzle works fine for me, so there's
no reason to keep this bypass. Also, it caused a dead code
warning, CID 1022345.
Wrapped the code in the SetUpdateHandler(), SetMessageHandler(),
SetSpriteUpdate(), SetFilterX(), SetFilterY() and NextState()
macros in "do { ... } while (0)". Otherwise you may fool yourself
because in "if (condition) macro();" the "if" will only cover the
first statement of the macro.
CID 1022340, 1022341, 1022342, 1022343
When a new Smacker is opened, the old Smacker surface is deleted
and a new one is created. Therefore, it has to be removed from the
scene and the new one has to be added.