Oolite Bulletins

For information and discussion about Oolite.
It is currently Thu Dec 13, 2018 11:14 pm

All times are UTC




Post new topic  Reply to topic  [ 13 posts ] 
Author Message
PostPosted: Thu Feb 15, 2018 1:27 pm 
Offline
Poor
Poor

Joined: Thu Feb 15, 2018 1:15 pm
Posts: 5
Have anyone had any luck setting up or modifying Oolite to support a multi-monitor setup. With multi-monitor setup I mean having a single monitor for front view and having an additional one for gauges, levels, radar and/or system data (HUD)?

Is there a way that the Debug Console function could exchange data to facilitate an external HUD?

If not, have anyone looked into using sockets(UDP) as a means to export Ship/system data to an external program or computer so that data can be presented elsewhere?


Top
   
PostPosted: Thu Feb 15, 2018 1:51 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5309
Hi and welcome.
Quote:
Have anyone had any luck setting up or modifying Oolite to support a multi-monitor setup. With multi-monitor setup I mean having a single monitor for front view and having an additional one for gauges, levels, radar and/or system data (HUD)?
Speaking for Windows and Linux systems, that's a tricky thing to do. The main issue is that the SDL version we use supports only one OpenGL window context, therefore everything that we do has to happen in one window only. We cannot spawn child windows of the game (unless we go into direct OS API calls, not sure, never tried it), which would most likely be a requirement for moving the HUD gauges on a separate screen. And even if we could spawn child windows, we would also need some heavy code modifications to get the gauges to display on that window.
Quote:
Is there a way that the Debug Console function could exchange data to facilitate an external HUD?

If not, have anyone looked into using sockets(UDP) as a means to export Ship/system data to an external program or computer so that data can be presented elsewhere?
The debug console can certainly receive game packets of varying information. It cannot do much with the received data, though, other than respond back to the game if and when needed. In order to take this data and do something with it, you would need to either talk to the debug console with an external program and listen for incoming packets, or you could write an application that mimics the way the console connects to the game, receive directly the information and do whatever is needed with it.

As far as I am aware, no one has looked into an application like this.


Top
   
PostPosted: Thu Feb 15, 2018 2:15 pm 
Offline
Poor
Poor

Joined: Thu Feb 15, 2018 1:15 pm
Posts: 5
Hi and thank you!

I am not familiar with OpenGL under SDL, so I will take you word for it that it is difficult, if not impossible to do in an easy manner. I have, however done a similar task using standard SDL2, working on a custom built space simulator for my kid(how do I upload pictures to the forum??).
Exporting the data structures(like using sockets) would allow 3rd party programmers to come up with new ways of using Oolite.
My thought here was modifying or replacing the Debug function in such a way that (using UDP) allowing other application (or computers) to connect to Oolite, subscribe for the data structures, parse them and display them separately from Oolite. I figure that very little would have to be change in the base code(or the Debug OXZ) to allow a 1-way data flow.


Top
   
PostPosted: Thu Feb 15, 2018 2:18 pm 
Offline
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
User avatar

Joined: Sat Jul 04, 2009 9:31 pm
Posts: 13406
Location: Corke's Drift
Welcome aboard...
Quote:
...how do I upload pictures to the forum?
Host the images somewhere (postimage, imgur - there are others) and link to them.

_________________
Those who seek gold dig a lot of earth, but find little


Top
   
PostPosted: Thu Feb 15, 2018 2:33 pm 
Offline
Poor
Poor

Joined: Thu Feb 15, 2018 1:15 pm
Posts: 5
Thanks! Here's a screenshot of the layout using SDL2:
https://ibb.co/gS3kY7


Top
   
PostPosted: Thu Feb 15, 2018 3:16 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5309
Looks good. I know that SDL2 does allow child windows and if we used SDL2 it would have been a pretty straightforward task to implement. However, we are still on SDL 1.2.13 (.14 for Linux) at the moment so we don't have this flexibility. There is a WIP pull request on github for transition to SDL2, but it is not mature for merging in yet and it might take a while to get to completion.


Top
   
