Add me to the list that it anxious to see an update that includes custom (2d) art and explains XLPs, compiling options, etc. I did some modding in Civ4 and then used ModBuddy to make a couple of Civ6 vanilla mods (using Josh Atkins' template/instructions) early on, but I'm revisiting after a big break and wanted to follow an updated template that used sql like yours. I've been trying to piece together elements from Josh's, raen's, and yours, but I'm basically stuck at this point with no build errors but not seeing my mod in the game (regardless of standard or R&F rules). I did piece together a more xml-dependent mod that shows up (but crashes the game after the leader load screen is displayed), but I'd rather stick with the sql template here.
Duly noted! I am going to re-engage with my Civ VI activities in the coming days/weeks. I will definitely sink some of that time into getting a new version of this template uploaded - which I anticipate will cover 2D art, too. I am no artist, though - but I'll ensure it goes as far as I can make it go.
the_jp said:
1. When I "rebuilt" my custom images using the Asset Editor to produce the tex files, I noticed the resulting tex files referenced the original image's height/width (though the actual image sizes were correct); I assumed this was an issue and went through the process again using the 'ResizeToTarget' option to correct. Was this necessary, or will this actually create problems...or were there other options I should have selected before saving?
I have never had to use any ResizeToTarget option - I have always ensured the image (DDS) is the size I want it to be in-game, so that the TEX file produced captures the right dimensions. To clarify - the size in the TEX file matches the size of the source DDS image used to produce that TEX file. In my workflow, that is
correct and what I would want. I have not experimented with using TEX files to dynamically resize an image to save having different-sized versions of the same artwork - I just create a DDS for each size (if that is what you were aiming to do). I'm not sure I understand what the 'original image' is in the context of your query - apologies!
the_jp said:
2. I followed the instructions in this thread to remove the unique unit abilities, as I want to use my mod with both standard and R&F rules. I also attempted to add a custom building to replace the new civ's monument with a newly-named monument with modifiers, but I'm not sure I did that quite right. I think when using xml, this requires adding a Buildings.xml and then a Buildings.artdef file that includes the element code with the updated building name reference at the end, but I assume using a Civilization_UB.sql file can accomplish the same thing. If so, would the template closely resemble the Civilization_UU.sql file? (If someone wants to share an example, great.)
Did the instructions work to get the template working with vanilla? If so, great. If not, please let me know - and share your code - and I can advise further.
Regarding a custom building - the principle is the same as for any kind of Unique Infrastructure. Of course, the data tables and attributes you'll use will vary depending on what the 'thing' is (Building vs. Improvement, for example). One thing to note, file names are
not important. It's what is inside them that counts. This is true for both SQL and XML. I will share with you - this evening - an example file that contains a custom (replacement) building I have from another of my works. I will be writing in to the template an example building - though this template intends to teach the principles rather than provide every conceivable example. In lieu of me sharing a file, the steps I take are:
1. Find a base-game 'thing' that is the same structurally (in your case, you're looking for a civilization-specific unique building that replaces a common building - plenty of those).
2. Find it in the base-game Buildings.xml and note the element name (e.g. BUILDING_FILM_STUDIO). Work backwards to find the first place it is defined in the base-game code (from memory, probably an entry in a Types table, or similar).
3. If you then do searches (across all game-files) on every element that is referenced in each bit of code you find, you eventually reach the end - and what you have extracted is all of the code related to that 'thing'.
4. To recreate that thing, you'd put all of that code into a file in your mod. Of course, you may need to adjust to ensure correct syntax - or re-write into SQL if that's what you're going to use.
It's the process I went through and is essentially how I built my template - originally, I wrote the notes for myself as I didn't want to have to go through that every time! As mentioned, I will definitely share but it's just in case you - or others - want to beat me to it for your own needs.
the_jp said:
3. Is there a good breakdown somewhere of frontend and in-game mod property options?
I think LeeS' Modding Guide probably has this all defined - if anywhere does, it'll be there.
https://forums.civfanatics.com/threads/lees-civilization-6-modding-guide.644687/
Even if it isn't in there, that document is worth reading if you're interested in modding. I see
@LeeS as the authority on this stuff.
the_jp said:
And am I missing something about how to select multiples file for the import option? (I did that manually for the frontend side and then did a copy/paste for the in-game portion to save myself some time.)
You're not missing anything. It's a painful, one-file-at-a-time process within ModBuddy. I hate it.
the_jp said:
One suggestion: maybe list out each exact find/replace-all text string with definitions. I don't know about other modders, but I find myself second-guessing these at times, so if there was a list somewhere, that would be ideal...
You know, I considered this. But, actually, from my experience with other templates - find-and-replace causes more problems than it solves. It also doesn't
teach - so my advice for someone using my template to build their own civilization is very much
not to find-and-replace, but rather to step-through-and-learn.
I do, however, take the point that defining the various element strings makes sense. However, I feel like the template does that through the notes - it just doesn't put them all in one place - mainly to discourage find-replace modding. I note your feedback, but at this time I
think I will respectfully disagree and maintain the definitions as they are - part of the 'help notes'.
As per my description in the resource posting - which perhaps I should include in the project - the definitions come with more hefty notes in the 'first files' you work through; the idea being that as you step through the other files you become naturally familiar with what everything is.
the_jp said:
I'm not sure why civs and leaders have the author's initials but units, abilities, etc. do not, and I would also think the texture files (dds/tex) would follow the same naming conventions, but maybe there are good reasons for this. I've been out of the modding game a good while, so I'm speaking out of ignorance.
Inconsistency with including my initials versus not is entirely on me. I think I followed the 'general conventions', but perhaps not very well. Indeed, I don't even work like that any more - I know append my initials into
every newly-defined thing - so I will definitely revisit this. This way, I can support a simple 'search for _MC to find every thing this template adds to the base-game' instruction.
Finally, from your follow-up post:
the_jp said:
I believe the OlmecAtlas.xlp needs the forward slash added between the 'UI and Texture':
<m_ClassName text="UI/Texture"/>
Correct. An oversight in my initial template - the new version will correct this. I don't even know how I managed to publish with it, to be honest. Schoolboy error.