Project XR Rolling Repair

I wonder if you could make XRRR so that at a specific landing speed, e.g. 5-7 m/s vertical speed, you could cause damage to the landing gear, so it wouldn't close (or closed very slowly :hmm:). When you do a hard landing in an XR2, there is a certain point where the landing gear either breaks, or it doesn't break, and it would be nice to have some middle ground, to make it more realistic. In real life, your gear wouldn't be fine after a -5 m/s landing, but then catastrophically fail at -5.0001 m/s. :beathead:

Just a suggestion.

Great addon, by the way!

:thumbup:​
 
I wonder if you could make XRRR so that at a specific landing speed, e.g. 5-7 m/s vertical speed, you could cause damage to the landing gear, so it wouldn't close (or closed very slowly :hmm:). When you do a hard landing in an XR2, there is a certain point where the landing gear either breaks, or it doesn't break, and it would be nice to have some middle ground, to make it more realistic. In real life, your gear wouldn't be fine after a -5 m/s landing, but then catastrophically fail at -5.0001 m/s. :beathead:

Just a suggestion.

Great addon, by the way!

:thumbup:​

When working on XRRR there are four main points I consider:

  1. Don't stamp on their pointers. They don't like it.
  2. The actual damaging of systems is handled by the vessels.
  3. I can't change it, so I simply tell the vessel what to break, by how much, and when, or what to fix, when to fix it, and by how much.
  4. Don't stamp on their pointers.

Doug's vessels use fuzzy logic for damage. Excluding playback scenarios, the actual point at which a component will break when not forced as XRRR does it varies from occasion to occasion. To wit, your gear should not be fine at 5m/s and break at 5.1, there should already be implemented some tolerances and variety in the implemented damage system to "fuzz" that out and blur the actual point of breakage, to better simulate how a real landing gear might operate.

Also, when a component like a door breaks, it breaks open and a portion of the mesh can disappear. When the gear breaks, the internal logic of the vessel physically removes the groups belonging to the gear and their doors through the heat shield, the touchdown points change, and the vessel understands that when it hits the deck, it was a belly landing, so the hover engines take damage accordingly.

I did, very early on, look into having the gear break in an "open" state, such that if it happened on ascent (because for instance you forgot to close it after wheels up) you would have to repair it to close them before you could deorbit. However, after some examination, I came to the conclusion in the above paragraph, and deemed it probably not possible without some alterations to how the gear takes damage.

My general idea behind this is that it should be an addon to the fleet rather than a modification. I'm sure for very minor alterations, dbeachy1 will be open to modifying the code (Such has already happened, with respect to his exposing the UMMU element so that I could poke it to make action areas appear and whatnot), but for things which would wind up being a total pain to implement, like a massive overhaul of the whole damage and failure system already implemented, I think (and I can't obviously speak for Doug) that we're both of the opinion the work involved would probably not equate to the improvement it would provide.

I may be mistaken on the gear damage logic being fuzzy, but I have always assumed it is (It was the fuzzy logic which made the XR vessels unpredictable in playback scenarios, which included gear failures in playbacks where the gear did not fail in the recorded flight), and if so the above should be true.

tl;dr: Probably not, sorry.
 
I discovered a little proble with RCS damage. After a complete forward dorsal bank failure I pressed all numpad keys in rotation and translation mode. I looked at every thruster on the vessel, and they all worked. But the XR-2's warning system's "RCS" light was showing an error. I looked at secondary hud no.4, which shows the thrust of the RCS thruster and again fired all thrusters. RCS3 always had 0.000lb so I decided to do another check. In translation mode I pressed numpad 8, which should push the vessel downward. But the vessel began to rotate and move it's nose up.
So it looks like the thruster failed, but the exhaust textures still show up.

fdfail%20%281%29.jpg
fdfail%20%282%29.jpg


EDIT: Here's the scenario:

Code:
BEGIN_DESC
Orbiter saved state at T = 101927
END_DESC

BEGIN_ENVIRONMENT
  System Sol
  Date MJD 51985.9171841088
END_ENVIRONMENT

BEGIN_FOCUS
  Ship XR2-01
END_FOCUS

BEGIN_CAMERA
  TARGET XR2-01
  MODE Extern
  POS 2.38 166.91 -17.90
  TRACKMODE TargetRelative
  FOV 50.00
END_CAMERA

BEGIN_HUD
  TYPE Surface
END_HUD

BEGIN_MFD Left
  TYPE Map
  REF Earth
  POS 0.00 0.00
END_MFD

BEGIN_MFD Right
  TYPE User
  MODE XR Rolling Repair MFD
END_MFD

BEGIN_PANEL
END_PANEL

