[Scummvm-tracker] [ScummVM :: Bugs] #13169: Myst III Exile: missing scene transition effect on PowerPC (big-endian) machines on all OSes

ScummVM :: Bugs trac at scummvm.org
Sun Apr 3 13:40:17 UTC 2022


#13169: Myst III Exile: missing scene transition effect on PowerPC (big-endian)
machines on all OSes
-------------------------------------------+----------------------------
Reporter:  kas1e                           |       Owner:  (none)
    Type:  defect                          |      Status:  new
Priority:  normal                          |   Component:  Engine: Myst3
 Version:                                  |  Resolution:
Keywords:  big endian, BE, Myst3, AmigaOS  |        Game:  Myst 3: Exile
-------------------------------------------+----------------------------
Comment (by lephilousophe):

 I managed to reproduce the white screen bug using GL4ES and Mesa on Linux.

 It's due to the fact that GL4ES doesn't mark its texture object as valid
 when using `glCopyTexImage2D`.
 A call to `glTexImage2D` before corrects the problem although it shouldn't
 be needed.

 What happens if you use the following patch?
 Here, with GL4ES it works.

 {{{#!diff
 --- a/engines/myst3/gfx_opengl_texture.cpp
 +++ b/engines/myst3/gfx_opengl_texture.cpp
 @@ -135,10 +135,11 @@ void OpenGLTexture::copyFromFramebuffer(const
 Common::Rect &screen) {
                 internalHeight = upperPowerOfTwo(height);
                 internalWidth = upperPowerOfTwo(width);
         }

         glBindTexture(GL_TEXTURE_2D, id);
 +       glTexImage2D(GL_TEXTURE_2D, 0, internalFormat, internalWidth,
 internalHeight, 0, internalFormat, GL_UNSIGNED_BYTE, nullptr);
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
         glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

         glCopyTexImage2D(GL_TEXTURE_2D, 0, internalFormat, screen.left,
 screen.top, internalWidth, internalHeight, 0);
  }
 }}}
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13169#comment:5>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list