Could you explain this further? Do you mean with OrbiterSound or with XRSound?
What issues does OS has in SSU?
Could you explain this further? Do you mean with OrbiterSound or with XRSound?
I was thinking more generically. Right now we're asking users to install an add-on that has known CTDs and other issues with Orbiter 2016 not to mention an uncertain future. XRSound is being actively developed and now has provisions against developer abandonment.What issues does OS has in SSU?
I was thinking more generically. Right now we're asking users to install an add-on that has known CTDs and other issues with Orbiter 2016 not to mention an uncertain future. XRSound is being actively developed and now has provisions against developer abandonment.
Is that control really worth it? Right now it looks like we have stalled out on progress given that it has been what, five or six years and we're still waiting on the DPS. I'm starting to feel that it just isn't worth it as it hinders alot of progress.I would say, we should shove this decision to next year. Its not urgent and we have the time to let XRSound mature a bit more before switching.
Also, its not open-source with a compatible license to ours, which would be a problem right now - we would violate our own license that way, since, contrary to Orbiter itself, XRSound is no necessary dependency. (Yes, we have the same issue with OrbiterSound.)
We could give up our license and switch to something less restrictive there. But I feel like this would have more disadvantages than advantages for us, since we also give up a lot of the remaining control we have over SSU.
Is that control really worth it? Right now it looks like we have stalled out on progress given that it has been what, five or six years and we're still waiting on the DPS. I'm starting to feel that it just isn't worth it as it hinders alot of progress.
I don't want to belittle all the hard work you have put into the new DPS. I just wanted to express some frustration I have felt for some time over the progress of the DPS over the last few years. All discussions relating to system implementation have almost always ended with "let's wait for the new DPS".I see... :dry:
Honestly, I have not taken a good look at XRS (been busy with something else), so I can't really say anything related to if/how a move could be made.
To avoid any misunderstandings, I'm not complaining on you or the hard work you have put into the new DPS. It's more of a poorly worded observation that we seem to have this unbreakable "DPS wall". Is there anything we others can do to help raze this "wall"?@DaveS: Let us discuss this one or two days later, before I'll use the opportunity to express my frustration.
To avoid any misunderstandings, I'm not complaining on you or the hard work you have put into the new DPS. It's more of a poorly worded observation that we seem to have this unbreakable "DPS wall". Is there anything we others can do to help raze this "wall"?
Thanks for the explanation. I think that has been lacking. Is there anything you could check in so that you're not the only one working on it?First of all, I am not the dictator of this project. I just argue against other DPS implementations because I don't see them to be easier. That is no reason to not do another implementation, if you think this is better.
I just think that the minimal DPS foundation implementation should get done in any scenario: IO via MDMs and Shuttle Bus, an human model for a more or less real IOP as interface to the software. Thats far closer to a working solution than the multithreaded PASS already and partially already in the SVN.
Next, I think that the CRT rendering should not get done in the software. Model-View-Controller is a pattern for software development that has survived many newer ideas for a good reason. And because the display formats are reused very well in the real shuttle, its one reason more to decouple it from the software.
But that does not mean we need to do it like the real one... there is a good compromise possible.
I wanted to get some work packages defined already last year and drop it into our ticket system for others to take, I just had no time to do it. Not sure how much more time I will have 2018. At least I already have the time to do some small developments in Orbiter now, after work reduced to 40 hours per week, and having a project there where every hour feels like a day afterwards.
Second: We have far too few C++ developers and far too many people waiting for those to do something. Thats a classic bottleneck. And that will make ANY development in SSU slow.
Third: If you think licenses are the problem, you can sure get a waiver from my end that I give up any copyright claims, should there be no future agreement on a license. But as I see it right now, this hard solution would also be the end of my SSU participation then.
I have some minimal requirements under which conditions I give work into the project. I don't want somebody to profit from this work for less. Especially I don't want to get into any "shared source" situation. That contributions to SSU could get stolen from the public. What ever somebody does with SSU: He should give the community something in return. I am sure, others will see it similar.
As said: I don't want to vent my frustration there as well. Its tempting, there are enough reasons for it. But its destructive as well. And I doubt I will make wise decisions while being angry. Or have fun in this situation.
If I can help in anything....
Well, I have a decision to take right now: Can we include a XML library into SSU? I doubt we need a full Xerxes, but even libxml2 brings some secondary dependencies.
Why XML? First of all, because C# can talk good in XML and we could use it for defining more complex data in XML and refer to the XML files in the mission file then.
Next, I can't get a 100% complete definition of the display format words right now. Best solution would be using an intermediate format for the display definitions, XML would be a good help there. So, instead of using a binary format like the DPS does, we create the display data in XML, compile it into an intermediate binary form during startup of SSU and use "slightly wrong" format words for the display rendering. Should we ever get a correct format word definition, we can implement it inside SSU and keep the external interfaces the same - for example a display editor in our Mission Editor. (But then, we could go from "Compile during start-up" to "compile once" in the Editor)
And what you can do then: Well, could you create, based on such a file standard, a tool to draw the static DPS displays in C# that is integrated into our Mission Editor?
If we use XML there, we could even include meta-data into the files, that make editing the displays easier - for example placeholders for data that the GPC will render by the FCOS equivalent to printf.
I'd like get the new orbiter done first so we don't have to repeat the task again later. Speaking of the VC, the A/E PFD delta-inc and x-trk texts need to be moved a bit to the left as currently they're being overwritten by the actual data.Changing gears: any progress on the new vc? IMO, even a "cheap" resize would be good to get the windows +/- aligned...
OK, that should take care of the static parts of the displays... but what about the dynamic parts? It could be done by saying "here display the content of memory location 0xABCD, formated in this way", but then we are still missing part of that creates that dynamic data and/or does something with an user input. :uhh:
I'd like get the new orbiter done first so we don't have to repeat the task again later. Speaking of the VC, the A/E PFD delta-inc and x-trk texts need to be moved a bit to the left as currently they're being overwritten by the actual data.
I didn't say it didn't.Actually, it works exactly like that.
I'm not saying user-defined displays would not be good, but is there anyone asking for that capability? Is that really worth doing when we still have BIG holes, like no EPS?Which means: That way we could allow even payloads by third party developers.
...but then we are still missing part of that creates that dynamic data and/or does something with an user input. :uhh:
if(KEY==ITEM_ENTER) {
switch(ITEM_NO) {
case 1:
velocity.x = ITEM_S; //double precision float parsed from the input
break;
case 2:
mode = ITEM_I; //Integer parser from decimal input
break;
case 3:
flags = ITEM_O; //integer parser from octal input
break;
}
}
I wonder how many prospective SSU end users really use the inline client? Maybe I should start a poll on this so we have the real answer. Also, isn't GDI really slow for D3D9? I seem to remember that the D3D9Client displays a warning about poor performance when GDI compatibility mode is selected.No they don't, they start in the correct place. The issue with D3D9 is that we can't set the font width, so in some places things don't fit. :shrug:
In the MOGE version things are +/- perfect as GDI allows the font width to be controlled.
I wonder how many prospective SSU end users really use the inline client? Maybe I should start a poll on this so we have the real answer. Also, isn't GDI really slow for D3D9? I seem to remember that the D3D9Client displays a warning about poor performance when GDI compatibility mode is selected.