Update Multistage2026 - Development thread

Matias Saibene

Developing and CMakin'
Donator
Joined
Jul 7, 2012
Messages
1,519
Reaction score
1,542
Points
128
Location
Monte Hermoso - Argentina
Website
github.com
Preferred Pronouns
he/him
Dear Orbiter Forum Friends:
As you all know, I encountered more errors in Multistage2015 than I could possibly address. Given the project's large size, I came up with the following idea:

Rebuild all of Multistage from scratch.

That is, discard the original Multistage2015 code, even with the modifications I had made, and start gradually with a small module, adding functions as they become functional. In other words, little by little. First the parser, then the Orbiter callbacks, and so on.

And before and after adding functions, compile and test.

For this, I will use the following tools:

VS Code
VS Developer PowerShell 18
Git (essential)
Cppcheck (code analysis for errors)
C++ STL (excellent functions that make life easier in a nutshell)

Using the STL and SimpleINI will, as a side effect, pave the way for porting Multistage2026 to native Orbiter Linux. This is because it means discarding the non-portable use of GetPrivateProfileString (for reading .ini files), among other things.

I will also be able to release versions for the community to test more quickly, and I will be able to manage my time better (it's not the same to review 1000 lines of code as it is to write 200).

I welcome any comments, criticisms, or ideas.

I will try my best (again) and hope this change is in the right direction.

Thank you so much, community, for your support and (practically endless) patience.
 
Multistage2026 - Development status
GitHub repo: https://github.com/MatiasSaibene/Multistage2026_for_OpenOrbiter

I will update this post with the results I achieve:

Modules:

boom [100% complete - not yet tested]
Crawler [100% complete - tested and working]
EmptyModule [100% complete - not yet tested]
MS_Camera [100% complete - not yet tested]
MS_Hangar [100% complete - not yet tested]

Multistage Core:
Multistage2026 Main Header File - [100% complete]
Multistage2026 Main Implementation File - [100% complete]
Graph.cpp - [100% complete]
Graph.hpp - [100% complete]
DevModeCtrl.hpp - [100% complete]
DevModeCtrl.cpp - [100% complete]
Parser [100% complete]
WriteIni.cpp [100% complete]
WriteIni.hpp [100% complete]
Particles.cpp [100% complete]
DevDlg.cpp [100% complete]
DevDlg.hpp [100% complete]
peg.cpp [100% complete]
Guidance.cpp [100% complete]
 
Last edited:
For this, I will use the following tools:

VS Code
VS Developer PowerShell 18
Git (essential)
Cppcheck (code analysis for errors)
C++ STL (excellent functions that make life easier in a nutshell)

Using the STL and SimpleINI will, [...]
Great initiative in the works! Thank you for presenting your dev tools. It's very inspiring that you don't go to VS 2019 (or 2022), which is excellent SW but too complicated (with non-MS targets or runtime vs. compilation requirements... IMHO) and requires developers to create an account @MisterCrosoft.

A few questions from a non-expert (but still advanced C++ coder): apparently you need VS 2019 to get this Powershell Dev prompt? Does the STL implementation (I didn't know by the way, again inspiring) have to be the VS2019/2022 one? Are .ini files a good idea for moving to Linux later?

Release for testing purposes - December 13, 2025

Includes:
boom
EmptyModule
Crawler
Camera
Hangar

Let me know how these modules work.

Not a user of Multistage2015, but willing to try yours --> can you provide scenarios to test your provided modules?
 
Last edited:
Great initiative in the works! Thank you for presenting your dev tools. It's very inspiring that you don't go to VS 2019 (or 2022), which is excellent SW but too complicated (with non-MS targets or runtime vs. compilation requirements... IMHO) and requires developers to create an account @MisterCrosoft.

A few questions from a non-expert (but still advanced C++ coder): apparently you need VS 2019 to get this Powershell Dev prompt? Does the STL implementation (I didn't know by the way, again inspiring) have to be the VS2019/2022 one? Are .ini files a good idea for moving to Linux later?



Not a user of Multistage2015, but willing to try yours --> can you provide scenarios to test your provided modules?
Hi @Boxx,
Indeed, to use VS Developer PowerShell 18, I first need to download VS Community 2026. But I don't use a Microsoft account; I simply skip that step (I don't want to have any more online accounts for anything, especially not for compiling).

Regarding the second question, as far as I know, developing for Orbiter necessarily requires using Microsoft tools. And in my case, I prefer to use the latest available versions (VS Community 2022 was too slow for me).

And with respect to the INI files, SimpleINI is cross-platform, so in principle, there shouldn't be any problems implementing it on Linux. Furthermore, on Linux, we have the wonderful Dear ImGui (Immediate Mode GUI), which @Gondos chose to implement a user interface with dialogs, and I think I could implement the Multistage dialogs with relative ease.

Regarding scenarios, it's preferable to use the ones that come with Multistage 2015. But if you need them separately, I'm attaching them here.

Thank you for your interest and welcome to the Multistage fan club.
 

Attachments

Thanks. How about boosters?
They're not ready yet; I'm currently working on almost completely rewriting Multistage2015.cpp to Multistage2026.cpp.

I'm on line 1405, the function VECTOR3 Multistage2015::GetBoosterPos(int nBooster, int N), and there are a total of 4950 lines in Multistage2015.cpp alone...

I'm also "scanning" the code with Cppcheck every 5 functions I add to avoid making mistakes.
 
Sorry to report this, from all provided scenarios:
Code:
000000.000: >>> ERROR: No vessel class configuration file found for:
============================ ERROR: ===========================
Multistage2015
[Vessel::OpenConfigFile | .\Vessel.cpp | 243]
===============================================================

(from a noob in Multistage) Multistage2015?!? Should I remove previous setup? may I suggest your 2026 package to include all necessary components for test?
I've got Modules\VesselBuilder1.dll already, and Config\Vessels\VesselBuilder1\DC6_AF_VB.cfg
 
Sorry to report this, from all provided scenarios:
Code:
000000.000: >>> ERROR: No vessel class configuration file found for:
============================ ERROR: ===========================
Multistage2015
[Vessel::OpenConfigFile | .\Vessel.cpp | 243]
===============================================================

(from a noob in Multistage) Multistage2015?!? Should I remove previous setup? may I suggest your 2026 package to include all necessary components for test?
I've got Modules\VesselBuilder1.dll already, and Config\Vessels\VesselBuilder1\DC6_AF_VB.cfg
Thank you so much for your report!
I did indeed make a mistake and mixed up the file names.

I'm now packaging a Multistage2026 without any references to Multistage2015.

I recommend trying it on a fresh Orbiter installation or one without Multistage2015.
 
Release for testing purposes - December 13, 2025 - second release

Includes:
boom
EmptyModule
Crawler
Camera
Hangar

Scenario to test:
TEST - Crawler and Hangar.scn

Let me know how these modules work.
 

Attachments

I'm not familiar with the "Multistage", but I just tried the last your archive with my Orbiter 2024. The only last scenario is running, although I don't know how to move the crawler (if it's possible at all):

Без імені.png

Other scenarious give a critical error with the following lines in Orbiter.log:
Code:
000021.706: ============================ ERROR: ===========================
000021.715: File not found: .\Config\Multistage2026.cfg
000021.725: No vessel class configuration file found for: Ґ…t
000021.735: [Vessel::OpenConfigFile | D:\a\orbiter\orbiter\Src\Orbiter\Vessel.cpp | 254]
000021.746: ===============================================================
000021.755: >>> TERMINATING <<<

By the way, I see the symbol "Ґ" here. It seems to be strange. This is a letter of the Ukrainian alphabet.
 
000021.715: File not found: .\Config\Multistage2026.cfg
the .zip still contains Multistage2015 in Config. At least it does not crash when you rename file and folder in Config replacing 2015 by 2026.
Then, what should we see? (I don't know: it seems the rocket itself is missing in the package(?) :aga: )
 
I'm not familiar with the "Multistage", but I just tried the last your archive with my Orbiter 2024. The only last scenario is running, although I don't know how to move the crawler (if it's possible at all):

View attachment 46228

Other scenarious give a critical error with the following lines in Orbiter.log:
Code:
000021.706: ============================ ERROR: ===========================
000021.715: File not found: .\Config\Multistage2026.cfg
000021.725: No vessel class configuration file found for: Ґ…t
000021.735: [Vessel::OpenConfigFile | D:\a\orbiter\orbiter\Src\Orbiter\Vessel.cpp | 254]
000021.746: ===============================================================
000021.755: >>> TERMINATING <<<

By the way, I see the symbol "Ґ" here. It seems to be strange. This is a letter of the Ukrainian alphabet.
Thanks for letting me know. The other scenarios are giving an error because the main Multistage2026 module isn't ready yet. That's why the SLS rocket isn't visible.

Sorry, I just niticed:

So, it's running (but I don't know how to move the crawler if it's possible).
The crawler moves with the arrow keys on the keyboard. Although I don't think it rotates on its own axis yet.


the .zip still contains Multistage2015 in Config. At least it does not crash when you rename file and folder in Config replacing 2015 by 2026.
Then, what should we see? (I don't know: it seems the rocket itself is missing in the package(?) :aga: )
Thanks for letting me know (how clumsy of me!), I forgot to rename the files too.

As I explained to @misha.physics the rocket isn't visible because the rocket-loading module isn't ready yet.
 
Captura de pantalla 2026-01-06 160142.jpg
Captura de pantalla 2026-01-06 160111.jpg

Good news!... Finaly.
The Multistage2026 core module is slowly starting to work... Suspecting that something was also wrong with the SLS included in Multistage2015, I tried Ariane 6 from @jacquesmomo , and it seems to work fine AFAIK (I'm not very familiar with the add-on).

Could you test Ariane 6 with Multistage2026?

I obviously made some minor corrections, such as removing the quotation marks "" from the INI files and pointing the module to Multistage2026.

By the way, Ariane 6 is incredibly well done.

I've attached everything you need for testing; let me know if I forgot anything or if you need anything else.

Please remember that I have only tested the Ariane 6.4 Generic scenario, and therefore have only modified the files (which I have attached) corresponding to Ariane 6.4 Generic.

To test other scenarios, you need to modify the INI files to remove all traces of the quotation marks " and you must modify the CFG files to point to Multistage2026.
 

Attachments

By the way, Ariane 6 is incredibly well done.
Thanks for the compliment! :salute:
I've attached everything you need for testing; let me know if I forgot anything or if you need anything else.

Please remember that I have only tested the Ariane 6.4 Generic scenario, and therefore have only modified the files (which I have attached) corresponding to Ariane 6.4 Generic.

To test other scenarios, you need to modify the INI files to remove all traces of the quotation marks " and you must modify the CFG files to point to Multistage2026.
Note:
In my "Ariane6 for Orbiter 2024" version, I removed the boosters (which are actually "stage").
So I'm going to create a new version with real boosters and test it.

See you soon for the results :hailprobe: tomorrow I hope....
 
Thanks. I can help with the default SLS
Thank you so much, I'll send you a DM as soon as I'm free so we can coordinate. The Multistage2026 source code isn't complete on GitHub yet, but I'll upload it soon.

Thanks for the compliment! :salute:

Note:
In my "Ariane6 for Orbiter 2024" version, I removed the boosters (which are actually "stage").
So I'm going to create a new version with real boosters and test it.

See you soon for the results :hailprobe: tomorrow I hope....
I really love the Ariane's 3D model. I wish I could create meshes that detailed. I need to improve.

And thanks for joining the testing. I'm still assembling the Multistage2026 components little by little, which is why it's taking me so long. Also, the code is very interdependent, and I don't really have experience dealing with this.

That's why Multistage2026_MFD isn't ready yet, nor is the developer dialog. Only Multistage2026 Core is available.
 
I am running the ms2015 in Orbiter 2016 and then the MS2026 in 2024.
On the SLS launch I get a CTD with this in the log:
000023.697: Post Creation Started
000023.697: SLS: Gravity Turn Initial Pitch by user: 89.500 Calculated:83.350
000023.697: Creating Launchpad

the crawler one seems to work. I haven't figured out how to attach the rocket in ms2015 and ms2026
 
Back
Top