Well it's going to be tight, and chopped to bits, but I may be able to finish something by tomorrow night after all. No promises, but I'm in a groove and things are moving along.
Two things, if I may:
First,
another FGD update, fixing the display of spawnflags for info_command and trigger_command. Jack's current method of combining classes prevents the spawnflags from being merged, so manual intervention was necessary.
Second, a question for Quake engine experts: is there a way to save and restore the value of a console variable?
I'm targeting Quakespasm with my map, but I also decided to test in Darkplaces, and noticed a strange physics problem in that engine. Some research led me to a DP console variable that will solve the problem, and I can use Quoth's info_command_spawn to fire the command when the map starts. The physics will behave in Darkplaces, and in Quakespasm the command will simply have no effect.
Unfortunately that will override users' settings for the rest of their session unless I change it back, so when the map ends I'd like to set the variable back to whatever it was before I changed it. It's easy enough to set the variable to 0 on map spawn, then to 1 right before you exit, but if a player has, for example, set the variable to 0 themselves in their autoexec I don't want to change that.
I thought about maybe firing an info_command that ran "exec quake.rc; exec config.cfg; exec autoexec.cfg" to make sure the engine and player settings are all restored, but I don't know if that's a complete list of the necessary scripts (would I need default.cfg in there somewhere too?), the right order in which to execute them, or if the whole idea is just too heavy handed.
Is it possible to do something like what I'm after, or should I just set the variable and forget about it? Or, alternatively, forget about Darkplaces? I don't use the engine myself, but I'd hate to just abandon support for it if I don't have to.