New Release D3D9Client Development

I have problem with TI Ares.
Code:
**** Orbiter.log
Build Aug 30 2010 [v.100830]
Timer precision: 6.98413e-008 sec
Found 0 joystick(s)
Module AtlantisConfig.dll .... [Build 100830, API 100830]
Module AtmConfig.dll ......... [Build 100830, API 100830]
Module DGConfigurator.dll .... [Build 100830, API 100830]
Module D3D9Client.dll ........ [Build 130705, API 100830]
Module ExtMFD.dll ............ [Build 100830, API 100830]
Module FlightData.dll ........ [Build 100830, API 100830]
Module ScnEditor.dll ......... [Build 100830, API 100830]
Module transx.dll ............ [Build 100824, API 100823]
Module OrbiterSound.dll ...... [Build 121120, API 100830]
Module CamShake.dll .......... [Build 100811, API 100606]
Module FirstPerson.dll ....... [Build ******, API 060425]

**** Creating simulation session
D3D9Client: [DirectX 9 Initialized]
D3D9Client: Sytem has XNA math support
D3D9Client: [3DDevice Initialized]
D3D9Client: [Compiling Effects for Shader Model 3.0]
D3D9Client: [Loading Stars]
D3D9Client: [Loading Constellations]
D3D9Client: [D3D9Client Initialized]
Module Sun.dll ............... [Build 100830, API 100830]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
Module Mercury.dll ........... [Build 100830, API 100830]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
Module Venus.dll ............. [Build 100830, API 100830]
Module VenusAtm2006.dll ...... [Build 100830, API 100830]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
Module Earth.dll ............. [Build 100830, API 100830]
Module EarthAtmJ71G.dll ...... [Build 100830, API 100830]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
Module Moon.dll .............. [Build 100830, API 100830]
ELP82: Precision 1e-005, Terms 116/829
Module Mars.dll .............. [Build 100830, API 100830]
Module MarsAtm2006.dll ....... [Build 100830, API 100830]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
Module Phobos.dll ............ [Build ******, API 060425]
Module Deimos.dll ............ [Build ******, API 060425]
Module Galsat.dll ............ [Build 100217, API 100215]
Module Jupiter.dll ........... [Build 100830, API 100830]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
Module Io.dll ................ [Build 100217, API 100215]
Module Europa.dll ............ [Build 100217, API 100215]
Module Ganymede.dll .......... [Build 100217, API 100215]
Module Callisto.dll .......... [Build 100217, API 100215]
Module Satsat.dll ............ [Build 100215, API 100212]
Module Saturn.dll ............ [Build 100830, API 100830]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
Module Mimas.dll ............. [Build 100215, API 100212]
SATSAT Mimas: Terms 113
Module Enceladus.dll ......... [Build 100215, API 100212]
SATSAT Enceladus: Terms 33
Module Tethys.dll ............ [Build 100215, API 100212]
SATSAT Tethys: Terms 101
Module Dione.dll ............. [Build 100215, API 100212]
SATSAT Dione: Terms 59
Module Rhea.dll .............. [Build 100215, API 100212]
SATSAT Rhea: Terms 68
Module Titan.dll ............. [Build 100215, API 100212]
SATSAT Titan: Terms 100
Module Iapetus.dll ........... [Build 100215, API 100212]
SATSAT Iapetus: Terms 605
Module Uranus.dll ............ [Build 100830, API 100830]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
Module Miranda.dll ........... [Build ******, API 060425]
Module Ariel.dll ............. [Build ******, API 060425]
Module Umbriel.dll ........... [Build ******, API 060425]
Module Titania.dll ........... [Build ******, API 060425]
Module Oberon.dll ............ [Build ******, API 060425]
Module Neptune.dll ........... [Build 100830, API 100830]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
Finished initialising world
Module Pegasus.dll ........... [Build 121204, API 100830]
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: VESSEL::SetBankMomentScale
At least one active module is accessing an obsolete interface function.
Addons which rely on obsolete functions may not be compatible with
future versions of Orbiter.
---------------------------------------------------------------
Module Arm.dll ............... [Build 110509, API 100830]
Finished initialising status
Finished initialising camera
Finished initialising panels
Finished setting up render state
Base Object 0x215D168 = 'Orpheus Landing Site' not cataloged
Base Object 0x220DA18 = 'Marineris' not cataloged
Base Object 0x220E450 = 'Kraken Mare Outpost' not cataloged
Base Object 0x220DD80 = 'Hermes Landing Site' not cataloged
Base Object 0x220E0E8 = 'Europa Landing Site' not cataloged
Base Object 0x220E7B8 = 'Messier Landing Site' not cataloged
D3D9Client: [Scene Initialized]
Configuration file not found for object 0x220DA18
Configuration file not found for object 0x220DA18
D3D9Client: [Session Closed. Scene deleted.]
**** Closing simulation session

