Dege wrote on 2023-07-13, 20:10:
Franky212 wrote on 2023-07-13, 19:34:
Dege wrote on 2023-07-13, 19:26:
Thanks!
Btw, what is so special with those versions?
Unfortuntately I'm not sure if I can still build them because I keep updating the compiler toolset.
These versions have the fewest bugs in some of my games. I picked them up myself. I am using 2.63.2. Instead of 2.71.3, you can select the latest version.
Ok, but then I think I'm interested in those bugs. I'd like to release a well-tested, almost regression free version.
Versions prior to 2.63.2 crashed with some of my games. No more this problem. The latest version generally works just as well as 2.63.2, but there are minor issues with windows (an issue with my operating system and drivers). I don't remember which game had this problem.
I apologize in advance if in some places the text may not be clear, I use a translator.
Currently, in order to fix game bugs (not dgVoodoo), I'm trying to extract scenes from an old game that renders a 2D interface through DirectDraw 7, and a 3D objects through Direct3D 9. Please note that this game may automatically select between Direct3D 8 and Direct3D 9 depending on the operating system version. On my Windows 7 game automatically uses d3d9.
Using Process Hacker 3.0, I checked the imported DLLs in the game's RAM to determine which version of Direct3D was being used. When opening soa.exe through CFF Explorer, only the ddraw.dll import is present. The game imports d3d8/d3d9 via dynamic loading, in code.
Only a few ripping programs have worked with this game. Even among the working programs, not a single program has coped with the task satisfactorily. Here are the methods I have tried:
1) 3D Ripper DX. My game is not supported by this program due to DirectDraw+Direct3D9 combination. Many wrappers and directx tweakers have been tried, but the program still doesn't work. At the same time, the program works fine with any other game without DirectDraw.
2) Ninja Ripper 1.7.1. Does not support full scene saving, saves objects at zero coordinates instead. Not suitable, but there is an open source code.
3) Ninja Ripper from version 2.0.5 to latest. Saves the full scene, but some objects disappear after saving. I tried many combinations of wrappers and directx tweakers with this program, and also tried to change the capture mode to Force, but nothing worked. This program working with my game only through dgVoodoo2, but some objects disappear after ripping the scene when using any version of dgVoodoo2. To reproduce this problem, you need to load the "Tutorial" game mode and try ripping. When viewing the result in Blender, many mesh fences will disappear (not all), and a hole will appear in the hangar near the helicopter. The rest of the objects at this level are fine, but there are many other objects at other levels with this problem.
4) When 3DVIA Printscreen is running, any 3D game won't start (the process hangs). There is also a proprietary 3D format that cannot be used in 3ds Max. The program does not work on modern operating systems.
5) The Pix program from the DirectX SDK June 2010 perfectly saves captures of games developed without DirectDraw, but my game does not work with this program due to the DirectDraw+Direct3D9 combination. The Pix program supports DirectX 9-11, but dgVoodoo2 not working here.
6) Intel GPA 2014 R3 works in combination with dgVoodoo2. With the help of the FrameAnalyzer.exe file mod, this program can extract only separate objects and textures, and not the entire scene. Not suitable.
7) AMD GPU PerfStudio works in combination with dgVoodoo2, but does not support either model or scene extraction. Not suitable.
8) NVIDIA Nsight Graphics supports DirectX 11, supports "Capturing to C++", but won't connect to my game with dgVoodoo2.
9) The GameAssasin program perfectly saves captures of games developed without DirectDraw, but my game does not work with this program due to the DirectDraw+Direct3D9 combination.
10) RenderDoc does not support DirectX 9 and OpenGL 1.0-2.0. But it supports DirectX 11 and 12, OpenGL 3+. When trying to use with the game in combination with dgVoodoo2, RenderDoc does not define the graphics API, does not connect to the game. When trying to use RenderDoc with the game in combination with WineD3D (Direct3D+DirectDraw to OpenGL 4.0-4.4 wrapper), the game closes with an error due to a conflict in the DirectDraw library. At the same time, the game works fine with WineD3D without interference from RenderDoc.