Re: TurboSphere
Reply #231 –
I will soon update the V8 used by TurboSphere to 3.21. Once I do, I believe I will begin the arduous process of backporting about six months of work to Windows. I need to work out why there are so very many crashes in Windows right now (or at least there were last time I checked, but I doubt that changed), and almost none in Linux. A very frightening state of affairs, but considering that TurboSphere was once quite stable on Windows certainly not an impossible task. Plus, one of the most significant problems on Windows I was able to directly trace to SDL2, which has finally been properly released in between then and now.
The new version of V8 will have the advantage of being able to seed the builtin random number generator (and redefine the entropy source!), and the new version also contains the functions needed to gracefully and elegantly change games while running, and to properly handle termination on errors (instead of only terminating the specific script that threw the error, as TurboSphere does now). Hopefully the release will support startup games--I've already modified the engine to allow for it, I just need to have the right functions from V8 to do it.
I must say that in the space between 3.14 and 3.21 the API of V8 has been vastly improved. Many utility functions for embedders have been added, and it's beginning to resemble the functionality that (from what I gather) SpiderMonkey's API has.
I've added Abort and Exit. I don't know why those weren't some of the first functions I added...I guess I was too excited by using SDL and SDL_ttf, and wanted to see something more interesting.
I've also added the rawfile and bytearray functions, and added a couple utility functions to T5, several TTF functions, more sound functions (and a reworked sound plugin), proper RequireScript and EvaluateScript functionality, reconfigurable game() and game.sgm names via config file, the ability to point TurboSphere at a file to be used as the game.sgm in addition to a folder holding a game.sgm, fixed most crashes relating to trying to open unavailable resources, and a bunch of graphics primitives. I'd need to go through the current TS API page on the wiki to know exactly what is new.