Project Multistage2015 - Development Thread

All right gentlemen, as promised!

A pre release of the multistage2015 module together with its MFD!

In my pc everything seems fine and working, I strongly hope that also on yours everything will be smooth and fine.

This is a pre release because writing the documentation will take a lot of time, since the topics are many and complicated, so I wrote the complete list of commands and settings, in order to let all of you know what is actually in the module and be able to play with it.

There may be some inaccuracy in the doc file, I'm sorry about that, final version will be accurate!

I also included a rocket I made some years ago, when design of SLS was still undefined yet, I think it can be nice as a superheavy launcher. In the scenario, in the guidance and in the ini file you can see some of the parameters of the new Multistage at work.

I didn't wrote any documentation for the MFD, but still it's quite straight forward and I will be happy to help!

I will keep preparing the full documentation, but I am available in the meantime for any questions you may have.

Relevant to the code it's still a bit messy, I will release it under GPL with the official release on OH.

I remain waiting for feedbacks

Cheers :cheers:

Fred
 

Attachments

Hi Fred.
Congrats on the milestone. And thanks for all the effort you have put into enlightening your audience in here:-) Unfortunatly I'm quite busy with live obligations these weeks so it might take 1-2 weeks until I can get my hands on it to give it the time and attention it deserves. But you will here from me once I have gotten probably into it.
 
OK Fred18 multistage2015 CTDs in the D3d9 client when I switch to the multistage2015 MFD,and nothing in the log,but it's ok with the default orbiter engine client.
 
Last edited:
Getting a CTD trying to launch the Giotto mission:
http://www.orbiter-forum.com/showthread.php?t=16801&highlight=giotto

This is the ini
Code:
[MISC]
COG=3
FOCUS=1

[TEXTURE_LIST]
TEX_1=Exhaust2

[PARTICLESTREAM_1]
NAME=etapa1
SRCSIZE=1.2
SRCRATE=30
V0=50
SRCSPREAD=0.00
LIFETIME=0.27
GROWTHRATE=6
ATMSLOWDOWN=0
LTYPE=EMISSIVE
LEVELMAP=LVL_PSQRT
LMIN=0
LMAX=1
ATMSMAP=ATM_PLOG
AMIN=1e-4
AMAX=1
TEX=Contrail2

[STAGE_1]
MESHNAME="ariane123\ariane1_1"
OFF=(0,0,0)
HEIGHT=18.4
DIAMETER=3.8
THRUST=2485000
EMPTYMASS=13200
;FUELMASS=147600
FUELMASS=145882
BURNTIME=144.3
SPEED=(0,0,-2)
ENG_1=(0,2.2,-9.1)
ENG_2=(2.2,0,-9.1)
ENG_3=(0,-2.2,-9.1)
ENG_4=(-2.2,0,-9.1)
ENG_DIAMETER=1.2
ENG_TEX=Exhaust2
ENG_PSTREAM1=etapa1
PITCHTHRUST=80000
YAWTHRUST=80000
ROLLTHRUST=40000

[SEPARATION_12]
MESHNAME="Ariane123\ariane1_inter12"
OFF=(0,0,10.95)
HEIGHT=3.3
DIAMETER=3.8
EMPTYMASS=480
SEPARATION_DELAY=2
SPEED=(0,0,-1.7)

[STAGE_2]
MESHNAME="Ariane123\ariane1_2"
OFF=(0,0,17.62)
HEIGHT=16.6
DIAMETER=2.6
THRUST=706079
EMPTYMASS=3220
FUELMASS=34100
BURNTIME=135
SPEED=(0,0,-2.5)
IGNITE_DELAY=6
ENG_1=(0,0,-7.5)
ENG_DIAMETER=1
ENG_TEX=Exhaust2

[FAIRING]
N=2
MESHNAME="ariane123\ariane1_fairing"
OFF=(0,0,34.43)
ANGLE=0
HEIGHT=8.65
DIAMETER=3.2
EMPTYMASS=826
SPEED=2

[PAYLOAD_1]
MESHNAME=ariane123\ariane1_3;ariane123\ariane1_inter23;Giotto\giotto_stowed;Giotto\giotto_adaptor
OFF=(0,0,26.8);(0,0,22.47);(0,0,32.37);(0,0,26.8)
HEIGHT=9.1
DIAMETER=2.6
MASS=10987
MODULE=Giotto\giotto_booster
NAME=Ariane1V14
RENDER = 1

