Orbiter is now open source

dbeachy1

O-F Administrator
Administrator
Orbiter Contributor
Addon Developer
Donator
Beta Tester
Joined
Jan 14, 2008
Messages
8,990
Reaction score
1,077
Points
203
Location
VA
Website
alteaaerospace.com
Just to double-check, we will use Visual Studio 2019 to build the new Orbiter, correct? I'm asking because I'm moving XRSound 3.0 to Git as we speak, and I'm updating it to use dynamic linking instead of static linking due to the irrKlang sound engine license requirements -- the irrKlang Pro license prohibits redistributing its static build library, and obviously we won't require developers to purchase irrKlang Pro in order to build XRSound 3.0, so it will use the free irrKlang version. Currently I'm using VS 2019 for the new XRSound build.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,305
Reaction score
411
Points
123
Location
Vienna
Just to double-check, we will use Visual Studio 2019 to build the new Orbiter, correct? I'm asking because I'm moving XRSound 3.0 to Git as we speak, and I'm updating it to use dynamic linking instead of static linking due to the irrKlang sound engine license requirements -- the irrKlang Pro license prohibits redistributing its static build library, and obviously we won't require developers to purchase irrKlang Pro in order to build XRSound 3.0, so it will use the free irrKlang version. Currently I'm using VS 2019 for the new XRSound build.
I'd think so, at least this is what I used to compile the sources. I also use VS2019 to build D3D9Client now.
 

TCR_500

Developer of Solar Lander
Joined
Mar 3, 2009
Messages
596
Reaction score
20
Points
18
Website
www.tchapman500.com

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
9,808
Reaction score
652
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:
 

TCR_500

Developer of Solar Lander
Joined
Mar 3, 2009
Messages
596
Reaction score
20
Points
18
Website
www.tchapman500.com
Sorry. I know only the Windows API. I may be able to add some preprocessor directives to help make it platform-independent, but that would be the best I can do.

EDIT: Also, I can't wait to run it on Ben Eater's CPU.
 

WolfAngriff

Member
Joined
Nov 9, 2013
Messages
38
Reaction score
10
Points
8
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,335
Reaction score
378
Points
83
Website
users.kymp.net
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
23
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
23
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
9,808
Reaction score
652
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,612
Reaction score
144
Points
153
Location
Moscow
Website
orbides.org
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
2,987
Reaction score
234
Points
78
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

Member
Joined
Nov 9, 2013
Messages
38
Reaction score
10
Points
8
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
122
Reaction score
112
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
9,808
Reaction score
652
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
Addon Developer
Webmaster
GFX Staff
Donator
Beta Tester
Joined
Aug 9, 2009
Messages
6,692
Reaction score
208
Points
153
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
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

Member
Joined
Sep 6, 2010
Messages
93
Reaction score
52
Points
18
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,305
Reaction score
411
Points
123
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.
 
Top