scummvm/engines/wintermute
lolbot-iichan 13dbfbd8d7 WINTERMUTE: Fix slider bugs in several games
There is a bug introduced in WME Lite.

Testcase:
1. Download https://github.com/lolbot-iichan/wme_testsuite/tree/master/slider_test/packages
2. Download https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wmelite/wmelite_10_win.zip
3a. Run game.exe -> Slider moves with the mouse while it is pressed and
released when mouse is released
3b. Run wmelite.exe -> Slider is never released
3c. Run ScummVM -> Slider is never released

Related bugs:
https://bugs.scummvm.org/ticket/6567
https://bugs.scummvm.org/ticket/9861

Reason: slider is a button object that changes it's X until "LeftRelease" event is revieved and breaks the endless loop.
Sample code: https://github.com/lolbot-iichan/wme_testsuite/blob/master/slider_test/data/interface/system/speechvolume.script
However, WME Lite does not send "LeftRelease" events to any objects, if Game object can handle such event, even is game is frozen and UI is shown.

Original code: https://github.com/lolbot-iichan/Wintermute-Engine/blob/master/src/engine_core/wme_ad/AdGame.cpp#L2218
Changed in WME Lite: https://github.com/lolbot-iichan/wmelite/blob/master/src/AdGame.cpp#L2120

This behaviour was introduced in SVN period of wmelite, I believe it was
made on purpose for handling some iOS scenarios at commit #37 mentioned
on page https://code.google.com/archive/p/wmelite/source/default/commits

My proposal is to mark iOS apps as WME_LITE and fill exact WME_1_X_X/WME_LITE versions for all known
games. WME_1_X_X can be seen by right-clicking on main executable and seems to be non-empty for almost all existing WME games.
2019-07-02 08:00:30 +03:00
..
ad WINTERMUTE: Fix slider bugs in several games 2019-07-02 08:00:30 +03:00
base WINTERMUTE: Fix slider bugs in several games 2019-07-02 08:00:30 +03:00
debugger WINTERMUTE: Remove unused variable 2019-05-27 14:53:45 +03:00
math
system
ui WINTERMUTE: Increase window title height by 1 for "5 Lethal Demons" game 2019-06-30 12:20:36 +03:00
utils COMMON & WINTERMUTE: Use non-1252 for 125X games (PR 1698) 2019-06-30 16:45:46 +03:00
video
coll_templ.h
configure.engine
dcgf.h COMMON & WINTERMUTE: Use non-1252 for 125X games (PR 1698) 2019-06-30 16:45:46 +03:00
dctypes.h COMMON & WINTERMUTE: Use non-1252 for 125X games (PR 1698) 2019-06-30 16:45:46 +03:00
debugger.cpp
debugger.h
detection.cpp
detection_tables.h WINTERMUTE: Fix slider bugs in several games 2019-07-02 08:00:30 +03:00
game_description.h
module.mk
persistent.cpp
persistent.h
platform_osystem.cpp
platform_osystem.h
POTFILES WINTERMUTE: Show warning on running 2.5D games 2019-06-06 07:07:16 +03:00
wintermute.cpp WINTERMUTE: Show warning on running 2.5D games 2019-06-06 07:07:16 +03:00
wintermute.h
wintypes.h