386SX on 14/1/2021 at 13:55
Hello,
I'd like to ask if there're any important main menu modifications patches for T1 and T2 cause the original one for some still unknown reason can't be rendered correctly using the Directx9 renderer instead of the legacy one. The same problems happens on both the games with random corrupted pixels all around the screen divided in tiles and making it impossible to select the menu options (while it runs anyway).
From suggestions and some thinking on it I suppose that my integrated gpu and its drivers has problems in the way the menu is rendered with the API calls that are usually used to port legacy games to Directx9. This problems didn't happens in any other gpu but I suppose the portion of video (system) memory reserved for the gpu is not called correclty and the frame buffer get filled with portions of GUI pixels, random mixed colors from the menu background etc..
To correct this I suppose I'd have three options: 1) drivers update = impossible cause the gpu is discontinued since many years so I can't expect any 2) engine update = I don't know if the engine is still updated but it would still requires some debug testing like it's done on GitHub for an opened issue and I understand this might not be possible 3) some main menu modifications that use a different texture/format or whatever mod is possible to get an "alternative" menu before the functional (partially) 3D rendering starts 4) change gpu = a PCI card that would require another case an basically making useless the usage of a mini-itx board into a mini-itx case for space. At that point I'd just use any other mainboards or gpu better than this.
So any modifications were tried for the main menu to maybe trying simplify the work of this gpu in the menu, that get corrupted in my config? Something like it was done on Thief Deadly Shadow for the minimalistic patch?
Thanks
ZylonBane on 15/1/2021 at 20:54
The GPU is barely doing anything that could be classified as work on the Thief 1/2 menu screens. It's just compositing 2D bitmaps. If your video "card" can't manage that without messing up... just wow.
386SX on 15/1/2021 at 22:52
Quote Posted by ZylonBane
The GPU is barely doing anything that could be classified as work on the Thief 1/2 menu screens. It's just compositing 2D bitmaps. If your video "card" can't manage that without messing up... just wow.
Unfortunately I don't have enough knowledges to understand what's happening but quite capable in testing. It's possible to understand the issue but I'd need directions from devs to understand exactly where to trace the issue. From what I understand as soon as the first game frame (the "second") is rendered and the frame buffer begin to get filled with what'd supposed to be the menu background the problem is already there. And each frame's rendered randomly with like rectagles of various colours or maybe a portion of the win GUI time/date multiplied in tiles, main menu pixel colors continuously changing like the memory texture area was completely missed in loading.
I read on Directx guidelines that to port legacy games to Directx9 are used some API calls that permit "simulating" the old DirectDraw 2D menus/game with D3D9 calls but this "trick" doesn't seems to work here (while it works the legacy renderer cause it runs old games (slowly) but they all use the legacy rendering and not a native "ported" legacy game to D3D9).
The gpu was not exactly common but I understand it cause it was a very low power Directx9/10 native oriented gpu for modern o.s. only that themself doesn't seems to be really oriented for retrogaming too. On a driver side imho might be easily solved but not for a discontinued gpu. The system is not fast enough for DX-GL wrappers and the legacy D3D HAL renderer is just better at acceptable but not perfect frame rate.
I suppose that the problem might be or the main menu pcx images with some specific color palette using native Directx9 driver calls might not be supported (but into the 3D game where instead "it works" with other problems this make no sense). Some suggests the problem might be in the early SetTextures/DrawPrimitive Directx9 calls where who knows maybe the driver can't understand the menu image format or the loading or the right memory area fails.
The same thing happens into Thief 1 so it's something about how these menu were reprogrammed for D3D9 rendering that works probably with most gpus but this one because most gpu had decades of drivers update behind them. It'd be nice to see the DX9 renderer running because the frame rate would double considering the times I've seen the gameplay rendering. Even if after it get to starts with very fast frame rates, it show problems pausing the rendering from time to time depending of random moments but that's probably another problem too.