Most games use the same menu IDs for the same menus, but this version uses some
different IDs to the others. To avoid having to redo too much for a single
game variant, just map the menu IDs.
This fixes#15818.
The hack to keep the blueprints visible broke other interactions. Add a more
targetted hack to make it work. Also fix willy's head flipping when it shouldn't.
There are still some issues overall with head rendering (lipsync issues) but
it's much better now I think.
This fixes#15821.
This makes sure no matter which scene is loaded the music will be loaded fresh
and restarted.
Skip in Willy Beamish where there is only one music file that stays loaded.
This fixes#15795.
This changes the mouse behavior to better match the original games.
* Left-click "use" should only happen on a short click (mouse button goes down
and up within a few frames) - longer clicks should always do "pick up"
operation.
* Right-click "look" should only happen on short clicks, longer right button
should start targetting mode
* Both-click should operate on all areas under the mouse, ignoring their
conditions
This fixes#15774 and #15782, and also fixes eg Rise of the Dragon trying to
fire the gun in Blade's apartment.
When we dynamically load dialog data it's possible for the list to be
reallocated during resize. If we were also executing operations from one of
the reallocated dialogs, it would crash when accessing that pointer again.
Switch the dialog data to a List so it will not be reallocated when loading
more data.
This fixes#15781
* The inversion (9 - value) was being applied twice, reversing
the resulting delay
* The delay in the dialog data should be doubled before calculating delay
millis
* The default setting should be 5
This fixes#15771
Note that it's the CD version to make it easier for users.
Also added comment explaining that we don't use the RME file directly, but
it's convenient for detection.
Unfortunately, the CD version never offically supported MT-32 for SFX and music
because the voice acting needed a Sound Blaster. This means it was shipped
with corrupted MT-32 patches for the SFX.
The GOG version of the game comes with both CD and FDD data together, so add
the ability to load MT-32 patch information out of the FDD version if it's also
present.
Some willy beamish scenes contain hacky 20x20 type 4 dialogs to do some other
action. They appear over the main dialog.
Eg, CD version dlg file D25.DDS dialogs 102 and 103 - one of these is triggered
when Tiffany stands on the scales on day 3.
This causes a flashing artifact over the dialog even in the original. Work
around this issue by not drawing anything if the dialog is too small to
actually contain text.
All game variants do this, somehow I missed it before.
This fixes being able to leave the living room while running away from the
babysitter in Willy Beamish CD version.
It was possible for music to stop when multiple sound effects were played at
once (eg, Willy Beamish FDD intro sequence when SFX 43 and 44 are played in
quick succession). This is a workaround for that issue.