Thanks, I’ll test it tonight.
Edit: BTW, I just noticed that I've got some hard coding when it comes to ship's nationalities. For example, for US carriers, the ID must include "USS", British must have "HMS" and Japanese "IJN" so that the proper squadrons get put on them. It will override even assignments through the timetable.
I see, so a proud USN squad would in no way deploy on a crappy Tommy carrier ?. Anyway, all this doesn’t seem to be a major problem, because within the timeframe of Il-2 1946, only the British and the American might operate carriers together, and these do retain the USS and HMS code in their designations. The only unfortunate exception is the HMS Ameer designated as carrier1 in HSFX.
However, you're right that if I expanded it to all ground units, special abilities (like transporting, carriers, capital ships, etc,) could all be defined through this file. More than that, multiple special abilities could be defined to one type. But, that would require a hell of a lot of code rewrite.
Yep, but what if…
Ships.Carrier1 1 0 0 0 1 1 1 HMSAmeerCVL
Maybe I’m completely wrong, but I suppose that unit names are stored and evaluated as a text array like UnitName[n]. If you gave it another dimension (UnitName[n, 0..1]) and assigned „Carrier1” to UnitName[n, 0] and HMSAmeerCVL to UnitName[n, 1], AND DCG used and evaluated throughout this latter EXCEPT when reading and writing data from and to external files, then the whole problem could be overcome by a simple conversion table as the above one. Then it would be the user’s responsibility to provide DCG-compatible alias-names.
Just an idea, again, don’t shoot…
[And what if you used one of those useless bits to indicate whether the unit is included in gunits too? DCG would have one less file to process.]