Open Fisherman166 opened 6 years ago
New XBE with direct FTP dump from disc drive.
With Pull Request #848 (git commit 5ce5da70368d5a3b0129b059a05c43e26fedf078), the game now gets passed the Ubisoft intro, the game intro (but ends quickly without pressing any buttons), and the ESRB online rating warning before throwing an exception:
Received Exception Code 0xC0000005 @ EIP := 0x0405A5FE
I traced the error down to the patched D3DTexture_GetSurfaceLevel2 function:
HLECache: 0x003b9000 -> D3DTexture_GetSurfaceLevel2 PATCHED
In that function, this function call is returning a null pointer:
IDirect3DTexture8 *pHostTexture = GetHostTexture(pThis);
Tracing back up further, GetHostTexture() returns the value of pThis->Lock. In this case, pThis->Lock = 0x0, which causes a nullptr exception when this line is executed shorty after:
HRESULT hRet = pHostTexture->GetSurfaceLevel(Level, &pNewHostSurface);
Placing a data breakpoint on pThis->Lock shows only one place where it is being modified before the exception is thrown. A 'rep movs' instruction seems to set the value. From the debug KrnlDebug logs and the disassembly of the location where pThis->Lock is modified, it looks like NV2A operations are occurring, but nothing is happening of course since the N2Va operations are NOPs essentially...At this point I do not know where to take the debug further and will defer to the experts.
Sounds like a missing direct3d patch. Either a function we implement and didn't find in this title, or one we don't know about at all. Game needs investigation to figure out what function it is. (Currently we need to patch all functions that alter the Lock field)
Cxbx-Reloaded (Version 16256597 (May 16 2018))
The menus are displayed completely, it is possible to come in-game. The hud is displayed completely, but no environment graphics, the sound output is perfect. The intro videos are not played or are not displayed graphically. Once in-game you can move and look around (but only the hud is displayed), no error messages appear.
Previous behavior:
state-booting
Current behavior:
state-interactive
Nightvision is disorted, Thermal vision is just a blank blue. Some soundeffects are missing from the start (ingame) like zooming in. Many other soundeffects get lost after a minute while in a mission, they also don´t come back when restarting mission etc. Game gets stuck when loading a NEW mission, restarting played mission will work. Ingame saving doesn´t work, outputs this error message:
Not being able to get into missions anymore, it´s worse now. Crashing and getting this error where the loading sequence should be (has always been a black screen)
Description
The game gets to the bootup loading screen before throwing an exception. No sound is present.
Received Exception Code 0xC0000005 @ EIP := 0x51106E0F
Dumps
RainbowSix3_Xbe.txt RainbowSix3_KrnlDebug.txt RainbowSix 3_HLECache.txt
Status
Previous behavior: None Reported.
Current behavior: The game gets to the bootup loading screen before throwing an exception. No sound is present.
Screenshots
Additional Information
Tested on commit: f5ea8c693bc1d5a52dfc609ceae58aebf7a4a9f8 (Jan 05, 2018)