-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Grim Fandango character is partially rendered on Voodoo3 #472
Comments
I tested this game with Windows 95 + DirectX 8 and Windows XP + DirectX 9, both cases show incorrect, partial rendering.
Which means that bugs, which prevent correct rendering, are most likely in Bochs emulation and not in the game. |
A week ago I noticed that Bochs uses simplified approach to handling of tiled surfaces. Bochs/bochs/iodev/display/voodoo.cc Lines 581 to 583 in c0f4441
But to match real hardware, more complex transformations are needed. For example, this line Bochs/bochs/iodev/display/banshee.cc Line 1604 in c0f4441
should be implemented like this (adapted from PCem): offset = v->fbi.lfb_base + (x & 127) + ((x >> 7) * 128 * 32) + ((y & 31) * 128) + (y >> 5) * pitch * 128 * 32; or like this (adapted from CSIM):
I was hoping that problems with this game can be solved without such change, but looks like there is no other way. |
Such a change must be done in the memory read/write code, all of the 3D code writing to memory and the rendering code. Since @stlintel and me would like to have a new Bochs release in the near future, I'd like to postpone such a rewrite until after that. |
Ok, I agree. Let this issue stay open then. |
When running Grim Fandango full game, the character is partially rendered after enabling 3D Hardware Acceleration in the game menu.
Guess OS is Windows98 SE. Voodoo3 driver is version 1.07 WHQL and DirectX 7 is installed.
https://archive.org/details/grimfandangousarerelease
The text was updated successfully, but these errors were encountered: