I can't program. Can I still use CVE-lite vessels?
Yes! Whilst CVE-lite
is aimed at developers, the
benefits of incorporating it into their ships are felt squarely by the
users. You can use GPDS
describe any combination of payloads to the supported vessels. Want to
on a Saturn V
? It's just a single line
in a scenario away. See GPDS
for more information!
Can I add CVE-lite compatibility to this vessel? I'm a
Yes! If you are a C++ programmer and have the source available,
incorporating CVE-lite is not
at all difficult. Have a look at the example tutorial for more
Can I add CVE-lite compatibility to this vessel? I'm
not a programmer.
No, sorry. CVE-lite is a
programming library, you need to recompile the vessel with CVE-lite support. Try contacting the
author of the add-on and asking if he will consider releasing a CVE-lite based version.
Can I use a non-CVE-lite vessel as a PAYLOAD in GPDS?
Yes! Any vessel capable of spawning itself on the fly can be a payload in a GPDS string. For example the Module-1, Module-2 and Carina all work perfectly as PAYLOADs.
Can I use a non-CVE-lite vessel as a STAGE in GPDS?
No, sorry. All STAGEs need to
be CVE-lite compatible, otherwise it's not possible to send them the GPDS stack information for them to
carry on as an upper stage to the current vessel.
I've found this great vessel, but it doesn't work as a
PAYLOAD. It crashes. Can you help?
Unfortunately some programmers -- especially of multistaged vessels --
haven't taken into account the requirement for their vessels to be
created dynamically by others during an Orbiter simulation. If, when you
try to jettison a non-CVE-lite
vessel as PAYLOAD, Orbiter crashes, it's likely to be
a problem with the vessel itself. Try contacting the author to see if
he can add the ability for it to be created without relying on a
How do the
inter-vessel communications now work?
In order to future-proof CVE-lite
, from BETA 3 there is now a
"helper" DLL called that co-ordinates inter-vessel communications
meaning that a vessel compiled under a version of the library >=
BETA 3 should work with any other compiled on any other version of the
library >= BETA 3! How it works is the messenger DLL stores a list
of pending messages, and the vessel that they are destined for. Every
time a vessel polls for a message, if any are found, they are returned
to the vessel in the order they were sent and their containers freed up
for new messages. At the same time, if any messages are found older
than 30 seconds
, they are
discarded to free up space again. This has two effects:
- incompatible vessels simply never get the messages
instead of potentially crashing;
- two compatible vessels never actually address each
other directly, just the messenger DLL, whose functions are referenced
purely by name. This means the version of the library they were built
with is irrelevent.
How do I make sure my vessel is CVE-lite compatible?
Does it have auto?