scummvm/engines/wintermute/ad
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_actor.cpp
ad_actor.h
ad_entity.cpp
ad_entity.h
ad_game.cpp
ad_game.h
ad_inventory_box.cpp
ad_inventory_box.h
ad_inventory.cpp
ad_inventory.h
ad_item.cpp
ad_item.h
ad_layer.cpp
ad_layer.h
ad_node_state.cpp
ad_node_state.h
ad_object.cpp
ad_object.h
ad_path_point.cpp
ad_path_point.h
ad_path.cpp
ad_path.h
ad_region.cpp
ad_region.h
ad_response_box.cpp
ad_response_box.h
ad_response_context.cpp
ad_response_context.h
ad_response.cpp
ad_response.h
ad_rot_level.cpp
ad_rot_level.h
ad_scale_level.cpp
ad_scale_level.h
ad_scene_node.cpp
ad_scene_node.h
ad_scene_state.cpp
ad_scene_state.h
ad_scene.cpp
ad_scene.h
ad_sentence.cpp
ad_sentence.h
ad_sprite_set.cpp
ad_sprite_set.h
ad_talk_def.cpp
ad_talk_def.h
ad_talk_holder.cpp
ad_talk_holder.h
ad_talk_node.cpp
ad_talk_node.h
ad_types.h
ad_waypoint_group.cpp
ad_waypoint_group.h