If there is no inventory-specific mouse action, fall back to the scene mouse
action.
This is a regression from other mouse behavior fixes that broke taking items
away from lucky (in HoC) or Blade (in Dragon). This fixes#15851.
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.
Willy handles dragging of items a bit differently to the other games, try to be
a bit more like the original. Specifically:
* Drag-drop does not need the mouse to be held down
* Don't reopen the inventory if that's where we dragged an item from
Also fix some small crashes in an older Willy Beamish demo.
* Play sample should be one-shot (don't replay every frame)
* TTM op 0020 should save to background differently (fixes double-drawing)
* Disabled areas still change mouse cursor and hold clicks until enabled,
properly fixes eg exiting detention at the start
* Fix the way "used" sequences are calculated so Willy can enter his house,
removing the previous hack
* Refactor scene condition check to separate file
* Small const correctness improvements
* Fix header location, color, border
* Properly filter items when counting if we need to show arrows
The arrow buttons were being shown when the total held items filled the
inventory, not when the current character's items filled it.
Thanks to @eriktorbjorn for noticing the inconsistencies and suggesting fixes.
* Adjust X position of timestamp in RotD inventory
* Fix y offset of type 2 dialogs
* Make inventory button visible in background after opening inventory
Most dialogs now render correctly and the game is partly playable. Still a
bunch of work to do for inventory and menus to render correctly.
Added loading for TDS (talking head) data structures too, but they are not yet
used.