1 | | In [changeset:"13dbfbd8d7d03a4463f739775e1d383152d4253b" 13dbfbd8]: |
2 | | {{{ |
3 | | #!CommitTicketReference repository="" revision="13dbfbd8d7d03a4463f739775e1d383152d4253b" |
4 | | WINTERMUTE: Fix slider bugs in several games |
5 | | |
6 | | There is a bug introduced in WME Lite. |
7 | | |
8 | | Testcase: |
9 | | 1. Download https://github.com/lolbot-iichan/wme_testsuite/tree/master/slider_test/packages |
10 | | 2. Download https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wmelite/wmelite_10_win.zip |
11 | | 3a. Run game.exe -> Slider moves with the mouse while it is pressed and |
12 | | released when mouse is released |
13 | | 3b. Run wmelite.exe -> Slider is never released |
14 | | 3c. Run ScummVM -> Slider is never released |
15 | | |
16 | | Related bugs: |
17 | | https://bugs.scummvm.org/ticket/6567 |
18 | | https://bugs.scummvm.org/ticket/9861 |
19 | | |
20 | | Reason: slider is a button object that changes it's X until "LeftRelease" event is revieved and breaks the endless loop. |
21 | | Sample code: https://github.com/lolbot-iichan/wme_testsuite/blob/master/slider_test/data/interface/system/speechvolume.script |
22 | | 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. |
23 | | |
24 | | Original code: https://github.com/lolbot-iichan/Wintermute-Engine/blob/master/src/engine_core/wme_ad/AdGame.cpp#L2218 |
25 | | Changed in WME Lite: https://github.com/lolbot-iichan/wmelite/blob/master/src/AdGame.cpp#L2120 |
26 | | |
27 | | This behaviour was introduced in SVN period of wmelite, I believe it was |
28 | | made on purpose for handling some iOS scenarios at commit #37 mentioned |
29 | | on page https://code.google.com/archive/p/wmelite/source/default/commits |
30 | | |
31 | | My proposal is to mark iOS apps as WME_LITE and fill exact WME_1_X_X/WME_LITE versions for all known |
32 | | 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. |
33 | | }}} |