spheredev / neosphere

A lightweight game engine and development platform using JavaScript for game coding, based on the original Sphere engine by Chad Austin but with a redesigned, modern API and brand-new command-line development tools.
http://www.spheredev.org/
Other
105 stars 15 forks source link

Refactor SSj Blue to use SSj as its backend #60

Open fatcerberus opened 8 years ago

fatcerberus commented 8 years ago

The Sphere Studio debugger is currently maintained independently from SSJ, being based on custom C# code which was written before SSJ. To make maintenance easier in the future, refactor the GDK plugin to use SSJ as its backend, similar to the way it already uses Cell for compilation, instead of duplicating effort.

fatcerberus commented 7 years ago

Implementing this has proven to be quite difficult because when stdout is redirected in .NET, the output gets buffered by the runtime, independently of the program on the other end of the pipe (in other words, fflush(stdout); has no effect). I've looked for ways to get around this, but so far nothing has turned up.

In practice this means an alternate communication channel is likely needed. One option would be a socket connection between SSJ and the Studio plugin. But if I have to maintain networking code anyway there's little benefit to refactoring, since I already have to connect directly to the running minisphere instance.

fatcerberus commented 6 years ago

This requires changes to ssj command-line handling to support and I'm thinking it's not feasible to implement in the mS 5.0 timeframe. Clearing the milestone. I'm going to refrain from back-burnering this for now, as the effort required is merely tedious, not difficult.