Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Addons > Addons
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Notices

Addons A repository for Orbiter addons contributed by users. Developers & members may announce new releases here and discuss any Orbiter addon.

Reply
 
Thread Tools
Old 05-03-2013, 01:22 AM   #1
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default XR1 1.11 / XR2 1.6 / XR5 1.9 Maintenance Releases

Hi all,

New XR maintenance versions have been released along with updated XRVesselCtrl 3.0 APIs. Changes include:
  • Added conductive heat transfer logic to the XR heating code to make it more realistic when flying in dense atmosphere. [Requested by Keatah]
  • Added payload calls to the XRVesselCtrl 3.0 APIs [Requested by Russell Hicks]:

Code:
 
// Returns the total number of payload bay slots in this XR vessel (1-n)
virtual int GetPayloadBaySlotCount() const = 0;

// Returns true if the specified payload bay slot is free
//   slotNumber: 1 <= n <= GetPayloadBaySlotCount()
virtual bool IsPayloadBaySlotFree(const int slotNumber) const = 0;

// Returns details about an XR payload bay slot.  Returns NULL if slotNumber is invalid.
//   slotNumber: 1 <= n <= GetPayloadBaySlotCount()
//   slotDataOut: will be populated with data for the specified slot if slotNumber is valid.  If slotNumber is invalied, the contents of slotDataOut are not changed.
// Returns: true if slotDataOut successfully populated (i.e., slotNumber was valid)
virtual bool GetPayloadSlotData(const int slotNumber, XRPayloadSlotData &slotDataOut) = 0;

// Returns true if the supplied vessel 1) is an XR-compatible payload vessel, and 2) can be latched into the specified slot (i.e., it will fit)
// Note: this does NOT check the status of the payload bay doors: it is the caller's responsibility to do that if desired.
//   slotNumber: 1 <= n <= GetPayloadBaySlotCount()
virtual bool CanAttachPayload(const OBJHANDLE hPayloadVessel, const int slotNumber) const = 0;

// Attempts to grapple the given payload vessel into the specified slot; there is no distance checks, although there is a size check.
// Note: hPayloadVessel must be an XR payload module in order to be gappled into the payload bay.
// Note: this does NOT check the status of the payload bay doors: it is the caller's responsibility to do that if desired.
//   slotNumber: 1 <= n <= GetPayloadBaySlotCount()
// Returns: true on success, false if payload could not be grappled into the requested slot
virtual bool GrapplePayloadModuleIntoSlot(const OBJHANDLE hPayloadVessel, const int slotNumber) = 0;

// Detaches a payload vessel from the specified slot at the specified delta-V along the Y axis (up out of the bay).
// You should normally only call this on vessels that are in space.
// Note: this does NOT check the status of the payload bay doors: it is the caller's responsibility to do that if desired.
//   slotNumber: 1 <= n <= GetPayloadBaySlotCount()
//   deltaV = +Y deployment velocity in meters-per-second (e.g., 0.2)
// Returns: true on success, false if slot is invalid or no payload is attached in the specified slot
virtual bool DeployPayloadInFlight(const int slotNumber, const double deltaV) = 0;

// Detaches a payload vessel from the specified slot and moves it to alongside the ship on the ground.
// You should normally only call this on vessels that are landed and stationary.
// Note: this does NOT check the status of the payload bay doors: it is the caller's responsibility to do that if desired.
//   slotNumber: 1 <= n <= GetPayloadBaySlotCount()
// Returns: true on success, false if slot is invalid or no payload is attached in the specified slot
virtual bool DeployPayloadWhileLanded(const int slotNumber) = 0;

// Detaches all payload vessels at the specified delta-V along the Y axis (up out of the bay).
// You should normally only call this on vessels that are in space.
// Note: this does NOT check the status of the payload bay doors: it is the caller's responsibility to do that if desired.
//   deltaV = +Y deployment velocity in meters-per-second (e.g., 0.2)
// Returns: number of payload vessels deployed
virtual int DeployAllPayloadInFlight(const double deltaV) = 0;

// Detaches all payload vessels and moves them to alongside the ship on the ground.
// You should normally only call this on vessels that are landed and stationary.
// Note: this does NOT check the status of the payload bay doors: it is the caller's responsibility to do that if desired.
// Returns: number of payload vessels deployed
virtual int DeployAllPayloadWhileLanded() = 0;

