[Bug 39337] Legacy of Kain: Soul Reaver crashes at intro video when being run in desktop resolution > 640x480

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Oct 1 10:12:55 CDT 2015


https://bugs.winehq.org/show_bug.cgi?id=39337

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |download
             Status|UNCONFIRMED                 |NEW
                URL|                            |http://www.clubic.com/telec
                   |                            |harger-le-fichier-1965-0-de
                   |                            |mo-jouable.html
                 CC|                            |focht at gmx.net
          Component|-unknown                    |directx-d3d
            Summary|Legacy of Kain: Soul Reaver |Legacy of Kain: Soul Reaver
                   |- game crashes at start     |crashes at intro video when
                   |                            |being run in desktop
                   |                            |resolution > 640x480
     Ever confirmed|0                           |1

--- Comment #6 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming. This seems to be an old ddraw based game.

There is a launch dialog which allows to select game resolution from a number
of available desktop resolutions.

Trace log:

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Eidos Interactive/Soul Reaver Demo

$ WINEDEBUG=+tid,+seh,+relay,+snoop wine ./kain2.exe >>log.txt 2>&1
...
0029:RET  winstr.Streamer_InitStreaming() retval=00000000 ret=10002148
...
0029:RET  winplay.Player_InitMoviePlayback() retval=00000000 ret=0047db27
0029:CALL winplay.Player_StartTimer(01e41360) ret=0047db3e
0029:Call KERNEL32.QueryPerformanceCounter(0033f700) ret=10002e1f
0029:Ret  KERNEL32.QueryPerformanceCounter() retval=00000001 ret=10002e1f
0029:Call KERNEL32.QueryPerformanceCounter(0033f700) ret=10002e1f
0029:Ret  KERNEL32.QueryPerformanceCounter() retval=00000001 ret=10002e1f
0029:Call KERNEL32.SetPriorityClass(ffffffff,00000080) ret=10001fb7
0029:Ret  KERNEL32.SetPriorityClass() retval=00000001 ret=10001fb7
0029:RET  winplay.Player_StartTimer() retval=00000000 ret=0047db3e
0029:CALL winplay.Player_BlankScreen(00000000,00000000,00000400,00000300)
ret=0047db7e
0029:Call wined3d.wined3d_mutex_lock() ret=7ea0a7fd
0029:Ret  wined3d.wined3d_mutex_lock() retval=00000000 ret=7ea0a7fd
0029:Call wined3d.wined3d_mutex_unlock() ret=7ea0a893
0029:Ret  wined3d.wined3d_mutex_unlock() retval=00000000 ret=7ea0a893
0029:Call wined3d.wined3d_mutex_lock() ret=7ea039cb
0029:Ret  wined3d.wined3d_mutex_lock() retval=00000000 ret=7ea039cb
0029:Call wined3d.wined3d_surface_map(00172ff8,0033f5cc,00000000,00000000)
ret=7ea03ae4
0029:Ret  wined3d.wined3d_surface_map() retval=00000000 ret=7ea03ae4
0029:Call user32.SetRect(00147e80,00000000,00000000,00000280,000001e0)
ret=7ea03bb6
0029:Ret  user32.SetRect() retval=00000001 ret=7ea03bb6
0029:Call wined3d.wined3d_mutex_unlock() ret=7ea03ce3
0029:Ret  wined3d.wined3d_mutex_unlock() retval=00000000 ret=7ea03ce3
0029:trace:seh:raise_exception code=c0000005 flags=0 addr=0x10002d51
ip=10002d51 tid=0029
0029:trace:seh:raise_exception  info[0]=00000001
0029:trace:seh:raise_exception  info[1]=033af000
0029:trace:seh:raise_exception  eax=00000000 ebx=00000300 ecx=000001e2
edx=00000117 esi=00000400 edi=000005d2
0029:trace:seh:raise_exception  ebp=033aea30 esp=0033f700 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010206
0029:trace:seh:call_stack_handlers calling handler at 0x4dbe68 code=c0000005
flags=0
0029:Call KERNEL32.OutputDebugStringA(004f5658 "Oops. Crash.\n") ret=00477c66
--- snip ---

Regardless of initial virtual desktop resolution and selected resolution from
the launcher dialog, it switches to 640x480 16bpp for video playback.
Unfortunately it uses the desktop resolution for blanking the screen.
With resolutions being > 640x480 this writes past the allocated surface/buffer,
causing page fault.

The following works around (or any lower resolution available):

--- snip ---
$ wine explorer /desktop=foo,640x480 ./kain2.exe
--- snip ---

The game will switch to desired resolution selected from launch dialog after
playing the intro video in 640x480.

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list