**** Creating simulation session
D3D9Client: [DirectX 9 Initialized]
D3D9Client: Sytem has XNA math support
D3D9Client: [3DDevice Initialized]
D3D9Client: [Compiling Effects for Shader Model 3.0]
D3D9Client: [Loading Stars]
D3D9Client: [Loading Constellations]
D3D9Client: [D3D9Client Initialized]
Module Sun.dll ............... [Build 100830, API 100830]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
Module Mercury.dll ........... [Build 100830, API 100830]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
Module Venus.dll ............. [Build 100830, API 100830]
Module VenusAtm2006.dll ...... [Build 100830, API 100830]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
Module Earth.dll ............. [Build 100830, API 100830]
Module EarthAtmJ71G.dll ...... [Build 100830, API 100830]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
Module Moon.dll .............. [Build 100830, API 100830]
ELP82: Precision 1e-005, Terms 116/829
Module Mars.dll .............. [Build 100830, API 100830]
Module MarsAtm2006.dll ....... [Build 100830, API 100830]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
Module Phobos.dll ............ [Build ******, API 060425]
Module Deimos.dll ............ [Build ******, API 060425]
Module Galsat.dll ............ [Build 100217, API 100215]
Module Jupiter.dll ........... [Build 100830, API 100830]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
Module Io.dll ................ [Build 100217, API 100215]
Module Europa.dll ............ [Build 100217, API 100215]
Module Ganymede.dll .......... [Build 100217, API 100215]
Module Callisto.dll .......... [Build 100217, API 100215]
Module Satsat.dll ............ [Build 100215, API 100212]
Module Saturn.dll ............ [Build 100830, API 100830]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
Module Mimas.dll ............. [Build 100215, API 100212]
SATSAT Mimas: Terms 113
Module Enceladus.dll ......... [Build 100215, API 100212]
SATSAT Enceladus: Terms 33
Module Tethys.dll ............ [Build 100215, API 100212]
SATSAT Tethys: Terms 101
Module Dione.dll ............. [Build 100215, API 100212]
SATSAT Dione: Terms 59
Module Rhea.dll .............. [Build 100215, API 100212]
SATSAT Rhea: Terms 68
Module Titan.dll ............. [Build 100215, API 100212]
SATSAT Titan: Terms 100
Module Iapetus.dll ........... [Build 100215, API 100212]
SATSAT Iapetus: Terms 605
Module Uranus.dll ............ [Build 100830, API 100830]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
Module Miranda.dll ........... [Build ******, API 060425]
Module Ariel.dll ............. [Build ******, API 060425]
Module Umbriel.dll ........... [Build ******, API 060425]
Module Titania.dll ........... [Build ******, API 060425]
Module Oberon.dll ............ [Build ******, API 060425]
Module Neptune.dll ........... [Build 100830, API 100830]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
Finished initialising world
Module Pegasus.dll ........... [Build 121204, API 100830]
Module Arm.dll ............... [Build 110509, API 100830]
Module Ares.dll .............. [Build ******, API 060425]
Finished initialising status
Finished initialising camera
Finished initialising panels
Finished setting up render state
Base Object 0x21B5DE0 = 'Orpheus Landing Site' not cataloged
Base Object 0xE4596E0 = 'Marineris' not cataloged
Base Object 0xE45A118 = 'Kraken Mare Outpost' not cataloged
Base Object 0xE459A48 = 'Hermes Landing Site' not cataloged
Base Object 0xE459DB0 = 'Europa Landing Site' not cataloged
Base Object 0xE45A480 = 'Messier Landing Site' not cataloged
---------------------------------------------------------------
>>> ERROR: Invalid mesh handle. Returned NULL. (Continuing)
>>> [oapiMeshGroup | .\OrbiterAPI.cpp | 1196]
---------------------------------------------------------------
Orbiter Version 100830
D3D9Client Build [Jul  5 2013]
Exception Code=0xC0000005, Address=0x0CFBA4E9
EAX=0x00000000 EBX=0x03DC42E8 ECX=0x00000000 EDX=0x0E205E38 ESI=0x00000000 EDI=0x00000000 EBP=0x0E206C44 ESP=0x009FF39C EIP=0x0CFBA4E9
D:\Games\Orbiter\Modules\ISV Pegasus\Ares.dll EntryPoint=0x0CFBF076, Base=0x0CFB0000, Size=163840
Critical exception in gc->RegisterVisObject(0xE205E38, 0x3DC42E8) (Ares).
VesselClass Name = ISV Pegasus\Landers\Ares
!!! Abnormal Program Termination !!!
 