PostPosted: Thu Feb 15, 2018 3:34 pm 
Offline
Poor
Poor

Joined: Thu Feb 15, 2018 1:15 pm
Posts: 5
Quote:
Looks good. I know that SDL2 does allow child windows and if we used SDL2 it would have been a pretty straightforward task to implement. However, we are still on SDL 1.2.13 (.14 for Linux) at the moment so we don't have this flexibility. There is a WIP pull request on github for transition to SDL2, but it is not mature for merging in yet and it might take a while to get to completion.
I can imagine! I started out with SDL1 and hit so many roadblocks! As soon as I could, I upgraded my existing code to SDL2, which works much better.
After a while I realized how much work is involved in coding a 3D space environment, and I stopped my project and changed the hardware to match an (easier) option with Oolite.
If you are interested here's some pictures of it:
https://ibb.co/bPhb6S
https://ibb.co/bN4OmS
https://ibb.co/cTVURS
https://ibb.co/bR0URS
https://ibb.co/dkU0Y7
https://ibb.co/nkq7D7
https://ibb.co/nefk0n

However, my initial question still involves the ability of exporting data/game structures using a UDP socket, like adding a UDP server to the Oolite code and allow clients to connect and subscribe for some or all structures. Anyone working on something like this or are there any plans concerning this? (Or did someone already do this?)


Top
   
PostPosted: Thu Feb 15, 2018 4:05 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5309
Quote:
However, my initial question still involves the ability of exporting data/game structures using a UDP socket, like adding a UDP server to the Oolite code and allow clients to connect and subscribe for some or all structures. Anyone working on something like this or are there any plans concerning this? (Or did someone already do this?)
To the best of my knowledge, nobody has worked or is currently working on this.


Top
   
PostPosted: Thu Feb 15, 2018 4:16 pm 
Offline
Poor
Poor

Joined: Thu Feb 15, 2018 1:15 pm
Posts: 5
Quote:
Quote:
However, my initial question still involves the ability of exporting data/game structures using a UDP socket, like adding a UDP server to the Oolite code and allow clients to connect and subscribe for some or all structures. Anyone working on something like this or are there any plans concerning this? (Or did someone already do this?)
To the best of my knowledge, nobody has worked or is currently working on this.
Are there any documentation available describing the data structure in detail?


Top
   
PostPosted: Thu Feb 15, 2018 5:51 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5309
Yes there is and is actually quite good. Just run doxygen in the root folder of Oolite's source code checkout and look for index.html inside the generated doxygen folder. Be warned though, the full documentation weighs about 650 MB.


Top
   
PostPosted: Thu Feb 15, 2018 9:42 pm 
Offline
Deadly
Deadly
User avatar

Joined: Sat May 01, 2010 9:05 pm
Posts: 194
Location: Scotland
Quote:
Be warned though, the full documentation weighs about 650 MB.
S(everal s)omeone(s) have been very busy boys. Or does that include a lot of image data? (I'm on a metered connection, so I'm not even going to think about looking.)

_________________
--
Shooting aliens for fun and ... well more fun.
"I'm just stepping out of the airlock for a breath of fresh vacuum. I may be gone some time."


Top
   
PostPosted: Thu Feb 15, 2018 9:46 pm 
Offline
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral

Joined: Wed Feb 28, 2007 7:54 am
Posts: 5309
Quote:
S(everal s)omeone(s) have been very busy boys. Or does that include a lot of image data? (I'm on a metered connection, so I'm not even going to think about looking.)
It does include a LOT of graphs, but being on a metered connection does not matter in this case. The entire 650MB of documentation gets generated locally on your computer once you run Doxygen.


Top
   
PostPosted: Tue Feb 20, 2018 1:00 pm 
Offline
---- E L I T E ----
---- E L I T E ----
User avatar

Joined: Mon Apr 06, 2009 12:20 pm
Posts: 6310
Location: Aboard the Pitviper S.E. "Blackwidow"
Quote:

Hoo-boy... when your little one gets old enough for Kerbal Space Program, you are gonna be one busy guy!

Kudos.. that's quite a job you've done there.

_________________
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 13 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 24 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited