Since there are so many things built on existing alien mission system, I made all my changes separate.
It's in fact another class of Ufos, driven by separate code, they just share the stats and icons.
Old code and ufos that belong to it operate as usual.
How your code will handle old saves? And when I save in new exe, old one could open it without crash?
Old saves have old UFOs, old missions, so old code handles that. It's not going anywhere.
Load code just ignores stuff it doesn't know about, if it's separate enough, so I don't see any crashes forthcoming.
What will be default behavior? UFO always attacks? Or its config that enable it?
New code does not automatically take over over anything, this has to be done in the mods.
All old missions work exactly as they did before. So do the ufos they spawn.
To include to my branch (Meridian could have different criteria for his brach) I would like that overall default behavior will stay same (same time for dogfight and geoscepe is detail that can be changed).
From the start it all was done so that if one turns off the new ai, or opens the save in an old build, all new features just vanish.
So the old dogfight code will have to stay. I have yet to think this through though.
Another thing is that save file do not change its structure, if you need add something its better if it separate node not used by normal OXC.
That's the plan.