I have problem with TI Ares.

The Add-On is incompatible. Not a client issue. There's nothing I can do about it right now. We would need something that would unload incompatible modules.
 
Jarmonik, thank you for version12. Is there anything that can be done to get a slight glow effect, for example, on the emissive parts of a spacecraft. You could select it the same as you do for the reflection, freshnel and other settings.?
 
Here is R12 release. If everything is alright then I'll upload it to CodePlex.

Hi Jarmo,

I took the liberty to update the documentation ;)
If my description (of FPS Limiter) is OK you should update these for the upcoming CodePlex release.

Contact me for any further needed assistance.

/Kuddel
 
I'll try to include that in the next release. The status of the debug controls isn't saved anywhere. Therefore, you would need to enable it every time when the simulation is started. I'll try to find some better way to do that.

For what I see it as being useful for, for me anyway, is to counter-act the high frame rate issues with getting things to stay landed, and not skip or fly away, especially present in low gravity situations, so to not have the status saved is not really an issue for that, but I do see it being preferred in terms of having a polished complete release.

I don't see really the need to have the ability to set the new target frame rate inside the sim, your solution of having it be set in the .cfg makes sense to me, and should work well.

Thanks for looking into this capability, I do appreciate it. It will greatly help especially using UMMUs in low gravity situations.

:cheers:
 
Here is R12 release. If everything is alright then I'll upload it to CodePlex.

I have been looking for what client to use in running the 121103 beta. Will this work, and if not, could you please point me to the version compatible with the beta? Thanks so much for your work. You're an invaluable asset!
 
Will this work, and if not, could you please point me to the version compatible with the beta?
Graphics client for Orbiter 100830 won't work with Orbiter 121103, because graphics interface changed in Orbiter 120824. You need to wait for the new version of D3D9Client for beta being uploaded to Codeplex.

For now, you can find D3D9Client R10 for Orbiter beta 130101 (SVN r.20) there, but I don't think it would be compatible with Orbiter 121103 (IIRC, graphics interface has changed again in December 2012): http://d3d9client.codeplex.com/releases/view/103310.

You will need to update your beta version of Orbiter to use it.
 
Here is R12 release. If everything is alright then I'll upload it to CodePlex.
Thanks for this new release Jarmo :thumbup:

