• Our Forum Hosts will be doing maintenance sometime in the next 72 hours and you may experience an outage lasting up to 5 minutes.

Civ5: True Pikeman

yenyang

Chieftain
Joined
Jun 9, 2014
Messages
19
Is there anything you can do to help me get this into my mod?
I have added lots of units made by others but I can't seem to get this one to work. I've imported the 4 files from the download into the VRS. I've taken the art defines file for the pikeman and changed the ArtDefine_UnitInfos type, ArtDefine_UnitMemberInfos type, and the model reference. I then updated the pikeman unit to use this artdefine rather than the default, but when I create one in game I just get an invisible unit with a unit flag over it. Any ideas?
 

zwei833

HRE Mercenary
Joined
Feb 26, 2011
Messages
1,189
Location
Guangzhou
Is there anything you can do to help me get this into my mod?
I have added lots of units made by others but I can't seem to get this one to work. I've imported the 4 files from the download into the VRS. I've taken the art defines file for the pikeman and changed the ArtDefine_UnitInfos type, ArtDefine_UnitMemberInfos type, and the model reference. I then updated the pikeman unit to use this artdefine rather than the default, but when I create one in game I just get an invisible unit with a unit flag over it. Any ideas?

Please use the full path of the fxsxml file (for example: <Model>art/units/true_pikeman.fxsxml</Model>) rather than just <Model>true_pikeman.fxsxml</Model> in the <ArtDefine_UnitMemberInfos>
 

thecrazyscot

Spiffy
Joined
Dec 27, 2012
Messages
2,455
I've tried updating my graphics with this, however it creates an invisible unit which then crashes the game.

This is what I've done:

Code:
<ArtDefine_UnitMemberInfos>
	<Update>
		<Where Type="ART_DEF_UNIT_MEMBER_PIKEMAN"/>
		<Set>
			<Model>true_pikeman.fxsxml</Model>
		</Set>
	</Update>
</ArtDefine_UnitMemberInfos>

I did notice that in the true_pikeman.fxsxml file it referenced the following texture files:

Code:
<Texture file="Pikeman_SREF.dds"/>
<Texture file="Unit_Environment_Dull.dds"/>
<Texture file="Unit_Environment_Sharp.dds"/>
<Texture file="Unit_Irradiance.dds"/>
<Texture file="Pikeman_DIFF.dds"/>

As there is a true_pikeman_diff.dds and a true_pikeman_sref.dds I tried updating the fxsxml file to

Code:
<Texture file="true_pikeman_sref.dds"/>
<Texture file="Unit_Environment_Dull.dds"/>
<Texture file="Unit_Environment_Sharp.dds"/>
<Texture file="Unit_Irradiance.dds"/>
<Texture file="true_pikeman_diff.dds"/>

but that also created an invisible unit which crashed the game.

What am I doing wrong?
 

Nutty

Deity
Joined
Mar 9, 2011
Messages
3,181
Location
Orange County, California, U.S.A.
The .fxsxml would have worked as-is since the true reference to the .dds files is in the .gr2 model.

Did you set the .fxsxml, .gr2, and the two .dds to VFS=True? Did you check Reload Unit System?
 

thecrazyscot

Spiffy
Joined
Dec 27, 2012
Messages
2,455
The .fxsxml would have worked as-is since the true reference to the .dds files is in the .gr2 model.

Did you set the .fxsxml, .gr2, and the two .dds to VFS=True? Did you check Reload Unit System?

Yes, I was able to figure it out. Apparently I had to create a separate folder to stick it in and CREATE a full path for it. The issue I had was in a test mod where I just had the models and the database files in the same path. Very strange.
 

Nutty

Deity
Joined
Mar 9, 2011
Messages
3,181
Location
Orange County, California, U.S.A.
It's not specifically where you put the files. This filename apparently conflicts somehow, I guess because the last 16 characters (in this case) are the same as a file from the base game. The way Firaxis implemented the VFS is a little hokey in some respects. I'm not sure what the magic number of characters that must be different at the end of the filename is--perhaps as few as 8? Alternatively you could rename these files to pikeman_true.* (instead of true_pikeman.*) and change the dds references in the .gr2 using Nexus Buddy.

But designating the path is an easy fix.
 

PawelS

Ancient Druid
Joined
Dec 11, 2003
Messages
2,811
Location
Poland
I'm trying to use the unit in my mod, and I think I found the source of the problems. When using

Code:
<Model>true_pikeman.fxsxml</Model>

It becomes '1' in the database. So it seems the game interprets it as 'true' and converts to 1 (as SQLite doesn't have boolean values). So to solve this problem, you need to rename the .fxsxml file, or use SQL (using the full path should work too).
 
Top Bottom