BEGIN_SHIPS
ISS:ProjectAlpha_ISS
  STATUS Orbiting Earth
  RPOS -5263144.84 -2985167.65 2981623.23
  RVEL -4021.809 6533.461 -566.761
  AROT -73.61 16.34 151.85
  VROT -0.09 -0.05 0.02
  AFCMODE 7
  PRPLEVEL 0:1.000000
  IDS 0:588 100 1:586 100 2:584 100 3:582 100 4:580 100
  NAVFREQ 0 0
  XPDR 466
END
Mir:Mir
  STATUS Orbiting Earth
  RPOS -6160876.39 -931012.45 2420408.56
  RVEL -2716.895 -694.801 -7189.538
  AROT -151.20 -63.66 -51.00
  VROT -0.08 -0.01 0.01
  AFCMODE 7
  IDS 0:540 100 1:542 100 2:544 100
  XPDR 482
END
Luna-OB1:Wheel
  STATUS Orbiting Moon
  RPOS 2150977.14 -622966.38 -27.41
  RVEL 411.427 1421.267 0.852
  AROT -0.03 0.01 -149.10
  VROT 0.00 -0.00 10.00
  AFCMODE 7
  IDS 0:560 100 1:564 100
  XPDR 494
END
XR2-01:XR2Ravenstar
  STATUS Orbiting Earth
  RPOS -5079992.48 -3266947.66 3003908.12
  RVEL -4320.203 6354.568 -394.612
  AROT -60.33 52.52 17.74
  VROT 0.01 0.06 -0.00
  RCSMODE 2
  PRPLEVEL 0:0.604000 1:0.877117
  IDS 0:199 100
  NAVFREQ 588 466 84 114
  XPDR 193
  SECONDARY_HUD 4
  LAST_ACTIVE_SECONDARY_HUD 0
  ADCTRL_MODE 0
  TAKEOFF_LANDING_CALLOUTS 7413.843166 20.150000 20.152000 0.000000 0.175007
  APU_FUEL_QTY 0.743196
  LOX_QTY 0.906303
  CABIN_O2_LEVEL 0.209000
  CREW_STATE 0
  INTERNAL_SYSTEMS_FAILURE 0
  COGSHIFT_MODES 0 0 0
  MWS_ACTIVE 1
  COOLANT_TEMP 31.200000
  DMG_0 1.000000 Left Wing
  DMG_1 1.000000 Right Wing
  DMG_2 1.000000 Left Aileron
  DMG_3 1.000000 Right Aileron
  DMG_4 1.000000 Landing Gear
  DMG_5 1.000000 Nosecone
  DMG_6 1.000000 Retro Doors
  DMG_7 1.000000 Top Hatch
  DMG_8 1.000000 Radiator
  DMG_9 1.000000 Airbrake
  DMG_10 1.000000 Left Main Engine
  DMG_11 1.000000 Right Main Engine
  DMG_12 1.000000 Left SCRAM Engine
  DMG_13 1.000000 Right SCRAM Engine
  DMG_14 1.000000 Fore Hover Engine
  DMG_15 1.000000 Aft Hover Engine
  DMG_16 1.000000 Left Retro Engine
  DMG_17 1.000000 Right Retro Engine
  DMG_18 1.000000 Forward Lower RCS
  DMG_19 1.000000 Aft Upper RCS
  DMG_20 0.000000 Forward Upper RCS
  DMG_21 1.000000 Aft Lower RCS
  DMG_22 1.000000 Forward Star. RCS
  DMG_23 1.000000 Aft Port RCS
  DMG_24 1.000000 Forward Port RCS
  DMG_25 1.000000 Aft Star. RCS
  DMG_26 1.000000 Outboard Upper Port RCS
  DMG_27 1.000000 Outboard Lower Star. RCS
  DMG_28 1.000000 Outboard Upper Star. RCS
  DMG_29 1.000000 Outboard Lower Port RCS
  DMG_30 1.000000 Aft RCS
  DMG_31 1.000000 Forward RCS
  DMG_32 1.000000 Bay Doors
  IS_CRASHED 0
  MET_STARTING_MJD 51984.605550
  INTERVAL1_ELAPSED_TIME -1.000000
  INTERVAL2_ELAPSED_TIME -1.000000
  MET_RUNNING 1
  INTERVAL1_RUNNING 0
  INTERVAL2_RUNNING 0
  ACTIVE_MDM 3
  TEMP_SCALE 2
  CUSTOM_AUTOPILOT_MODE 0
  AIRSPEED_HOLD_ENGAGED 0
  SCRAM0DIR 0.000000 0.000000 1.000000
  SCRAM1DIR 0.000000 0.000000 1.000000
  HOVER_BALANCE 0.000000
  MAIN0DIR 0.000000 0.000000 1.000000
  MAIN1DIR 0.000000 0.000000 1.000000
  GIMBAL_BUTTON_STATES 0 0 0 0 0 0
  ATTITUDE_HOLD_DATA 2.500000 0.000000 0 0 0.000000
  DESCENT_HOLD_DATA 0.000000 -3.000000 0
  AIRSPEED_HOLD_DATA 173.924650
  OVERRIDE_INTERLOCKS 0 0
  TERTIARY_HUD_ON 1
  CREW_DISPLAY_INDEX 13
  GEAR 0 0.0000
  RCOVER 0 0.0000
  NOSECONE 1 1.0000
  AIRLOCK 1 1.0000
  IAIRLOCK 0 0.0000
  CHAMBER 1 1.0000
  AIRBRAKE 0 0.0000
  RADIATOR 1 1.0000
  HATCH 0 0.0000
  SCRAM_DOORS 0 0.0000
  HOVER_DOORS 0 0.0000
  BAY_DOORS 0 0.0000
  APU_STATUS 0
  EXTCOOLING_STATUS 0
  TRIM -0.003000
  LIGHTS 0 0 0
  XRUMMU_CREW_DATA_VALID 1
  UMMUCREW XI13-Carson_Beckett-38-74-95
  UMMUCREW XI1-Kara_Miller-32-65-58
  UMMUCREW XI2-Sharon_Valerii-26-67-54
  UMMUCREW XI3-Cameron_Mitchell-36-65-77
  UMMUCREW XI4-Samantha_Carter-33-66-53
  UMMUCREW XI5-Daniel_Jackson-35-68-75
  UMMUCREW XI6-Teal_c-31-64-104
  UMMUCREW XI7-Vala_Mal_Doran-30-67-53
  UMMUCREW XI8-Elizabeth_Weir-36-68-56
  UMMUCREW XI9-John_Sheppard-34-64-77
  UMMUCREW XI10-Rodney_McKay-35-72-90
  UMMUCREW XI11-Teyla_Emmagan-27-68-57
  UMMUCREW XI12-Ronon_Dex-32-63-97
  UMMUCREW XI0-Lee_Nash-39-65-78
  PAYLOAD_SCREENS_DATA 0.2 0 1 1
