[Scummvm-tracker] [ScummVM :: Bugs] #14025: Broken Sword 1 & 2 pretends to be 640x480 but it is never initialized / updated as such

ScummVM :: Bugs trac at scummvm.org
Thu Jan 19 12:58:34 UTC 2023


#14025: Broken Sword 1 & 2 pretends to be 640x480 but it is never initialized /
updated as such
-------------------------------+-----------------------------
Reporter:  mikrosk             |       Owner:  (none)
    Type:  defect              |      Status:  new
Priority:  normal              |   Component:  Engine: Sword1
 Version:                      |  Resolution:
Keywords:  resolution, height  |        Game:  Broken Sword 1
-------------------------------+-----------------------------
Comment (by mikrosk):

 That's exactly what I'm doing. :) (but I hadn't before)

 Btw there's another interesting situation when it comes to initSize() (and
 friends, like setGraphicsMode)...

 ScummVM starts by default in 320x200.
 Then the overlay is shown (presumably in the same resolution but not
 necessarily).
 Then one starts Broken Sword in 640x480.

 What if the transaction fails? The overlay is activated, shows the error
 message but there is no further attempt to correct / rollback the
 situation, i.e. the backed is, in the best case, in its original
 resolution 320x200 **but the game starts anyway**.

 I haven't found any recommendation how to handle this - and it does create
 errors, for instance I got copyRectToScreen() with some ridiculous X, Y.
 It seemed like some overflow happened in BS1 (when called getWidth() /
 getHeight() and subtracted 640 / 480 from this number and casted it as
 unsigned).

 So my (yet another) workaround was to disable copyRectToScreen() if
 previous transaction end failed.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14025#comment:11>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list