// contains data about an XR payload bay slot
struct XRPayloadSlotData
{
    VESSEL *hCargoModuleVessel; // Orbiter vessel handle of payload module attached in this slot; will be NULL if slot is empty
    XRVesselCtrl *pParentXRVessel;        // Orbiter vessel handle of the XR vessel to which this bay slot belongs
    ATTACHMENTHANDLE hXRAttachmentHandle; // XR vessel's attachment handle for this bay slot; will never be NULL
    int SlotNumber;             // 1-n
    VECTOR3 localCoordinates;   // XR-vessel-relative coordinates to the center of this payload slot
    bool IsOccupied;            // true if a payload module occupies this slot
    VECTOR3 Dimensions;         // width (X), height (Y), length (Z)
    int BayLevel;               // 1-n (will be one except for multi-level payload bays such as the XR5's)
};
  • Added the following new methods to the XRVesselCtrl 3.0 APIs:

Code:
// Enables or disables MWS test mode (i.e., same as pressing or releasing the 'Test' MWS button)
// Returns: previous state of MWS test mode
virtual bool SetMWSTest(bool bTestMode) = 0;

// Returns true if 'recenter the center-of-gravity' mode is enabled
virtual bool GetRecenterCOGMode() const = 0;

// Enable or disable 'recenter the center-of-gravity' mode.
// Returns: true on success, false if mode could not be set because no pilot is on board
virtual bool SetRecenterCOGMode(const bool bEnableRecenterMode) = 0;

// Returns the status of the external cooling line.
virtual XRDoorState GetExternalCoolingState() const = 0;

// Deploys or retracts the external cooling line and shows a success or failure message on the secondary HUD.
// Returns: true on success, false on error
virtual bool SetExternalCoolingState(const bool bEnabled) = 0;

// Sets fuel cross-feed mode and shows a status message on the secondary HUD
//   state: XF_MAIN, XF_OFF, or XF_RCS
// Returns: true on success, false if state is invalid or no crew members on board
virtual bool SetCrossFeedMode(XRXFEED_STATE state) = 0;
  • Added the following new XRSystemStatusRead fields to the XRVesselCtrl 3.0 APIs:
Code:
// Fields added in API version 3.0
bool MWSAlarmState;         // true = MWS alarm active, false = alarm silenced via alarm reset or no warning active
bool COGAutoMode;           // true = center-of-gravity shift in auto-mode because the Attitude Hold or Descent Hold autopilot is engaged
bool InternalSystemsFailure;// true = internal systems failed due to coolant overheat
double CenterOfGravity;     // CoG shift in meters: 0 = centered, < 0 is forward, > 0 is aft
double CabinO2Level;        // Oxygen fraction in cabin; nominal = .209 (20.9%)

double CoolantTemp;         // in degrees C
double NoseconeTemp;        // in Kelvin
double LeftWingTemp;        // in Kelvin
double RightWingTemp;       // in Kelvin
double CockpitTemp;         // external cockpit hull temperature in Kelvin
double TopHullTemp;         // in Kelvin

double MaxSafeNoseconeTemp; // in Kelvin
double MaxSafeWingTemp;     // in Kelvin
double MaxSafeCockpitTemp;  // in Kelvin
double MaxSafeTopHullTemp;  // in Kelvin
  • Fixed bug where having 'CONFIG_OVERRIDE_MainFuelISP' in the scenario file caused the XR vessel to behave as though 'EnableATMThrustReduction=0' was set in the XR configuration file. [Reported by Blixel]
  • Fixed bug where the engine efficiency indiciator would disappear when flying in extremely dense atmospheres (e.g., on Venus).
  • Cosmetic bugfix to set the XR5's landing gear to fully compressed when the gear collapses or the ship crashes. [Reported by Woo482]
  • You can now reset the MWS (Master Warning System) during replays. [Requested by Blixel]
  • Added code to automatically rescan the payload bay at regular intervals to detect when another add-on manually removed a payload vessel from the bay. [Requested by Russell Hicks.]
  • You can now use hotkeys in addition to mouse clicks to control the following XR instruments during replays:

Code:
CTRL-T        Toggle tertiary HUD on/off.
CTRL-[1-5]    Select secondary HUD mode.
CTRL-H        Hide/show HUD.
ALT-H         Switch to next HUD color.
CTRL-W        Reset the MWS (Master Warning System)
[0-9]         Select MDA mode.
D             Select next MDA mode.
ALT-D         Select previous MDA mode.
  • Fixed bug where fuel in a payload bay tank would sometimes vanish when added via the payload editor [Reported by Blixel]

As always, you can get the latest XR releases from my Web page.

EDIT 25-Aug-2013: The XR DLLs below were linked against Orbiter Beta 121103. Please see this post in the Orbiter-beta-compatible XR DLLs thread for the latest XR Orbiter-beta-compatible DLLs.

I have also built some Orbiter-beta-compatible XR DLL versions. To install one, simply drop the new XR DLL overtop of your existing XR DLL installed from the latest publicly-released XR version:

DeltaGliderXR1-1.11 DLL for Orbiter beta
XR2Ravenstar-1.6 DLL for Orbiter beta
XR5Vanguard-1.9 DLL for Orbiter beta

Known Orbiter Beta issues:
  • OrbiterSound does not play custom wav files under the Orbiter beta, so custom XR voice callouts and sound effects will not play. More information here.
  • XR vessel gear is sunk into the ground somewhat; this is purely a visual issue and will be fixed before new Orbiter version ships. It is occurring because the Orbiter core adjusts the vessel's touchdown points based on touchdown point compression.

Happy Orbiting!

Last edited by dbeachy1; 09-05-2013 at 09:00 PM. Reason: Removed incorrect username from release notes
dbeachy1 is offline   Reply With Quote
Old 05-06-2013, 10:47 AM   #2
Ripley
Tutorial translator
 
Ripley's Avatar
Default

Hi Doug.
Just wondering what was the reason for the latest versions tagged with an "a" and released on the 4th of May?

Ripley is online now   Reply With Quote
Old 05-07-2013, 03:32 AM   #3
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Just a minor bugfix that was reported by crisk73 two days after the new versions shipped -- it was a bug that was pre-existing for over a year at least:

1) With Orbiter auto-refueling enabled in the Launchpad, load a scenario where the XR vessel is landed on a landing pad.
2) Dump main fuel for a bit so it's noticeably lower on the gauge.
3) Lift off for a bit and then land on the pad again.
4) The main tank will be auto-refueled by Orbiter to whatever level it was before the fuel was dumped.

Due to the nature of the bug it was also possible that the XR vessel could be auto-refueled by Orbiter in certain other situations when landing on a pad. Since I didn't want to wait for the next release to fix that and the new maintenance releases had just gone out I went ahead and fixed the bug and uploaded the 'a' patch versions.
dbeachy1 is offline   Reply With Quote
Old 05-10-2013, 09:39 PM   #4
siriusfett1138
Orbinaut
Default

thank Doug
siriusfett1138 is offline   Reply With Quote
Old 08-25-2013, 03:23 PM   #5
Deep Blue
Orbinaut
Default

I was wondering which version was the beta dll's compiled against. Trying to run it on the latest beta (r.20 or 130101) yields a crash, but it works on 121103.
Deep Blue is offline   Reply With Quote
Old 08-25-2013, 03:40 PM   #6
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

That's because this is an old thread. The updated XR versions for the latest Orbiter beta are in this post in the Orbiter-beta-compatible XR DLLs thread.

I'll add a note to the old beta links in this thread.
dbeachy1 is offline   Reply With Quote
Thanked by:
Old 09-01-2013, 04:57 PM   #7
wehaveaproblem
One step closer
 
wehaveaproblem's Avatar

Default

Doug, you 'credit' me for requesting 2 of the new additions... Out of curiosity, when did I request these? I have no recollection of it lol... But I do have a habit of forgetting most things... Cheers for adding them, I'll try and remember why I wanted them.
wehaveaproblem is offline   Reply With Quote
Old 09-05-2013, 04:02 PM   #8
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Quote:
Originally Posted by wehaveaproblem View Post
 Doug, you 'credit' me for requesting 2 of the new additions... Out of curiosity, when did I request these? I have no recollection of it lol... But I do have a habit of forgetting most things... Cheers for adding them, I'll try and remember why I wanted them.
You requested them in an email dated 5-Aug-2012. It started like this:

Quote:
Originally Posted by wehaveaproblem
 Hey Doug,

Hope this email finds things going well for you.

There are a couple features I request be added to the next version of the interface to complete making a couple panels I have installed fully functional. I hope you can find some time to take a look.

<snip>
dbeachy1 is offline   Reply With Quote
Old 09-05-2013, 07:32 PM   #9
wehaveaproblem
One step closer
 
wehaveaproblem's Avatar

Default

Quote:
Originally Posted by dbeachy1 View Post
 You requested them in an email dated 5-Aug-2012. It started like this:



I really don't think that was me lol. Sure you're not crediting the wrong person? I'll PM you the email I use so you can compare, but I don't remember emailing you about those features.
wehaveaproblem is offline   Reply With Quote
Old 09-05-2013, 08:58 PM   #10
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Oops, turns out I had the wrong username in my notes! I'll update the release notes above.
dbeachy1 is offline   Reply With Quote
Thanked by:
Reply

  Orbiter-Forum > Orbiter Addons > Addons


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 08:03 AM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright 2007 - 2012, Orbiter-Forum.com. All rights reserved.