Now that we have OrbiterSound 4.0, you'll maybe want to remove the 3.5 reference to the message "OrbiterSound not installed", when one clicks on the "create symbolic links" button.

NXNsXRN.png
 
Thanks for this new release Jarmo :thumbup:

Now that we have OrbiterSound 4.0, you'll maybe want to remove the 3.5 reference to the message "OrbiterSound not installed", when one clicks on the "create symbolic links" button.

NXNsXRN.png

Kuddel, could you address this issue.

Also, I noticed that the orbiter sound version detection is depended about "Sound\version.txt" file. If the file is deleted then it would confuse the client.

Do we need keep supporting Orbiter Sound 3.5 ? Unless I am mistaking 4.0 doesn't require the symbolic links anymore. If someone wishes to use 3.5 then he could create the links manually. Any thoughts ?

---------- Post added at 14:48 ---------- Previous post was at 14:44 ----------

I have been looking for what client to use in running the 121103 beta. Will this work, and if not, could you please point me to the version compatible with the beta? Thanks so much for your work. You're an invaluable asset!

I will upload a version for the latest beta in the CodePlex at the same time with 100830. May take a few days.
 
Do we need keep supporting Orbiter Sound 3.5 ? Unless I am mistaking 4.0 doesn't require the symbolic links anymore. If someone wishes to use 3.5 then he could create the links manually. Any thoughts ?

My advice is that there are absolutely no advantages to keep using OS 3.5 instead of OS 4.0, so I'd say, don't spend precious time on that :2cents:
 
Same. Orbiter Sound 4.0 should now be considered standard.

And correct, it was designed to be fully graphics client compatible, so no more need for it to have symbolic links to work.
 
Graphics client for Orbiter 100830 won't work with Orbiter 121103, because graphics interface changed in Orbiter 120824. You need to wait for the new version of D3D9Client for beta being uploaded to Codeplex.

For now, you can find D3D9Client R10 for Orbiter beta 130101 (SVN r.20) there, but I don't think it would be compatible with Orbiter 121103 (IIRC, graphics interface has changed again in December 2012): http://d3d9client.codeplex.com/releases/view/103310.

You will need to update your beta version of Orbiter to use it.

Ok thanks for the info. I already downloaded the R10 for Beta. But how do I get the 130101 beta? Forgive me guys for some seemingly stupid questions. I'm new to this. Baby talks appreciated.
 
Kuddel, could you address this issue.
Sure.

Also, I noticed that the orbiter sound version detection is depended about "Sound\version.txt" file. If the file is deleted then it would confuse the client.
Yeah, but people who delete this file should also be able to create smbolic links by themselves ;)
Anyway, I think we can completely remove the "create sound-link" feature from the next Version of D3D9Client without hurting too many users.

Do we need keep supporting Orbiter Sound 3.5 ? Unless I am mistaking 4.0 doesn't require the symbolic links anymore. If someone wishes to use 3.5 then he could create the links manually. Any thoughts ?
I will remove this. In case anyone still needs/wants the 'old' OrbiterSound, this forum has some skillful members to help (if one asks nicely) ;)
 
Last edited:
Thanks for this new release Jarmo :thumbup:

Now that we have OrbiterSound 4.0, you'll maybe want to remove the 3.5 reference to the message "OrbiterSound not installed", when one clicks on the "create symbolic links" button.

NXNsXRN.png

What exactly caused this. Did you have OrbiterSound 4.0 installed or nothing installed ? So, did the client fail to identify the version of OS or was there just a wrong text displayed ?
 
Hi Jarmo,

I've looked at the code and removed the OrbiterSound 3.5 reference (only the text ;) ).
I wanted to remove the complete OrbiterSound-Detection, but we still need to detect whether there is OrbiterSound 4.0 running:


OrbiterSound 4.0 did not play the sounds of the 'focused' Vessel when focus changed during playback. Therfore the D3D9Client does a oapiSetFocusObject call when playback is running.
It's an OrbiterSound error, but we can work-around this, so we do!
See also: http://www.orbiter-forum.com/showthread.php?p=392689&postcount=18 and following...

