I am creating a brand new topic just for my latest project: FGFSCopilot Hybrid. It's "Hybrid" b/c this version is going to be run by a collaboration between Java and Nasal code. Two different languages running the same thing, kinda like gas and electric running the same car, or an air-breathing rocket-SCRAMjet propelling daring test pilots to hypersonic speeds at the edge of space. This is more than an update to the old FGFSCopilot. Perhaps you could think of it as a partial Nasal port, but without all the bugs (at least not the same bugs ), as the old FGFSCopilot, and a bunch of new features. Except for the GUI, I'm essentially rewriting the whole thing, since I found out that my system for checking the phase of flight was not only as confusing as trying to fly an R/C plane headed towards you with all control axes inverted, but it just didn't work quite right to begin with. I scrapped it, and decided on using a giant nested if-statement, which I had to draw up from scratch. Since Java will only be running the GUI, there is no longer any need to keep the program stuck in an infinite loop so that it continues to manipulate FG properties. This means that the GUI will no longer freeze upon clicking the "Activate!" button. Furthermore, I've added an override button. That way, if, for any reason, a user decides they need to make FGFSCopilot stop, they can just click that button, instead of having to force terminate the program. The other added benefit to this feature is that it will leave the GUI running, in case the user has to stop FGFSCopilot just to fix a typo in one of the textfields. The user can then click the "Activate!" button again to get FGFSCopilot going again immediately. So, we'll have a Java GUI at the front taking in user input, and sending it off to the property tree, with a few other calculated values, and we'll have Nasal working the magic behind the scenes. If I manage to do this right, we can expect it to make a flight correction during every frame! Also, since Nasal has write access to several properties that are restricted to Java, I'll be able to include other things like auto thrust reversers. I'll also be able to make it manipulate flight controls directly so that it can lower the throttle to idle itself after touchdown, instead of setting the A/T to -999 kts.
At its current state of development, the Java code is essentially done. I just gotta convert some code, which I mistakenly wrote in Java, over to Nasal. The GUI is tested and confirmed fully functional at this time; however, I will be removing some of the properties that it will be creating, as they just happen to be properties that I need Nasal to create. So, I will have to test it again. On the Nasal side, it's vastly incomplete, as I just just started it a few hours ago. It's gonna take some time before I get any of it running. I have no ideas for any estimated release date. I have no plans for trying to estimate when it'll be done. Anything can happen. I'll release it when I know it's ready, or at least working for fixed wing aircraft. I'm still gonna have to run it through several flight tests, anyway, and each one will last anywhere from 20 minutes to an hour or maybe a little longer. I'll probably broadcast them live on twitch (formerly justin tv) like before. AFAIK, they will be recorded to the website and available for viewing indefinitely.