Orbiter is now open source

zetacod3

New member
Joined
Jul 30, 2021
Messages
1
Reaction score
0
Points
1
Location
California
It's been a while ...

Dear Orbiter users and developers,

I haven't been around this place in quite some time, and for personal reasons haven't been able to push Orbiter development along for a few years now. In order to keep Orbiter alive and allow others to work on it, I have decided to publish the sources under an open source license:


This is essentially the 2016 Edition with some minor (and at least one major) fixes. I hope this is of use to somebody. The code is somewhat unorganised and sparsely documented, but it should compile and leave you with a working Orbiter installation. Note that the repository doesn't include all the required planetary textures, so you need to install those separately (e.g. by reusing an existing Orbiter 2016 installation - this is explained in the Readme and only requires setting a CMake option before configuring the build).

I am still hoping to work on future enhancements of Orbiter, but I can't make any promises or commitments. One of the most pressing issues is switching the code over to 64-bit, but this requires ditching the DX7 dependency (and ideally replacing it with DX11), but that is a major undertaking which I may or may not be able to do).

Please let me know of any compilation problems or any other issues with the repository, either here or by raising an issue on github. I am also happy to consider merge requests.

Happy coding!
This is Amazing! I can't wait to make some assets for the game!
 

Djowin

New member
Joined
Sep 13, 2011
Messages
2
Reaction score
0
Points
1
Dear Dr Martin,
Thank you for this gift and all your incredible job on Orbiter for so many years ! :hailprobe:
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
I have a joystick library that someone might be able to integrate into Orbiter for improved joystick support.
Hmmm, might be a bit too windows specific (not really possible to tell without documentation, but at least the repository name suggests it). I can't be sure of course, but I kind of expect one direction of push to be to make orbiter more multi-platform friendly if that's at all feasible.

I'm updating it to use dynamic linking instead of static linking due to the irrKlang
Ah, you're using irrKlang in there... How fitting, considering I once crammed the whole Irrlicht engine inside an orbiter UI window... :LOL:
 

WolfAngriff

The NSEU (Never Satisfied End User)
Joined
Nov 9, 2013
Messages
149
Reaction score
99
Points
43
Location
Brest
Hello everyone !

First, of course, thanks to Dr Schweiger and all of you working on the stuff.

BUT : is it possible to have a short explanation on what's going on, as to give news on the french speaking forum ? I mean, i understand english, but i'm not a programmer, nor a designer, and for me it's like extra-terrestrial language ! :unsure::LOL: So, if someone has a few minutes to give simple explanations to a non initiated human being, i'd be able to transmit news to my friends about those historical events without simply copy-paste in an automated translator. I think it's very important for the community to know more about what's happening. You can send it to me via PM and then i'll delete this post if you think it polludes the thread. Just tell me, i'll understand.

Again, thanx to all of you ! :cheers:
 

jarmonik

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 28, 2008
Messages
2,651
Reaction score
785
Points
128
I thought that the html help compiler (hhc.exe) is part of the VS toolset so everybody has it (at least for me, find_package seems to find it in a Windows toolkit). But maybe that isn't true for all VS installations? In that case I'll add it to the requirements for compiling the docs. Does the error still occur if you disable building the docs? Note you may have to pull the latest master to apply Face's fix to some docs even built with the flag unset.
Yes, it will still occur because the html-help library is required by following function and a few others: I'll install the Html Help package form archive.org and see how it goes.

C:
void OpenHelp (HWND hWnd, HINSTANCE hInstance, const char *file, const char *topic)
{
    char topic_file[256];
    sprintf (topic_file, "%s.htm", topic);
    HtmlHelp (hWnd, file, HH_DISPLAY_TOPIC, (DWORD)topic_file); //  <---------
}
 

malcontent

Off on a Comet
Joined
Feb 15, 2017
Messages
27
Reaction score
11
Points
18
Martin, thanks for building this incredible program and supporting the community around it. This is the closest one can get to the experience of space flight in front of a screen, I can land on the moon with free software, it's absolutely incredible. The dedicated mod community here I'm sure will push this to further greatness.

:hailprobe:
 

malcontent

Off on a Comet
Joined
Feb 15, 2017
Messages
27
Reaction score
11
Points
18
Hello everyone !

First, of course, thanks to Dr Schweiger and all of you working on the stuff.

BUT : is it possible to have a short explanation on what's going on, as to give news on the french speaking forum ? I mean, i understand english, but i'm not a programmer, nor a designer, and for me it's like extra-terrestrial language ! :unsure::LOL: So, if someone has a few minutes to give simple explanations to a non initiated human being, i'd be able to transmit news to my friends about those historical events without simply copy-paste in an automated translator. I think it's very important for the community to know more about what's happening. You can send it to me via PM and then i'll delete this post if you think it polludes the thread. Just tell me, i'll understand.

Again, thanx to all of you ! :cheers:


The source code to actually make (compile) the program was only in Martin's possession. He maintained possession of the program and how it could be distributed. He has released this code under the MIT license, one of the most permissive licenses, which says that the only requirement is that he must be credited with creating the code/documentation, in whole, or in part, and therefore you can do basically whatever the hell you want to do with it so long as you attach his name to it.

See: https://fr.m.wikipedia.org/wiki/Licence_MIT
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
I think it's very important for the community to know more about what's happening.
The short of it: The community is now able to directly modify Orbiter at the core, not just write add-ons for it. That means that bugs and feature requests that could previously only have been addressed by the Doctor can now be addressed by anyone with the necessary skill, time and motivation on their hands. Beyond that, one could take the orbiter core as a basis for a project and change it to ones needs and build a completely new application on top of it that wouldn't necessarily fit Orbiters vision. The license even permits use of the code in commercial projects, so if somebody intends to write a realistic space game they could use orbiter as an engine to have some solid ground to stand on.

