Pazyryk
Deity
- Joined
- Jun 13, 2008
- Messages
- 3,584
Update: jump to post #9. It really works!
I can't do art worth a darn, but I've been mucking around with database stuff and ... I can't see what is stopping modders from adding new improvements (or possibly other art types for that matter).
OK, the first thing I tried was to replace civ5artdefines_landmarks.xml and civ5artdefines_landmarktypes.xml. Added a few new LandmarkArtInfo's. VFS=True, check! Start game. check! Start SQLite manager. check! Oh Crap! No sign of my additions in ArtDefine_Landmarks.
It's kind of weird that all the FPK xml stuff doesn't really match the Civ5DebugDatabase.db (where it all ends up). In civ5artdefines_landmarktypes.xml you have:
but then in Civ5DebugDatabase.db/ArtDefine_Landmarks you have Era,State,Scale,ImprovementType,LayoutHandler,ResourceType,Model,TerrainContour. It's clearly one-for-one but the names have changed.
So, the engine won't let me replace civ5artdefines_landmarktypes.xml. But really, that's not what I want to do anyway. A few simple SQL lines should do what I want:
Yes, I've jammed a couple wonder .fxsxml into the database as "improvements" (I also added a couple new improvements that call these ART_DEF's, the 1st buildable by an Engineer and the 2nd by a Scientist).
Startup game again.
Start SQLite manager. Rows are added! Check!
Plop in an Engineer, start building the "Hanging Gardens". It's there! It worked!!!
Plop in a Scientist, start building the "The G. Library". It's there! It worked!!!
Well, it's not perfect. It's showing me the "incomplete" versions of each of these. But that's something.
So I've bypassed the need to overwrite civ5artdefines_landmarktypes.xml. In the above example, I called the existing Great_Library.fxsxml and Hanging_Gardens.fxsxml, which then call the base game art assets. However, you should be able to supply your own .fxsxml files and downstream art. At least I think so. I haven't done any of this art stuff yet so either 1) I'm missing something basic that someone will shortly point out (making me feel kind of stupid...but it's 4am so what the hell) or 2) I've stumbled onto something useful that others have missed (which seems strange, given that changing a few lines in the db seems more obvious than replacing whole .xml files).
So what's stopping any good artist out there from adding windmills or whatever other improvement art they want? (And is there any reason to replace civ5artdefines_units.xml and so on? Is that really what modders are doing for new unit art?)
I can't do art worth a darn, but I've been mucking around with database stuff and ... I can't see what is stopping modders from adding new improvements (or possibly other art types for that matter).
OK, the first thing I tried was to replace civ5artdefines_landmarks.xml and civ5artdefines_landmarktypes.xml. Added a few new LandmarkArtInfo's. VFS=True, check! Start game. check! Start SQLite manager. check! Oh Crap! No sign of my additions in ArtDefine_Landmarks.
It's kind of weird that all the FPK xml stuff doesn't really match the Civ5DebugDatabase.db (where it all ends up). In civ5artdefines_landmarktypes.xml you have:
Code:
<LandmarkArtInfo>
<Era>Ancient</Era>
<State>Constructed</State>
<fScale>1.0</fScale>
<ImprovementType>ART_DEF_IMPROVEMENT_ACADEMY</ImprovementType>
<LayoutHandler>SNAPSHOT</LayoutHandler>
<ResourceType>ART_DEF_RESOURCE_ALL</ResourceType>
<FXSXML>Assets/Buildings/Improvements/Academy/ANC_Academy.fxsxml</FXSXML>
<bTerrainContour>True</bTerrainContour>
</LandmarkArtInfo>
So, the engine won't let me replace civ5artdefines_landmarktypes.xml. But really, that's not what I want to do anyway. A few simple SQL lines should do what I want:
Code:
INSERT INTO ArtDefine_Landmarks (Era,State,Scale,ImprovementType,LayoutHandler,ResourceType,Model,TerrainContour)
SELECT 'Any','Any',0.07,'ART_DEF_IMPROVEMENT_HANGING_GARDENS','SNAPSHOT','ART_DEF_RESOURCE_ALL','Assets/Buildings/Wonders/Hanging Gardens/Hanging_Gardens.fxsxml',1 UNION ALL
SELECT 'Any','Any',0.07,'ART_DEF_IMPROVEMENT_GREAT_LIBRARY','SNAPSHOT','ART_DEF_RESOURCE_ALL','Assets/Buildings/Wonders/Great_Library/Great_Library.fxsxml',1 ;
INSERT INTO ArtDefine_LandmarkTypes (Type, LandmarkType, FriendlyName)
SELECT 'ART_DEF_IMPROVEMENT_HANGING_GARDENS', 'Improvement', 'Hanging Gardens' UNION ALL
SELECT 'ART_DEF_IMPROVEMENT_GREAT_LIBRARY', 'Improvement', 'Great Library' ;
Yes, I've jammed a couple wonder .fxsxml into the database as "improvements" (I also added a couple new improvements that call these ART_DEF's, the 1st buildable by an Engineer and the 2nd by a Scientist).
Startup game again.
Start SQLite manager. Rows are added! Check!
Plop in an Engineer, start building the "Hanging Gardens". It's there! It worked!!!
Plop in a Scientist, start building the "The G. Library". It's there! It worked!!!
Well, it's not perfect. It's showing me the "incomplete" versions of each of these. But that's something.
So I've bypassed the need to overwrite civ5artdefines_landmarktypes.xml. In the above example, I called the existing Great_Library.fxsxml and Hanging_Gardens.fxsxml, which then call the base game art assets. However, you should be able to supply your own .fxsxml files and downstream art. At least I think so. I haven't done any of this art stuff yet so either 1) I'm missing something basic that someone will shortly point out (making me feel kind of stupid...but it's 4am so what the hell) or 2) I've stumbled onto something useful that others have missed (which seems strange, given that changing a few lines in the db seems more obvious than replacing whole .xml files).
So what's stopping any good artist out there from adding windmills or whatever other improvement art they want? (And is there any reason to replace civ5artdefines_units.xml and so on? Is that really what modders are doing for new unit art?)