Quasar
Moderator

Posts: 4615
Registered: 08-00 |
Katarhyne said:
It's really bothering me that you moved away from Fragglescript. Way to create yet another schism in a community that can't agree on anything to begin with, neh? But still, it sounds cool.
Any chance of a FS -> Small converter?
I kind of agree in that I was very reluctant and regretful to pull out FraggleScript. I'll note that the code is still in the engine and can be re-enabled by defining FRAGGLESCRIPT when compiling.
This means I could release a FS-enabled version of Eternity if I want, or if there is demand for some reason.
SoM and BBG are right on though. FS is a case of a troubled, complex system where modification only breaks things rather than fixing them. Fraggle himself probably can't precisely explain some of the things that are going on in it -- particularily in the tokenizer, which is poorly understood by everyone who's looked at it.
The flexibility, compactness, and features of Small make FraggleScript totally obsolete. All of the stuff that SoM and I WANTED FS to do is already possible using Small with only a minimal setup effort on my part.
Stuff this includes is:
* Ability to refer to things, lines, sectors via ExtraData ids rather than map numbers or tags
* Ability to have persistent, global scripts that are always available, rather than attached to one map
* Reliable save and restore of virtual machine state
The last one is a big issue that caused problems you might remember with Nimrod for Legacy. A script I had written to create a falling damage effect caused save game corruption due to the inability of the FS save code to work properly for scripts that wait and scripts that call themselves.
As SoM said, a FS to Small converter would be impractical, as it'd require either 1. a FS to Small VM compiler, or 2. complete grammatic parsers for both FS and Small, neither of which exist already.
I will, however, offer assitance to anyone needing to port FS scripts to Small. Its pretty easy as the languages and their usage in Eternity are similar.
|