As for what's going on right now with all of that, the community isn't exactly organised yet and there's a lot of ideas flying around, but a serious push to make orbiter use all the 64 bits modern computer systems have available has already started. The current version of orbiter is still built for 32 bits, which has implications on available memory and performance (especially since Orbiters coordinate system uses 64-bit variables, which require some costly overhead on a 32-bit system).
 

Artlav

Aperiodic traveller
Addon Developer
Beta Tester
Joined
Jan 7, 2008
Messages
5,789
Reaction score
778
Points
203
Location
Earth
Website
orbides.org
Preferred Pronouns
she/her
That's one hell of a Tuesday. Looks like i picked the wrong decade to quit Orbiter. :)

Thank you Martin for keeping this gem going for all this time, it definitely shaped my life and interests from the early years.

And it's good to see this community so revitalized.
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
Out of the top of my head, what I would very warmly welcome as starting out-of-the-box Orbiter experience is:
  • complete (as in definitive) multi axis joystick support;
  • sound (be it Dansteph's or Dbeachy's, or both);
  • latest TransX (and possibly IMFD) included. I never understood why Martin never merged the latest developed TransX, but kept on including that oldish "bugged" version inside vanilla Orbiter;
  • other MFDs...
...And of course
  • collision detection
  • less bumpy 3D terrain
 

WolfAngriff

The NSEU (Never Satisfied End User)
Joined
Nov 9, 2013
Messages
149
Reaction score
99
Points
43
Location
Brest
OK, clear enough now. Thanx for the answer. I think i'll come here one time in a week as to take some infos.

64 bit... Wow... :hailprobe:
 

Owenmck

Read the documentation!
Joined
Apr 18, 2020
Messages
125
Reaction score
117
Points
58
Location
Scotland
I agree that collision detection and perhaps vessels being destroyed when they impact either; other vessels or the ground (nothing to fancy, just a visible explosion and the vessel disappears, kind of like how it happens in KSP) should definitely have some focus.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
Proper damage simulation should and always could have been implemented by the vessel itself (and in some cases was). Collision detection and some physics backend that does the heavy lifting for it would be a cool thing, though. But it would also make vessel development more complicated, and that's a bit of an issue. Essentially, the reworked touchdown points for Orbiter2016 already gave us an equivalent to a collision mesh (admittedly without normals), though it only worked with the ground, but a lot of developers already had serious trouble implementing that (myself included).
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,922
Reaction score
789
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
Proper damage simulation should and always could have been implemented by the vessel itself (and in some cases was). Collision detection and some physics backend that does the heavy lifting for it would be a cool thing, though. But it would also make vessel development more complicated, and that's a bit of an issue. Essentially, the reworked touchdown points for Orbiter2016 already gave us an equivalent to a collision mesh (admittedly without normals), though it only worked with the ground, but a lot of developers already had serious trouble implementing that (myself included).
Collision detection in the core is the key thing, then you pass that event back to the vehicle and let it handle that how it wants internally - along with a bunch of resultant state changes, no doubt.
 

JDat

Active member
Joined
Sep 6, 2010
Messages
105
Reaction score
74
Points
43
I have a joystick library that someone might be able to integrate into Orbiter for improved joystick support.

Instead of adding your joystick library into Orbiter source, code. Write input addon. Similarly to TrackIR input addon. No need to integrate things into orbiter when they can be loaded as addons.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Instead of adding your joystick library into Orbiter source, code. Write input addon. Similarly to TrackIR input addon. No need to integrate things into orbiter when they can be loaded as addons.
Well, there is nothing wrong with trying it for his own. In the end, Martin's repo will be the "blessed" one - similar to Torvald's Linux repo - and he must decide what makes it in and what not. Git is certainly the perfect system for this kind of development. My suggestion would be that he also builds up a network of "lieutenants", lest the work-load might get overwhelming.
 

N_Molson

Addon Developer
Addon Developer
Donator
Joined
Mar 5, 2010
Messages
9,271
Reaction score
3,244
Points
203
Location
Toulouse
Wow, ground-breaking news! Thanks for this, I'm confident it is a good and wise decision. ?

I wish you the best success in your medical research, the recent events have proven us how important that field is! ???

And we'll still be there in 10 years ?
 

Owenmck

Read the documentation!
Joined
Apr 18, 2020
Messages
125
Reaction score
117
Points
58
Location
Scotland
The vessel could have some values in the configuration file, that tell Orbiter at what impact speed / temperature it should destroy the vessel, and if those values are not exceeded, then it lets the vessel’s own code deal with it. That would allow a global destruction of vessels, whilst still allowing smaller damages and failures
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,588
Reaction score
2,312
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
The vessel could have some values in the configuration file, that tell Orbiter at what impact speed / temperature it should destroy the vessel, and if those values are not exceeded, then it lets the vessel’s own code deal with it. That would allow a global destruction of vessels, whilst still allowing smaller damages and failures

But much smarter would be simply using a generic DLL for the vessel, that supports a more or less sophisticated damage model.

Even if its just a configuration file based vessel - you could simply add a module to it, that handles such damages. AFAIR, my old Mayfly.dll module contained this already.
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,870
Reaction score
2,868
Points
188
Website
github.com
My suggestion would be that he also builds up a network of "lieutenants", lest the work-load might get overwhelming.
Software-style mafia: a network of capos kicking up changes to the boss. :ROFLMAO:
 
Top