What ???Is the Yahoo in Dx9 just for today ?
For those who have tested it, may I ask what is it about?...Also a small teaser of an upcoming project OrbiterGUI is uploaded...
Client uploaded to Tuttovola.I won't be able to upload the latest releases to Tuttovola.org for the next days, so grab your D3D9 from Jarmonik's post above.
The M indicates that this is not a reproducible build (M for Modified)!D3D9 client causes Orbiter to not display scenarios description. Orbiter 2016 with latest D3D9 client (r1038M).
D3D9Client only accesses anything from the scenario folder to read information it can not get via the API Orbiter provides.The problem occurs only on startup, which means if I started Orbiter with D3D9 de-activated then I activated it later, it works. It doesn't work only if D3D9 client is enabled on startup.
I've installed this version: https://www.orbiter-forum.com/showthread.php?p=586107&postcount=4699The M indicates that this is not a reproducible build (M for Modified)!
This should never have been released, although it might have been.
But that's possibly not the biggest issue here as others do not have that problem with that release.
D3D9Client only accesses anything from the scenario folder to read information it can not get via the API Orbiter provides.
It never purposely changes the display of scenario information in the Launchpad dialog.
Nevertheless could any incorrect programming in the client "shoot" into the routines of the main (Orbiter) program and change its behavior.
I took a very close look into that code parts that might be responsible and can not see anything obvious.
Just to make sure what's on your side:
Do you have anything "out of the normal" with your "Orbiter 2016" installation?
Like symbolic links to "shared folders" or folders that are shared between any two Orbiter installations (Orbiter BETA and Orbiter 2016 for example).
Is your Orbiter 2016 installation located in the "Program Files (x86)" or "Program Files" folder and you have not set the access rights (recursively) on all the sub-folder (UAC)?
---------- Post added at 21:04 ---------- Previous post was at 17:18 ----------
...and:
Can you reproduce the startup issue when D3D9Client is the only Module active?
That seems to be all fine so far:thumbup:I've installed this version: https://www.orbiter-forum.com/showthread.php?p=586107&postcount=4699
My Orbiter installation is working without any problems. Just this problem with D3D9. I've fixed Lua interpreter problem.
There are no symbolic links in both (2016 and Beta), just linking Beta texture directory to 2016 one. Nothing else.
Both are installed in D (Another hard drive), away from Program Files.
That is a very strange behavior...and I can't see why D3D9Clients activation has such an impact.The problem happens also with all add-ons disabled except D3D9.
When I open Orbiter, it lags a few seconds on this view:
[...]
Then it doesn't show the scenario description. Disabling D3D9, the lag doesn't happen and I have the description.
That seems to be all fine so far:thumbup:
That is a very strange behavior...and I can't see why D3D9Clients activation has such an impact.
I've created a local setup here to re-create your "installation" and I can not reproduce anything like that.
Is there any Virus-scanner blocking the DLL from being loaded?
Any graphic-card special settings for the Orbiter_ng executable?
I'm out of ideas to be honest :idk::shrug:
I would recommend to make a complete clean 2016 setup with only D3D9Client as extra add-on[1] and see what happens.
[1] not even installing Textures, as the issue already starts waaaaay earlier at the launchpad dialog
I believe that this is a result of LensFlare post processing option and is a known issue, so the easy fix is to simply switch to another option or turn off post processing altogether in your D3D9 Advanced Setup menu.
No worries. :thumbup: Glad that you've found the root cause!I found the problem. It's all from ReShade preset. After removing d3d9.dll, the scenario description comes again. I am so sorry for wasting your time.
Is there any way to control specular reflections using a roughness map? I'm thinking intensity as well as color. Or are those limited to actual specular reflection maps?
No worries. :thumbup: Glad that you've found the root cause!
D3D9: D3DDTCAPS_FLOAT16_4..... : Yes
D3D9: Runs under WINE......... : No
D3D9: Available Texture Memory : 4080 MB
We probably should add "Runs under genuine D3D...: ?" but I haven't found a way to do a CRC check for the libraries. Digital signature checks are looking pretty complicated.
**** Orbiter.log
000000.000: Build Sep 5 2018 [v.180905]
000000.000: Timer precision: 1e-07 sec
000000.000: Found 0 joystick(s)
000000.000: Module AtlantisConfig.dll .... [Build 180905, API 180811]
000000.000: Module AtmConfig.dll ......... [Build 180905, API 180811]
000000.000: Module DGConfigurator.dll .... [Build 180905, API 180811]
000000.000: Module Meshdebug.dll ......... [Build 180905, API 180811]
000000.000: Module DX9ExtMFD.dll ......... [Build 170903, API 170827]
000000.000: Module OrbiterSound.dll ...... [Build 121120, API 100830]
000000.000: Module CameraMFD.dll ......... [Build 181011, API 180811]
000000.000: ---------------------------------------------------------------
000000.000: BaseDir : C:\Program Files (x86)\Orbiter\D3D9ClientDev_180905 (BETA r84)\
000000.000: ConfigDir : C:\Program Files (x86)\Orbiter\D3D9ClientDev_180905 (BETA r84)\Config\
000000.000: MeshDir : C:\Program Files (x86)\Orbiter\D3D9ClientDev_180905 (BETA r84)\Meshes\
000000.000: TextureDir : C:\Program Files (x86)\Orbiter\D3D9ClientDev_180905 (BETA r84)\Textures\
000000.000: HightexDir : C:\Program Files (x86)\Orbiter\D3D9ClientDev_180905 (BETA r84)\Textures2\
000000.000: ScenarioDir: C:\Program Files (x86)\Orbiter\D3D9ClientDev_180905 (BETA r84)\Scenarios\
000000.000: [B]---------------------------------------------------------------
000000.000: D3D9 DLLs : C:\WINDOWS\SYSTEM32\d3d9.dll [v 10.0.17763.1]
000000.000: : C:\WINDOWS\SYSTEM32\d3dx9_43.dll [v 9.29.952.3111]
000000.000: ---------------------------------------------------------------[/B]
000000.000: Module D3D9Client.dll ........ [Build 190111, API 180811]
000000.000: Module DockingCamera.dll ..... [Build 181227, API 180811]
// ===========================================================================
// Logs loaded D3D9 DLLs and their versions to Orbiter.log
//
void OapiExtension::LogD3D9Modules(void)
{
HMODULE hMods[1024];
HANDLE hProcess;
DWORD cbNeeded;
// Get a handle to the process.
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, GetCurrentProcessId());
if (NULL == hProcess) {
return;
}
// Get a list of all the modules in this process.
if (EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
{
for (unsigned int i = 0, n = 0; i < (cbNeeded / sizeof(HMODULE)); ++i)
{
TCHAR szModName[MAX_PATH];
if (GetModuleBaseName(hProcess, hMods[i], szModName, ARRAYSIZE(szModName)))
{
std::string name = std::string(szModName); toLower(name);
// Module of interest?
if (name == "d3d9.dll" || 0 == name.compare(0, 6, "d3dx9_"))
{
// Get the full path to the module's file.
if (GetModuleFileNameEx(hProcess, hMods[i], szModName, ARRAYSIZE(szModName)))
{
TCHAR versionString[128] = "";
DWORD dummy = 0;
LPDWORD pDummy = 0;
DWORD versionInfoSize = GetFileVersionInfoSize(szModName, pDummy);
if (versionInfoSize) {
char *data = new char[versionInfoSize]();
if (GetFileVersionInfo(szModName, dummy, versionInfoSize, data))
{
UINT size = 0;
VS_FIXEDFILEINFO *verInfo;
if (VerQueryValue(data, "\\", (LPVOID*)&verInfo, &size) && size)
{
sprintf_s(versionString, ARRAYSIZE(versionString),
" [v %d.%d.%d.%d]",
HIWORD( verInfo->dwProductVersionMS ),
LOWORD( verInfo->dwProductVersionMS ),
HIWORD( verInfo->dwProductVersionLS ),
LOWORD( verInfo->dwProductVersionLS )
);
}
}
delete[] data;
}
// Print the module name.
auto prefix = (n++ ? " " : "D3D9 DLLs");
oapiWriteLogV("%s : %s%s", prefix, szModName, versionString);
}
}
}
}
}
// Release the handle to the process.
CloseHandle( hProcess );
}
... I can say: 50%- Added a CRC check. Does it work ?
000000.000: ---------------------------------------------------------------
000000.000: D3D9 DLLs : C:\WINDOWS\SYSTEM32\d3d9.dll [v 10.0.17763.1] CRC=0x95F5 (Fail)
000000.000: : C:\WINDOWS\SYSTEM32\d3dx9_43.dll [v 9.29.952.3111] CRC=0x6FE6 (Pass)
000000.000: ---------------------------------------------------------------
@jarmonik: Regarding your r1046 commit message:
... I can say: 50%
This is what my system reports:
Code:000000.000: --------------------------------------------------------------- 000000.000: D3D9 DLLs : C:\WINDOWS\SYSTEM32\d3d9.dll [v 10.0.17763.1] CRC=0x95F5 (Fail) 000000.000: : C:\WINDOWS\SYSTEM32\d3dx9_43.dll [v 9.29.952.3111] CRC=0x6FE6 (Pass) 000000.000: ---------------------------------------------------------------
000000.000: ---------------------------------------------------------------
000000.000: D3D9 DLLs : C:\Windows\SYSTEM32\d3dx9_43.dll [v 9.29.952.3111] CRC=0x6FE6 (Pass)
000000.000: : C:\Windows\SYSTEM32\d3d9.dll [v 10.0.17134.81] CRC=0xC0CB (Pass)