Adding functionalities to orbiter?

Erupter

New member
Joined
Jan 3, 2009
Messages
51
Reaction score
0
Points
0
Location
Rome
I was titillating with an idea and gone have a look ad the sdk docs.
In what i read there is no hint at how to provide a functionality to the base orbiter for every other vessel to use.
Is it possibile at all by makeing a dll?
Or should i go and ask Martin to work on the orbiter core?
Going the dll way would be much easier on me, am not the kind of developer myself :P
 
I was titillating with an idea and gone have a look ad the sdk docs.
In what i read there is no hint at how to provide a functionality to the base orbiter for every other vessel to use.
Is it possibile at all by makeing a dll?
Or should i go and ask Martin to work on the orbiter core?
Going the dll way would be much easier on me, am not the kind of developer myself :P
You can create a plugin for Orbiter which can act on all vessels, if you know how. There's not that much that you can't do with a plugin.
 
You can create a plugin for Orbiter which can act on all vessels, if you know how. There's not that much that you can't do with a plugin.

I thought of that, but i couldn't find any reference in the sdk.
There is all about vessels and mfd, but not about general plugins...
At least i haven't found anything.
Can you point me in the right direction?
 
What sort of functionality do you want to add to Orbiter? Artlav has made some pretty impressive plugins which enhance the core.
 
Comms.
I have in my mind a structure to implement vessel-2-vessel communications and control.
 
This might be worth looking at:-

[ame="http://www.orbithangar.com/searchid.php?ID=3719"]Orb:Connect C++ Project - Version 1.1[/ame]

Reverend and others, have done work on comms betwen vessels. I think Reverend is the last to be working on this?

N.


N.
 
I think it's certainly workable. I use the Remote Vessel Control MFD all the time to de-orbit booster stages.

Is this what you have in mind ?

Example:

The plugin or MFD opens a dialog box that gives you complete control of another vessel in a more dynamic way by allowing you to access it's controls such as showing its own MFDs to allow you set it on an interplanetary course with a double instance of the Interplanetary MFD.
 

I think it's certainly workable. I use the Remote Vessel Control MFD all the time to de-orbit booster stages.

Is this what you have in mind ?

No.
What i have in mind is nothing like this.
It's more on the point of "entertainment" then on "functionality".
I thought of wreking some havoc on the comm system.
Bringing dynamic communications between vessels, like on approach, docking, un-docking, etc...
Something like a chatter, asking permission, receiving permission, receiving commands and authorizations...
Those kinda things.
I really feel Orbiter to be... well too empty :P
 
The sort of thing you are looking for could possibly be done with a generic plugin. Important to remember though is that there are no default callbacks for events like approaching another vessel so you would have to scan for this type of event each time step (or less if time resolution is not so important). For example, your plugin could check the distance between all vessels and when they get within 1000m, you take some action like display a message on the screen. It would seem doable, although OrbiterSound support might be doubtful (needs an MFD or VESSEL class, IIRC).

Another option is you could publish an extension to the VESSEL base class (eg, like Kulch's Payload Manager) that developer's could include in their code for specific vessel support.

For generic plugin code, I recommend looking at the Scenario Editor and/or ExtMFD code, which give a good indication of what is possible with a plugin. Also look at section 17 of the API_Reference.pdf which contains all the info on the generic plugin callbacks. There are a few that are not documented though which may be useful to you (see Scenario Editor and ExtMFD code for usage):

Code:
DLLCLBK void opcSaveState(FILEHANDLE scn)
DLLCLBK void opcLoadState(FILEHANDLE scn)
DLLCLBK void opcDeleteVessel(OBJHANDLE hVessel)
 
This might be worth looking at:-

http://www.orbithangar.com/searchid.php?ID=3719

Reverend and others, have done work on comms betwen vessels. I think Reverend is the last to be working on this?
Look at the details. Its still an active project :)

Its not really suitable as an ATC platform, although you could create a client that played .wav files based on what a vessel is doing.
 
There is all about vessels and mfd, but not about general plugins...
At least i haven't found anything.
Can you point me in the right direction?
I forgot to mention in my last post, all the oapiXXX functions in section 19 can be called by any plugin module, vessel/mfd or otherwise. Once you have used those functions to get a handle to a vessel, you can access all its VESSEL class member functions using its vessel interface (see oapiGetVesselXXX functions). Perhaps that gives you a better idea of the range of functions that are available to you.
 
Back
Top