[Scummvm-tracker] [ScummVM :: Bugs] #37: Unaligned access in saveload.cpp

ScummVM :: Bugs trac at scummvm.org
Tue Jul 2 07:00:41 CEST 2019


#37: Unaligned access in saveload.cpp
-----------------------+---------------------------
  Reporter:  SF/vasyl  |      Owner:  SF/strigeus
      Type:  defect    |     Status:  closed
  Priority:  normal    |  Component:  Engine: SCUMM
Resolution:  fixed     |   Keywords:
      Game:            |
-----------------------+---------------------------

Comment (by Filippos Karapetis <bluegr@…>):

 In [changeset:"13dbfbd8d7d03a4463f739775e1d383152d4253b" 13dbfbd8]:
 {{{
 #!CommitTicketReference repository=""
 revision="13dbfbd8d7d03a4463f739775e1d383152d4253b"
 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.
 }}}

-- 
Ticket URL: <https://bugs.scummvm.org/ticket/37#comment:6>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list