New Release D3D9Client Development

Did that screen appear while loading the scenario ?
Yes, while it was loading the orbiter mesh. Always CTDs when it is loading the texture SSUbay.dds.

Here's the new debugger screenshot:
D3D9Client_debugger2.jpg
 
Module address range seems to have changed. 0x0428A4A2 is not within the range.
 
D3D9Client.dll module address range is not visible in the modules section.
 
Ok, thanks. That should do it.

---------- Post added at 02:12 ---------- Previous post was at 01:48 ----------

The address 0x0435A4A2 is pointing into a statically linked C library. It would seem that it's writing something into a file. Could be the D3D9ClientLog.html.

Does it still CTD if you set the debug level to zero ?

Could you scroll down the call stack to find other references to D3D9Client.dll. The next one that is not shown in the list.
 
Ok, thanks. That should do it.

---------- Post added at 02:12 ---------- Previous post was at 01:48 ----------

The address 0x0435A4A2 is pointing into a statically linked C library. It would seem that it's writing something into a file. Could be the D3D9ClientLog.html.

Does it still CTD if you set the debug level to zero ?

Could you scroll down the call stack to find other references to D3D9Client.dll. The next one that is not shown in the list.
Still CTDs even with debug level set to 0. And there's no references to D3D9Client.dll in the call stack with debug level set to 0.

The interesting thing is that this is intermittent. Sometimes it happens and sometimes it doesn't. It's very random and there's no telling at all if it's going to happen. But it's always the same mesh/texture that it ends at.
 
Are you running an ISS in your scenario ?
 
ok, never mind then.
 
The interesting thing is that this is intermittent. Sometimes it happens and sometimes it doesn't. It's very random and there's no telling at all if it's going to happen. But it's always the same mesh/texture that it ends at.

That sort of behaviour would indicate an uninitialized pointer or something. I don't recall geting any CTDs during startup but a CTD during shutdown is more common with some add-ons.

It looks like I have to start installing SSU then. If I recall I have to build it from sources. Are there any installation instructions somewhere ?

It's getting late so I'll get back to this tomorrow.
 
Can I build it with MS Visual C++ 2008 or do I need to start instaling VC++ 2010 ?
I think you can, but I'm not sure. The solution for earlier VC++ versions is not actively maintained so it might be missing some critical files.
 
I have installed the MS VC++ 2010 and there are following build errors:

PHP:
1>LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
1>C:\SSU\Orbitersdk\Space Shuttle Ultra\Debug\SSUTruck.dll : fatal error LNK1120: 1 unresolved externals
3>  main.cpp
3>c:\ssu\orbitersdk\libultra\libultratests\src\main.cpp(1): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory

The "gtest.h" is repeating multiple times for different *.cpp files
 
I have installed the MS VC++ 2010 and there are following build errors:

PHP:
1>LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
1>C:\SSU\Orbitersdk\Space Shuttle Ultra\Debug\SSUTruck.dll : fatal error LNK1120: 1 unresolved externals
3>  main.cpp
3>c:\ssu\orbitersdk\libultra\libultratests\src\main.cpp(1): fatal error C1083: Cannot open include file: 'gtest/gtest.h': No such file or directory

The "gtest.h" is repeating multiple times for different *.cpp files
The gtest.h error messages are from the libUltraTest project, it's not critical so you can just disable it in the solution.

The SSUTruck project is also non-critical, just disable it as it doesn't work yet.
 
The CTD is caused by an invalid mesh file SSU/Orbiter.msh

the line 10916 reads

PHP:
5031 5030 -1

11280 reads

PHP:
-1 5308 5307
 
The CTD is caused by an invalid mesh file SSU/Orbiter.msh

the line 10916 reads

PHP:
5031 5030 -1

11280 reads

PHP:
-1 5308 5307
Could you explain what's wrong those lines? I can't see anything wrong with the actual mesh in AC3D.
 
Could you explain what's wrong those lines? I can't see anything wrong with the actual mesh in AC3D.
I don't have the mesh file in front of me, but it looks like the index of a vertex in 2 faces is negative in those 2 lines, where it should be positive, 0 based (EDIT: yeah, I confirm that's the case, after I've downloaded the mesh file).

The in-line client probably ignores that and doesn't render those 2 faces at all, but it causes an error in the graphics client.
 
Would it be possible to implement a mesh debugger that would allow you to check the vertices/faces in-sim? It does load sometimes so this would be of great value to track down the problems once and for all.

Edit:
That's the strange part of all this, that the mesh loads flawlessly every so often.
 
Last edited:
Back
Top