Hi,
Most of those variables are bit mask. So for example time of day 3 would be both day and dusk/dawn at the same time. Not sure what would happen in that case.
Either way it does not seem to be writeable, at least as far as I have tried yet (not far). Crash would be the best if it indeed is a bitmask since it seems to only have values with the last bit "0" (0, 10, 100, 1000 and 1110). However if FSUIPC can not write to that variable, I sure cannot.
Intelliscene would have been a solution, probably, and when I contacted Vista Mare software they indicated it was possible to license it, however, nothing ever came from this, and Vista Mare does not seem to exist anymore.
My best guess is, that Aerosoft now handles it (based on tsgucci post in Oct12). I think it may work with some heavy hacking into memory to inject data in normally inaccessible variables... or something like that. I can get nowhere near that level.
Most of these variables will also be written by FS itself, so your values are most likely to be overwritten.
That would not be a problem if it stayed changed long enough for BGL code to note. I could have a function watching some variable, and if that variable is set to predetermined number, set a local variable to light state (simple on/off, or different states, RAIL on/off, middle line on/off, rwy centerline on/off)...
Question is, how long is long enough, especially if a non-transparent variable is used (ADF or so), I do think it would not be completely unfeasible if it can be done in one tick. (with either slow updates, or updates only on case change). Another question is how often does FS update transparent variables, if found injectable, i.e. does it update ToD every tick or every second, minute, on change? Crash? Any other variable usable in this manner?
For FSX I think a better approach is to move the logic to your application and then selectively place certain sim objects. So instead of having all conditions in one mdl, you just switch different mdl files.
If a simobject .mdl (or a library call) could use the asm tweaks such as separation planes and so, then it could work and all I can do is wonder why it is not done at least occasionally...
Alas, I will go and try it. One of these days.