Still no luck compiling D3D9Client, and getting more confused ....
Is there a readme that explains the steps to compile, including prerequisites that need to be installed?
I installed the
DirectX End-User Runtimes (June 2010) package. Do I also need to install any NVidia SDK stuff?
Sadly, we don't have any readme yet. There's been lot of new things to learn and I haven't found the time to write that. Also some things regarding the build process are still under development.
The End-User Runtimes are not sufficient to actually build the client you would need at-least:
DirectX SDK (June 2010)
That's the latest SDK that's available as separate download. The newer DirectX SDKs are bundled with Windows 10 SDK and I haven't tried those yet. No nVidia SDK required as far as I know. If you are missing a proper SDK then there's gonna be lot of compilation errors.
Should this compile with CMake, using the provided CMakeLists.txt, or do I have to use the VS solution files directly?
I haven't tried the "Ninja" yet, so, I don't know how that works yet. I have used the CMake-GUI to create VS Solution and Project files and after that I have clicked the
D3D9Client.sln to launch the VS and build the projects from there. Usually I have removed BUILD_ALL, INSTALL "Projects" from the Solution.
When compiling with CMake, the CMAKE_BINARY_DIR has to point to an Orbiter installation, correct?
Yes, that is correct, the same that is used to build the Orbiter. And the CMAKE_SOURCE_DIR must point to the local D3D9Client.git repository.
When compiling directly from the VS solution directory, does the D3D9Client git repository have to be placed directly inside an Orbiter installation?
No, I have no idea what happens if someone tries that. CMake should copy all necessary files to CMAKE_BINARY_DIR. Also CMake should copy/update the Shaders during every build.
I found VS solution files in Orbitersdk/D3D9Client, but the VS2019 version only seems to be set up for x86. Should I use the VS2015 version and convert to VS2019?
I got errors relating to _wassert, had to convert all instances to assert. Has this been seen before?
I have left the old project files in-place just in case if we need them. There's been no reports regarding "_wassert" and it's been there probably 2-3 years. I have no idea why it fails.
CMake is configured to place the modules directly in /Modules/Plugin/ they do
not go to "/debug/" "/release/" sub-folders.
And the Shaders (*.fx and *.hlsl) must be in /Modules/D3D9Client/