114 Commits

Author SHA1 Message Date
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
Paul Gilbert
11e33ba3fc JANITORIAL: Removing trailing spaces after int casts 2018-08-17 20:30:20 -07:00
Tobia Tesan
4e9b113f3f WINTERMUTE: Add debuggerToString 2016-02-29 11:13:38 +01:00
Alexandre Detiste
6c298e964f JANITORIAL: Typos detected with lintian & grep 2016-02-15 18:27:02 +01:00
Eugene Sandulenko
48e048be8d WINTERMUTE: More sanity checks 2015-11-27 22:54:13 +01:00
Johannes Schickel
fc5ef58fff WINTERMUTE: Make GPL headers consistent in themselves. 2014-02-18 02:39:40 +01:00
Filippos Karapetis
867efd477c WINTERMUTE: Prevent scripts from setting invalid scroll times
Scroll times (ScrollSpeedX, ScrollSpeedY) can't be zero, as this leads
to a division by zero later on. This allows Dreamscape to start and
work properly.
2014-02-11 19:09:39 +02:00
Einar Johan Trøan Sømåen
cc33cf74ae WINTERMUTE: Transfer Common::Strings explicitly when saving/loading. 2013-11-05 13:59:55 +01:00
Einar Johan Trøan Sømåen
237d3d86ec WINTERMUTE: Transfer Char* explicitly when saving/loading. 2013-11-05 13:54:25 +01:00
Einar Johan Trøan Sømåen
d07409def7 WINTERMUTE: Transfer Sint32s explicitly when saving/loading. 2013-11-05 13:48:11 +01:00
Einar Johan Trøan Sømåen
7892188bcf WINTERMUTE: Transfer Uint32s explicitly when saving/loading. 2013-11-05 13:31:13 +01:00
Einar Johan Trøan Sømåen
3fb4183909 WINTERMUTE: Remove BasePlatform::setRectEmpty (replace with member-call) 2013-10-29 02:59:53 +01:00
Einar Johan Trøan Sømåen
211b8c9732 WINTERMUTE: Remove unused BasePlatform-functions (showWindow/setCapture/releaseCapture) 2013-10-29 02:59:53 +01:00
Einar Johan Trøan Sømåen
4c3c707671 WINTERMUTE: Transfer Doubles explicitly when saving/loading. 2013-10-29 02:59:53 +01:00
Einar Johan Trøan Sømåen
538c5935f9 WINTERMUTE: Transfer Point32s explicitly when saving/loading. 2013-10-29 02:59:53 +01:00
Einar Johan Trøan Sømåen
95d2ed1a9b WINTERMUTE: Transfer Rect32s explicitly when saving/loading. 2013-10-29 02:59:52 +01:00
Einar Johan Trøan Sømåen
6b4adab654 WINTERMUTE: Transfer booleans explicitly when saving/loading. 2013-10-28 19:19:12 +01:00
Einar Johan Trøan Sømåen
ba17ed9490 WINTERMUTE: Change BaseObject::getHeight() to return int32 instead of int. 2013-10-28 18:38:17 +01:00
Willem Jan Palenstijn
3384befff7 WINTERMUTE: Add missing break
Confirmed by Mnemonic.
2013-10-03 11:14:31 +02:00
Willem Jan Palenstijn
a979072410 WINTERMUTE: Clean up byte/char casts in loading/parsing 2013-10-01 23:20:43 +02:00
Eugene Sandulenko
5cc0850a67 WINTERMUTE: Fix compiler warnings 2013-09-30 14:36:59 +03:00
Tobia Tesan
5b8a6885c6 WINTERMUTE: s/put/set/ in setters 2013-09-21 23:22:46 +02:00
Tobia Tesan
2a977dec8c WINTERMUTE: add UIButton::setTextAlign 2013-09-21 23:22:43 +02:00
Tobia Tesan
417bf3db02 WINTERMUTE: Make sprites private in UIButton 2013-09-21 23:22:41 +02:00
Tobia Tesan
1869481767 WINTERMUTE: Setters/getters for UIButton 2013-09-21 23:22:37 +02:00
Tobia Tesan
1361fcde7c WINTERMUTE: Avoid feeding setWidth negative values 2013-09-21 23:22:27 +02:00
Tobia Tesan
aafe8c1f0d WINTERMUTE: Add getListener() 2013-09-21 23:22:19 +02:00
Tobia Tesan
2e457d96e8 WINTERMUTE: Make some members of UIObject private 2013-09-21 23:22:16 +02:00
Einar Johan Trøan Sømåen
9ea315747e WINTERMUTE: Be explicit when storing Floats in savegames. 2013-08-13 19:09:08 +02:00
Johannes Schickel
1ce54c217a WINTERMUTE: Fix end of namespace comments. 2013-08-04 00:51:09 +02:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Einar Johan Trøan Sømåen
b97edfcbe0 WINTERMUTE: Fix the final int->int32 to allow AmigaOS4-compile. 2013-04-21 00:24:02 +02:00
Einar Johan Trøan Sømåen
51e17d9f86 WINTERMUTE: Further reduce the amount of int->int32-confusion. 2013-04-20 18:11:47 +02:00
Einar Johan Trøan Sømåen
2625f3931a WINTERMUTE: Fix a few more int->int32's spotted by fuzzie. 2013-04-20 17:37:19 +02:00
Einar Johan Trøan Sømåen
c5bd3ecb13 WINTERMUTE: Change more int's to int32s. 2013-04-19 18:20:43 +02:00
Einar Johan Trøan Sømåen
72d0affe01 WINTERMUTE: Rename transfer(void *) to transferPtr(void *) to avoid overload-misses. 2013-04-19 17:17:53 +02:00
Einar Johan Trøan Sømåen
6c55213cd5 WINTERMUTE: Add 'override' to most Script-related functions. 2013-04-18 18:04:51 +02:00
Einar Johan Trøan Sømåen
b6242d0ea5 WINTERMUTE: Use int32 instead of int in classes. 2013-04-18 17:45:50 +02:00
Einar Johan Trøan Sømåen
8f25b651e8 WINTERMUTE: Split the timers from BaseGame into a separate class. 2013-04-18 12:10:40 +02:00
Einar Johan Trøan Sømåen
4783d643f6 WINTERMUTE: Constify AdRotLevel 2013-04-18 10:13:02 +02:00
Einar Johan Trøan Sømåen
d926b47186 WINTERMUTE: Constify AdResponse/AdResponseBox/AdResponseContext. 2013-04-18 10:13:02 +02:00
Einar Johan Trøan Sømåen
9dea64209d WINTERMUTE: Add more const to AdResponseBox 2013-04-17 21:21:17 +02:00
Einar Johan Trøan Sømåen
3597f7596d WINTERMUTE: Constify _width and _height in BaseRenderer. 2013-04-17 21:21:17 +02:00
Einar Johan Trøan Sømåen
5f5b415289 WINTERMUTE: Increase const-usage. 2013-04-17 21:21:17 +02:00
Einar Johan Trøan Sømåen
cbae39ab87 WINTERMUTE: Move settings from BaseGame to separate struct. 2013-04-17 19:42:05 +02:00
Einar Johan Trøan Sømåen
75443da53f WINTERMUTE: Use strlcpy instead of strcpy in AdScene::loadBuffer() 2013-04-17 17:15:31 +02:00
Einar Johan Trøan Sømåen
167c9f534b WINTERMUTE: Avoid passing BasePoint by value in Scene::getPath() 2013-04-17 16:47:27 +02:00
Einar Johan Trøan Sømåen
c93a9c4805 WINTERMUTE: Avoid passing BasePoint by-value 2013-04-17 16:45:14 +02:00
Einar Johan Trøan Sømåen
a69512a0c2 WINTERMUTE: Avoid passing BasePoint by value. 2013-04-17 16:05:20 +02:00
Einar Johan Trøan Sømåen
74e32bd332 WINTERMUTE: Privatize a few more members in BaseGame. 2013-02-06 13:40:35 +01:00