So the current revision (r27206) still has the ability to create the symbolic link for OrbiterSound 3.5, but only people that still use that will notice ;)

/Kuddel

---------- Post added at 22:46 ---------- Previous post was at 22:39 ----------

What exactly caused this. Did you have OrbiterSound 4.0 installed or nothing installed ? So, did the client fail to identify the version of OS or was there just a wrong text displayed ?
This only happens (happened) when you don't have any OrbiterSound installed. No 3.5, no 4.0 no sound add-on at all.
In that case the text was displayed.
Now the text will just say: "OK. OrbiterSound not installed." like this:
-----------------------------------
Config: OK. Link created.
Sound: OK. OrbiterSound not installed.
-----------------------------------

We can of course argue about wheter we might say "O.K. No OrbiterSound installed." or if we completely skip this message in such a case ;)

<irony> We should open a poll for this :lol: </irony>

/Kuddel

---------- Post added at 23:50 ---------- Previous post was at 22:46 ----------

I have to add something:

  1. It is/was not a OrbiterSound problem, it's a "Orbiter(Beta) with OrbiterSound 4.0" problem. Sorry I didn't want to blame the wrong one ;)
  2. The detailed inspection results can be found here http://www.orbiter-forum.com/showthread.php?p=392854&postcount=34
...just to inform you.

/Kuddel
 
What exactly caused this. Did you have OrbiterSound 4.0 installed or nothing installed ? So, did the client fail to identify the version of OS or was there just a wrong text displayed ?
Sorry Jarmo, you're right. I should have mentioned it in my previous post.

It was a new Orbiter2010P1 install, with no OrbiterSound, and no other add-ons.
Only your latest D3D9 R12.

...Yeah, but people who delete this file should also be able to create smbolic links by themselves ;)...
I agree, but...Why should people remove that file at all?
 
Last edited:
I agree, but...Why should people remove that file at all?
- To save 137 bytes of disk-space
- To see what happens
- and...because they can ;)

O.K. back to the original topic:

The next D3D9Client will still have the "Create symbolic links" button available, but the code to create the link for "sound" might be removed in future versions.

Anyway, I still think that the whole issue should be handled by Orbiter_ng itself (changing the working directory maybe?).
But as I've written before: As long as we (D3D9Client) can work-around, we should keep that option.

/Kuddel
 
(changing the working directory maybe?)
The working directory is Orbiter's root directory. If it was changed to Modules/Server or any other than Orbiter's root, the scenarios list would be empty when you launched it. The fault is in how add-ons are getting the path (path to orbiter.exe process), and not Orbiter's, which itself is respecting the working directory just right.
 
The working directory is Orbiter's root directory. If it was changed to Modules/Server or any other than Orbiter's root, the scenarios list would be empty when you launched it. The fault is in how add-ons are getting the path (path to orbiter.exe process), and not Orbiter's, which itself is respecting the working directory just right.
OK. Thanks for the info.
I still can not think of a sane way a module (Spacecraft3.dll) can get a wrong "root-dir"... but searching any "Orbiter.exe" might end up in "Modules/Server/" path.

So again I was blaming the wrong party :embarrassed:
...mea culpa, mea culpa, mea maxima culpa...

Spacecraft3.dll seems not to be evolving into a "next version", so do you have any short info on how the follow-up project ("genericvessel" is the name I think) is doin' ?
 
I still can not think of a sane way a module (Spacecraft3.dll) can get a wrong "root-dir"... but searching any "Orbiter.exe" might end up in "Modules/Server/" path.
Using "GetModuleFileName (oapiGetOrbiterInstance (), ptrToOutputCharBuffer, charBufferLength);" will get you path to orbiter.exe in Modules/Server and not its root dir (because that's where the loaded orbiter.exe is located), and Spacecraft3 has GetModuleFileName in its import table.
 
Back
Top