There's some sort of legality flaw when you're mixing VANILLA games with your alterations. Because of that putting vanilla game into openxcom data, and putting there shaders/language/soldiername/rulesets is not quite acceptable.
C:\Games\Ufo Defense\ - vanilla ufo1 WITHOUT RULESETS AND any non-vanilla stuff (pure clear ufo1 folder)
C:\Games\Terror from the deep\ - vanilla ufo2 -"-
C:\Games\OpenXCom\ - openxcom exe / non vanilla stuff
C:\Games\OpenXCom\Shaders\ - why make multiple copies of same data set??? Shaders aren't subject to mod for particular game versions!!!
C:\Games\OpenXCom\SoldierName\ - same thing -there's no need to clone data
C:\Games\OpenXCom\ufo1\Rulesets\ - non vanilla custom openxcom data for xcom1
C:\Games\OpenXCom\ufo1\Language\ -"-
C:\Games\OpenXCom\ufo2\Rulesets\ - non vanilla custom openxcom data for xcom2
C:\Games\OpenXCom\ufo2\Language\ -"-
C:\Games\OpenXCom\user\ - config foldier + saves (basically similar rules but not INSERTED into vanilla game folder at all)
And just couple of lines for each game type in options.cfg
like
==========
games:
xcom1:
vanilla: C:\Games\Ufo Defense\
openxcom: \ufo1\
xcom2:
vanilla: C:\Games\Terror from the deep\
openxcom: \ufo2\
============
I was discussing this with Warboy yesterday, and we came to the conclusion that it might even be interesting in some cases to have two language files. One with common strings for example all the strings related to the new options screen. Otherwise if a new option would be added, you need to add it to both ufo1 and ufo2 folder.
Also, there need to be a way to have user mods in either ufo1 or ufo2 folder + user mod strings in a language file. Also, if a user mod adds new strings, will they all be translated in the different languages?
And there is a new folder by now "Resources" where you have the pathfinding orbs now (which is common between all mods), but there can be specific Resources for ufo1 or ufo2 or user mods.
So if I compile that into your structure proposal, I have this:
C:\Games\Ufo Defense\ - vanilla ufo1 WITHOUT RULESETS AND any non-vanilla stuff (pure clear ufo1 folder)
C:\Games\Terror from the deep\ - vanilla ufo2 -"-
C:\Games\OpenXCom\ - openxcom exe / non vanilla stuff
C:\Games\OpenXCom\Shaders\ - why make multiple copies of same data set??? Shaders aren't subject to mod for particular game versions!!!
C:\Games\OpenXCom\SoldierName\ - same thing -there's no need to clone data
C:\Games\OpenXCom\Language\ - common strings
C:\Games\OpenXCom\Resources\ - common graphics
C:\Games\OpenXCom\ufo1\Rulesets\ - non vanilla custom openxcom data for xcom1
C:\Games\OpenXCom\ufo1\Language\ -"-
C:\Games\OpenXCom\ufo1\Language\mod\ -"-
C:\Games\OpenXCom\ufo1\Resources\ -"-
C:\Games\OpenXCom\ufo1\Resources\mod\ -"-
C:\Games\OpenXCom\ufo2\Rulesets\ - non vanilla custom openxcom data for xcom2
C:\Games\OpenXCom\ufo2\Language\ -"-
C:\Games\OpenXCom\ufo2\Language\mod\ -"-
C:\Games\OpenXCom\ufo2\Resources\ -"-
C:\Games\OpenXCom\ufo2\Resources\mod\ -"-
==========
games:
xcom1:
vanilla: C:\Games\Ufo Defense\
openxcom: \ufo1\
rulesets:
- XCom1Ruleset.rul
- myxcom1mod.rul
xcom2:
vanilla: C:\Games\Terror from the deep\
openxcom: \ufo2\
- XCom2Ruleset.rul
============
Or is it too complicated?
there are probably several ways to structure it...