Currently the preprocessor that is in Firestorm has more features that transform the code as well as simply handles things differently compared to the one in this plugin, enough so that modifying an existing script to be a lot of work. Here are some of the things I've noticed thus far:
- Includes are
#include <theotherfile.lsl> in Firestorm, whereas in this plugin it is #include "theotherfile.lsl"
- When using
#define SOMESYMBOL "some text" // this is some text Firestorm will omit the comment, this plugin adds it as well causing code that reads string textvar = SOMESYMBOL; to break because it becomes string textvar = "some text" // this is some text;. I feel this should be considered a bug.
- Firestorm adds some language helpers, in particular to lists allowing the use of indexes. It will transform
(string)args[0] into llList2String(args,0) (with similiar llList2xxx for other data types). This is a real showstopper from switching preprocessors, at least for me.
I am not saying that one is right and one is wrong mind you 🙂