This is Obiter.log

Code:
**** Orbiter.log
Build Aug 30 2010 [v.100830]
Timer precision: 4.27635e-007 sec
Found 0 joystick(s)
Devices enumerated: 6
Devices accepted: 5
==> RGB Emulation
==> Direct3D HAL
==> Direct3D T&L HAL
==> Direct3D HAL (Intel(R) HD Graphics)
==> Direct3D T&L HAL (Intel(R) HD Graphics)
Module AtlantisConfig.dll .... [Build 100830, API 100830]
Module AtmConfig.dll ......... [Build 100830, API 100830]
Module DGConfigurator.dll .... [Build 100830, API 100830]
Module AbsoluteKillrot.dll ... [Build ******, API 060425]
Module ScreenCapture.dll ..... [Build ******, API 060425]
Module videnie.dll ........... [Build 110912, API 100830]
Module ExtMFD.dll ............ [Build 100830, API 100830]
Module Framerate.dll ......... [Build 100830, API 100830]
Module ScnEditorTLE.dll ...... [Build ******, API 060425]
Module LaunchMFD.dll ......... [Build 150104, API 100830]
Module BurnTimeMFD.dll ....... [Build 140205, API 100830]
Module PursuitMFD.dll ........ [Build 121104, API 100830]
Module AttitudeMFD.dll ....... [Build ******, API 060425]
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: oapiRegisterMFDMode
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 InterMFD55.dll ........ [Build 100826, API 100704]
Module TransX.dll ............ [Build 140503, API 100830]
Module RendezvousMFD.dll ..... [Build ******, API 050206]
Module PrecessionMFD.dll ..... [Build 110904, API 100830]
190 stars read into catalogue
No SPK bodies loaded at this time.
Module RV_Orientation.dll .... [Build 150117, API 100830]
Module BaseSyncMFD.dll ....... [Build 100616, API 100603]
Module AeroBrakeMFD.dll ...... [Build ******, API 100830]
Module GS2.dll ............... [Build 131201, API 100830]
Module Load.dll .............. [Build 110920, API 100830]
Module DVToolsMFD.dll ........ [Build 120331, API 100830]
Module NotesMFD.dll .......... [Build ******, API 060425]
Module TetherMFD.dll ......... [Build 141231, API 101016]
Module HUDDrawer.dll ......... [Build 130423, API 100830]
Module OrbiterSound.dll ...... [Build 121120, API 100830]
Module Multistage2015_MFD.dll  [Build 150929, API 100830]

**** Creating simulation session
DirectDraw interface OK
Direct3D interface OK
Graphics: Viewport: Window 1360 x 739 x 32
Graphics: Hardware T&L capability: Yes
Graphics: Z-buffer depth: 32 bit
Graphics: Active lights supported: 8
Loading 8816 records from star database
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
BaseObject: Parse error
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 Multistage2015.dll .... [Build 150929, API 100830]
Load State Started
Ariane1: Guidance File present: Config\Giotto\ariane1_v14_guidance.txt
Ariane1: Sound found @step 1
Ariane1: Config File: C:\Users\morellat\Documents\orbiter100830\Config\Giotto\ariane1_v14.ini
Ariane1: Number of Interstages in the ini file: 1
Ariane1: Number of stages in the ini file: 2
Ariane1: Number of boosters group in the ini file: 0
Ariane1: Number of Payloads in the ini file: 1
Ariane1: This Rocket Has Fairing
Ariane1: Texture n.1 Loaded Exhaust2
Ariane1: Stage n. 2 Tank Added: 34100.000 kg
Ariane1: Stage n. 1 Tank Added: 145882.000 kg
Ariane1: Stage n. 1 Engines Exhaust Added--> number of engines: 4 , diameter: 1.200, position x: 0.000 y: 2.200 z: -9.100
Ariane1: Stage n. 1 Engines Exhaust Added--> number of engines: 4 , diameter: 1.200, position x: 2.200 y: 0.000 z: -9.100
Ariane1: Stage n. 1 Engines Exhaust Added--> number of engines: 4 , diameter: 1.200, position x: 0.000 y: -2.200 z: -9.100
Ariane1: Stage n. 1 Engines Exhaust Added--> number of engines: 4 , diameter: 1.200, position x: -2.200 y: 0.000 z: -9.100
Ariane1: Stage n.1 Mesh Preloaded: ariane123\ariane1_1
Ariane1: Stage n.1 Mesh Added Mesh: ariane123\ariane1_1 @ x:0.000 y:0.000 z:0.000
Ariane1: Stage n.2 Mesh Preloaded: Ariane123\ariane1_2
Ariane1: Stage n.2 Mesh Added Mesh: Ariane123\ariane1_2 @ x:0.000 y:0.000 z:17.620
Ariane1: Interstage Mesh Preloaded for Stage 2
Ariane1: Interstage Mesh Added: Ariane123\ariane1_inter12 @ x:0.000 y:0.000 z:10.950
Ariane1 Payload Mesh Preloaded 1
Ariane1: Payload n.1 Mesh Added: ariane123\ariane1_3 @ x:0.000 y:0.000 z:26.800
Ariane1 Payload Mesh Preloaded 1
Ariane1: Payload n.1 Mesh Added: ariane123\ariane1_inter23 @ x:0.000 y:0.000 z:22.470
Ariane1 Payload Mesh Preloaded 1
Ariane1: Payload n.1 Mesh Added: Giotto\giotto_stowed @ x:0.000 y:0.000 z:32.370
**** WARNING: Mesh file name not provided
Ariane1 Payload Mesh Preloaded 1
Ariane1: Payload n.1 Mesh Added:  @ x:0.000 y:0.000 z:26.800
Ariane1: Fairing Mesh Preloaded: ariane123\ariane1_fairing_1
Ariane1: Fairing Mesh Added Mesh: ariane123\ariane1_fairing_1 @ x:0.000 y:0.000 z:34.430
Ariane1: Fairing Mesh Preloaded: ariane123\ariane1_fairing_2
Ariane1: Fairing Mesh Added Mesh: ariane123\ariane1_fairing_2 @ x:-0.000 y:0.000 z:34.430
Load State Terminated
Post Creation Started
Ariane1: Gravity Turn Initial Pitch by user: 89.500 Calculated:82.000
RESET PEG
Post Creation Terminated
Finished initialising status
Finished initialising camera
Finished initialising panels
Finished setting up render state
**** WARNING: Mesh not found: .\Meshes\.msh

What does it mean "Mesh file name not provided"? The name "Giotto\giotto_adaptor" was right there as the 4th payload.
 
Last edited:
I am also getting a text in the MS2015 MFD that says this is not a multistage2015 vehicle,but the ship I am using is multistage2.
 
@interceptor: which release of d3d9 are you using? I always use d3d9 and never had any problem. Please be aware that, as booga is saying you have to use multistage 2015 and not multistage2!

@booga: i'm out at the moment but from a quick view I saw a thing: in the particle stream texture try to change contrail2 to just contrail. I think i didn't defined contrail2 as a predefined texture to be used. I'll add it, but in the meantime to make the test just try this
 
Hi fred18 I did add the multistage2015 line to the scenario,and I still get that text message in the MFD,also I am using D3d9 client 12,an older one,but it seems to run a little better.
 
Last edited:
Please post here the scenario file
 
Please post here the scenario file
Here you go.

Code:
BEGIN_DESC
   "Hard Days Work" Mission 1.
   Launch the Reslove International from Ascension Island to construct the first phase of the station.
   Target Altitude is 500km, at 5.30 degrees Inclination.
   Place Neesys-Mast and Solaris in orbit.
   Press 'P' to start auto-launch squence.
   This scenario requires certain other addons to be installed in order to run.
   Addon requirements and station construction details can be found in the Resolve_Readme.pdf.
END_DESC
BEGIN_ENVIRONMENT
  System Sol
  Date MJD 55198.2673710787
END_ENVIRONMENT
BEGIN_FOCUS
  Ship Resolve-Launch
END_FOCUS
BEGIN_CAMERA
  TARGET Resolve-Launch
  MODE Extern
  POS 5.62 -89.91 -15.16
  TRACKMODE AbsoluteDirection
  FOV 50.00
END_CAMERA
BEGIN_HUD
  TYPE Surface
END_HUD
BEGIN_MFD Left
  TYPE Orbit
  PROJ Frame
  FRAME Equator
  REF Earth
END_MFD
BEGIN_MFD Right
  TYPE Map
  REF Earth
  TRACK ON
END_MFD
 
BEGIN_SHIPS
GPLP_resmlp:spacecraft/spacecraft3
  STATUS Landed Earth
  POS -14.4367199 -7.9794980
  HEADING 0.00
  RCSMODE 0
  PRPLEVEL 0:1.000
  NAVFREQ 0 0
  RCS 0
  CTRL_SURFACE 0
  CONFIGURATION 2
  CURRENT_PAYLOAD 0
  SEQ 0 -2 0.401225
  SEQ 1 -2 0.561900
END
Resolve-Launch:multistage2015
  STATUS Landed Earth
  POS -14.4367190 -7.9794550
  HEADING 0.00
  RCSMODE 0
  PRPLEVEL 0:1.000 1:1.000 2:1.000 3:1.000 4:1.000
  NAVFREQ 0 0
  CONFIG_FILE Config\HDWcfg\ResolveLaunchM1.ini
  GUIDANCE_FILE Config\HDWcfg\guidance_Resolve.txt
  CONFIGURATION 0
  STAGE_STATE 2
  STAGE_IGNITION_TIME 0.000
  CURRENT_BOOSTER 1
  CURRENT_STAGE 1
  CURRENT_INTERSTAGE 1
  CURRENT_PAYLOAD 1
  FAIRING 0
END
END_SHIPS
BEGIN_ExtMFD
END
 
I see no reason why it is not working. Could you post also a screenshot? Thanks
 
Hi Fred18,what do you want the screen shot to be,the outside looking at the ship,or do you want the cockpit with the MFDs?I'll put a shot up later today,since I am away from my computer for a while.Thanks
 
No worries, I found the glitch: multistage2015 instead of Multistage2015

I'll fix this in order to have the class name not case sensitive, will post the solution shortly. If you want to test it in the meantime just change to Multistage2015 with the capital M

Regarding the d3d9 I use R15 and it works fine, I don't know what changed from one release to the other relevant to the MFD

---------- Post added at 18:52 ---------- Previous post was at 17:43 ----------

What does it mean "Mesh file name not provided"? The name "Giotto\giotto_adaptor" was right there as the 4th payload.

I checked and particles texture are ok so you're right, as the log suggests it's something about the 4th mesh, let me check the code about this and I'll get back to you!
 
Hi Fred18,

Excellent work! I tested and worked fine on D3D9ClientR15.

I found only a few small bugs, all related to the possibility of restarting engines that are out or not restartable.

I used the new feature of failure probability. When you have an engine out due to failure probability the engine restarts from any throttle up/down from the guidance.

- FAILURE_PROB 100.0 -> engine out (failure automatic no guidance) -> throttle down (from guidance) -> the engine out restarts
- FAILURE_PROB 100.0 -> throttle down (from guidance) -> engine out (failure automatic no guidance) -> throttle up (from guidance) -> the engine out restarts

Is any possibility to have more than one failure?

When I set Reignitable=0 to a stage with 5 engine it will do only one engine out. You can restart other 4 engines.

In guidance file I set all 5 engines as Engineout(xx). I increase thrust and all the engines restarts.

Also testing MS2015 I found useful to have:
- PEG Pitch Limit settings in scenarios/config
- Grav Turn Calc Init Pitch settings in scenarios/config

Thank you!
 
UPDATE:
Bug Fixed:

1) class name check is not case sensitive anymore, so writing "Multistage2015", "multistage2015" "MultiStage2015" or any combination or capital and lower is the same! - Thanks to Interceptor for pointing me here

2) Found and fixed a very hidden small bug present with the 4th payload mesh. Now working, checked with Giotto mission and everything seems fine. - Thanks to boogabooga for pointing me here

:cheers:

Fred
 

Attachments

I recommend that you add a version number or release date to your zip files. It might get confusing if we keep downloading.
 
I recommend that you add a version number or release date to your zip files. It might get confusing if we keep downloading.

I'm doing this way: you will always download the latest version from the following link, I'll keep updating always the same link, so in case of doubt it will be enough to follow the link to have the latest version! Once everything will be done anyway I will post everything on OH and that will be the reference.

Here's THE LINK FOR DOWNLOADING


Hi Fred18,

Excellent work! I tested and worked fine on D3D9ClientR15.