END
SH-03:ShuttleA
  STATUS Landed Earth
  BASE Habana:4
  POS -82.3982414 23.0005396
  HEADING 70.00
  AFCMODE 7
  PRPLEVEL 0:1.000000 1:1.000000
  NAVFREQ 0 0
  XPDR 0
  PODANGLE 0.0000 0.0000
  DOCKSTATE 0 0.0000
  AIRLOCK 0 0.0000
  GEAR 0 0.0000
  PAYLOAD MASS 0.0 0
END
PB-01:ShuttlePB
  STATUS Landed Earth
  BASE Habana:1
  POS -82.4000000 22.9994604
  HEADING 22.00
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 0 0
END
GL-02:DeltaGlider
  STATUS Landed Mars
  BASE Olympus:3
  POS -135.4299999 12.7366196
  HEADING 0.00
  AFCMODE 7
  PRPLEVEL 0:1.000000 1:1.000000
  NAVFREQ 0 0 0 0
  XPDR 0
  GEAR 1 1.0000
  AAP 0:0 0:0 0:0
END
SH-01:ShuttleA
  STATUS Landed Moon
  POS -33.4375000 41.1184067
  HEADING 0.00
  AFCMODE 7
  PRPLEVEL 0:1.000000 1:1.000000
  NAVFREQ 0 0
  XPDR 0
  PODANGLE 0.0000 0.0000
  DOCKSTATE 0 0.0000
  AIRLOCK 0 0.0000
  GEAR 0 0.0000
  PAYLOAD MASS 0.0 0
END
XR2-01_Bay:XRPayloadBay
  STATUS Orbiting Earth
  RPOS -5079989.91 -3266945.80 3003908.25
  RVEL -4320.203 6354.568 -394.612
  AROT -60.33 52.52 17.74
  VROT 0.01 0.06 -0.00
  ATTACHED 0:3,XR2-01
  AFCMODE 7
END
XR2PayloadCHM-01-1:XR2PayloadCHM
  STATUS Orbiting Earth
  RPOS -5079993.98 -3266948.55 3003909.47
  RVEL -4320.203 6354.568 -394.612
  AROT -60.33 52.52 17.74
  VROT 0.01 0.06 -0.00
  ATTACHED 0:0,XR2-01
  AFCMODE 7
  NAVFREQ 0 0
END
END_SHIPS

BEGIN_ExtMFD
END

