It is certainly possible to use the same model (or rather a copy thereof) with different skins. All of the unit artwork that I've created works that way, as does most of the art that anyone else made for any other mod of Civ4.
The unit art defines (found in Assets/XML/Art/CIV4ArtDefines_Unit.xml) look like this:
Code:
<UnitArtInfo>
<Type>ART_DEF_UNIT_KNIGHT_CALABIM</Type>
<Button>Art/Interface/Buttons/Units/Knight.dds</Button>
<fScale>0.42</fScale>
<fInterfaceScale>0.5</fInterfaceScale>
<bActAsLand>0</bActAsLand>
<bActAsAir>0</bActAsAir>
<NIF>Art/Units/Civs/Calabim/Knight/Knight.nif</NIF>
<KFM>Art/Units/Knight/Knight blood.kfm</KFM>
<ShadowDef>
<ShadowNIF>Art/Units/01_UnitShadows/HorseShadow.nif</ShadowNIF>
<ShadowAttachNode>BIP Pelvis</ShadowAttachNode>
<fShadowScale>1</fShadowScale>
</ShadowDef>
<fBattleDistance>0.35</fBattleDistance>
<fRangedDeathTime>0.31</fRangedDeathTime>
<bActAsRanged>0</bActAsRanged>
<TrainSound>AS2D_UNIT_BUILD_UNIT</TrainSound>
<AudioRunSounds>
<AudioRunTypeLoop/>
<AudioRunTypeEnd/>
</AudioRunSounds>
</UnitArtInfo>
The .nif files are the models, and the .kfm files are the animations that go with those models. Notice that there are no mentions of the skins/textures. The models and animation files themselves contain those references. In all the cases I've seen they seem to only look for these files within their own folders. Technically each unit with unique art needs it own nif, but there is no need to make any actual changes to the file except for copying it into a new location. To make the art unique you would then edit the dds files found in the same folder.
I was thinking that I would need to use a model making program like Blender (which I have never gotten to work) in order to change what dds file a nif or kfm references, but I see now that it looks like it should be fairly simple to do this in NifScope.
I was thinking that the Wine resource's model would contain some complicated relative path to the file GrapeBunchandLeaves.dds, made necessary because it is not found in the model's own folder as is usually the case. I thought that if I copied the whole folder for the resource and I typically do then it would either still point to the same file or get completely messed up. It does not actually seem to include a path though, just the file name as usual. Perhaps the game is set to look under Shared whenever it cannot find a piece of art in the same file as the model. I could probably include an altered version of the file within the folder for the grapes of wrath resource without it changing anything else.
(This probably also means that uploads could be made a lot smaller by moving the many identical dds files to Shares instead of keeping them with their models. There are already so many different dds files with identical names being used though that giving them unique names and editing all the models that reference them would be a lot of work.)
I'm sure it is
possible to make a alternate graphics for the hell version of Wine work using the LSystem. I just expect it to be a major hassle and so do not look forward to trying it.
There seem to be at least couple dozen references to Wine or Wineries in CIV4PlotLSystem.xml. Some of them seem to do with changing the graphics based on whether the plot is being worked or whether there is an improvement over the tile.
Many bonuses and improvements in the game do not use the LSystem. I could try to see if Grapes of Wrath would work fine without it, but I cannot promise anything.
One complication is that the Winery improvement's art includes leaves and so forth that match those on the ordinary Wine resource. If I changed those on Grapes of Wrath then the improvement probably would not look right unless I changed it too. Making the same improvement appear differently depending on that of the bonus on the tile is something that requires the LSystem. I might be able to learn from how Rice farms are made to look so different from corn farms, but that is not a high priority. (Creating a alternate improvement with the same name and making python switch them out would probably be easier.)