Thanks! :tiphat:

I used the new feature of failure probability. When you have an engine out due to failure probability the engine restarts from any throttle up/down from the guidance.

- FAILURE_PROB 100.0 -> engine out (failure automatic no guidance) -> throttle down (from guidance) -> the engine out restarts
- FAILURE_PROB 100.0 -> throttle down (from guidance) -> engine out (failure automatic no guidance) -> throttle up (from guidance) -> the engine out restarts

You were right, now fixed! download at the link the updated version!

Is any possibility to have more than one failure?

for the time being no, when i proposed the failure simulation it seemed like not a lot of people liked it. anyway I'll think about it for the future!

When I set Reignitable=0 to a stage with 5 engine it will do only one engine out. You can restart other 4 engines.

Good catch! Now Fixed! download at the link the updated version!

In guidance file I set all 5 engines as Engineout(xx). I increase thrust and all the engines restarts.

This is actually on purpose: the engineout call in the guidance is not to simulate the failure, but simply the shutdown of that engine, so it does not prevent for restart of that engine.

Also testing MS2015 I found useful to have:
- PEG Pitch Limit settings in scenarios/config
- Grav Turn Calc Init Pitch settings in scenarios/config

They already are! I didn't put it in the doc file, but if you save the scenario and check you'll find them there. you can edit them via the MFD and they will be saved in the scenario, also I think this is very useful!

Thank you very much for your suggestions, it is extremely useful to gather feedbacks! :cheers:

Hi Fred18,can you please explain,and give an example of the live feature.Thanks

Sure!

The live feature allows to have "live" payloads instead of the default "dead" meshes. For example if you have an UMMU capable capsule, you can load it as live payload, load your UMMU from the ground and take them to space! Or if you have a payload with a nice Virtual Cockpit, you can set it as live payload and at that point you will have the possiblity to jump inside the vehicle and enjoy the launch from the Virtual Cockpit of this vehicle.

The live feature can be activated for any payload inside the ini file, in the relevant payload section, by putting simply "live=1".

as an example you can take the example made by vinka for the space shuttle and put live=1 at the payload, you will have the chance to sit on the space shuttle while launching, it won't be a dead mesh anymore!
Please note also that thrust applied to live payload is applied also to vehicle, so interaction is possible (and free to developers fantasy)

Cheers
Fred18
 
Last edited:
OK Fred18,the newest version works on both versions of D3d9 R12,andR15,but occasionaly I get a CTD when switching to the MS2015 MFD,but to remedy this,I just go into modules tab pull out,and uncheck the MS2015 tab,and the recheck it again,and that seems to fix it,also I tried out the live payload option,and it works very well,but if you switch to the MS2015 MFD,in the payload,or the payloads VC it CTDs,also is there a way to put a VC in the multistage launcher?I know you talked about this,but I don't know if you have added it yet.Thanks Found another couple of bugs if you have mutistage2015 MFD on when it jettisons the live payload it CTDs,and also if the payload is live,and the payload is jettison the payload goes right thoiugh the ship instead of downward,or foward.
 
Last edited:
From your description the CTDs happens only because of the MFD. With d3d9 r15 I never got one.

Anyway, I changed the way the mfd checks if the vessel is a ms2015. Please follow the original link to get the latest updates.

Important Note: this update allows to simply use multistage2015 instead of multistage2 by simply playing with the name of the dlls in the modules folder. My suggestion is:

-rename multistage2.dll to multistage2backup.dll
-create a copy of Multistage2015.dll
-rename the copy to multistage2.dll

this will transform all the ms2 to ms2015!

---------- Post added at 10:14 ---------- Previous post was at 09:11 ----------

I forgot to answer the following:

also is there a way to put a VC in the multistage launcher?I know you talked about this,but I don't know if you have added it yet.
No, VC is not implemented, but since you can have live payloads, you can build a fictive payload of weight 0 and put it as live payload on the rocket, so you'll be able to stay in the VC.

also if the payload is live,and the payload is jettison the payload goes right thoiugh the ship instead of downward,or foward.

This is too generic: was there any rotation of the payload? any translation speed defined? "downward" "forward" ? Did you jettison the payload while still in atmosphere?

Please be careful reporting bug in so generic way because who reads you will have the feeling that what you're reporting happens always at every conditions even if it's not the case.
 
Back
Top