BEGIN_UMMUFA
;MUST be ordered thus =  
VesselCount = 7
Vessel_1_Name = ISS
Vessel_1_CrewCount = 0
Vessel_2_Name = Mir
Vessel_2_CrewCount = 0
Vessel_3_Name = Luna-OB1
Vessel_3_CrewCount = 0
Vessel_4_Name = SH-03
Vessel_4_CrewCount = 0
Vessel_5_Name = PB-01
Vessel_5_CrewCount = 0
Vessel_6_Name = GL-02
Vessel_6_CrewCount = 0
Vessel_7_Name = SH-01
Vessel_7_CrewCount = 0
END

BEGIN_ReFuelMFD
  SCENARIO_TREE 
    NAMED Computers
    END_NODE 
  END_NODE 
END
 
Last edited:
Yes indeed. This is not a bug with XRRR, I'm afraid, this is due to how the XR vessels handle damaged thrusters. You'll notice this effect with the main and hover thrusters as well, if they break the engine provides no thrust but the texture is still visible.

I am not sure if I can reliably change that from an API point of view, but I can certainly have a go. I'm thinking of hiding it with particle effects, to a point at least :P
 
Xyon is correct, that behavior is not related to XRRR. In technical terms XR vessels only define and create exhaust textures during vessel initialization, after which the textures are rendered by the Orbiter core in response to thruster input levels. The only way to prevent the thruster flames from being rendered when the thruster group is fired would be for the XR code itself to either 1) delete the thruster exhaust texture when its thruster's damage state falls to 0.0 and then recreate the exhaust texture later when the damage was repaired, or 2) redefine that particular thruster group to not include the destroyed thruster and then redefine the group again whenever the damage was repaired. Unfortunately neither approach would be a particularly simple change, and IMO since the effect is purely cosmetic anyway it is not worth the effort at this time to implement. :)
 
I think adding particle effects would be actually better than hiding it.
It simply is a thruster group and no one said that anyone could prevent fuel from being pumped to it. The pilot better not use it anyway.
The particle effects would look great for unignited fuel venting.

And since Doug can't shut off the texture reasonably and without potential havoc on NG renderers, let's go with the eycandy please.
 
I like that idea. A small emmissive particle stream venting from the damaged thruster as the fuel comes out of it would look excellent - slightly hampered by the visible fact on the tertiary hud that no fuel is being lost (However I can probably change that via the API, to simulate the loss instead).
 
I was thinking that maybe you wouldn't be able to tell that a thruster is broken until you use it, making RCS hotfire tests meaningful. It could be an added level of complexity for some of the higher difficulty levels.
 
I was thinking that maybe you wouldn't be able to tell that a thruster is broken until you use it, making RCS hotfire tests meaningful. It could be an added level of complexity for some of the higher difficulty levels.

Well now here's an interesting idea I hadn't thought of - the higher the difficulty, the less information the MFD displays about what's going on. So I would call the MFD the way it currently is the "easiest" setting and then drop information from it based on difficulty level... I like that. :cheers:
 
I've been having great fun making bits fall off my XR vessels recently.

debtest.png


This functionality has also found a home in XRRR, as part of the effect I want to create - I always thought it would just look much better if the aileron actually broke off rather than simply vanished when it broke - now it does.

The implementations are far from finished, as I afforded myself some time off over the holiday period, and the runup to the holiday is always quite a busy time for me - this incompleteness is why this version is 0.7.4 - there's enough in there to give you some idea of where I'm heading, but an awful lot of rough edges and unsmoothed corners which will be weeded out for 0.8.

The link to the download is now in the first post in this thread (Just at the bottom). I've added my changelog to the manual now too, since there's no point hiding it. :P

Happy new year everyone! :D
 
Happy New Year! One remark - would be nice if you could pack the whole set of "debris" meshes for XR2 and XR5, I had to copy the sample ones from the XR1 folder into XR2 and XR5 and rename them...
 
Happy New Year! One remark - would be nice if you could pack the whole set of "debris" meshes for XR2 and XR5, I had to copy the sample ones from the XR1 folder into XR2 and XR5 and rename them...

The ones included are the ones implemented, as of yet, so when the whole system is finished off there will be a full set for each vessel shipped with XRRR. It will wind up looking very odd if you clone the XR1's fragments for the XR2, since they're a vastly different shape and colour.
 
if you are generating whole new meshes for the debris, doesnt that mean creating a mesh from the original model of the XR-?, then texturing it yourself? if so wouldnt that cause problems if people use their own skins for the XR-2 (i use the Altea Skin)

just a thought...
-=Grover=-
 
Yes indeed. I have briefly considered this, and I wonder if there's a way to pull the texture in use from the API and apply that to the debris fragments. I will look into that.
 
thats some pretty magical work, ill be amazed if you can pull that one off
 
My brief look through the API as it exists at the moment appears to suggest this is currently not possible. I'll chat with dbeachy1 about it later on, perhaps we can either add it to the API or find an alternative means of accomplishing this.
 
If these are debris, won't they be charred beyond any recognition, whatever the skin?
 
Back
Top