Extended Countrymaking Guide
Table of Contents said:1. Le Introduction
*Start
*Basic rules
*Software
2. Preparing to launch...
*Notepad ++
*Darkest Hour's folder structure
*Making a Country - Introduction
3. Making a Country - Basic
*Config/world_names.csv
*Db/country.csv
*Db/revolt.txt
*Db/leaders/COUNTRY_NAME.csv
*Db/ministers/ministers_TAG.csv
*Db/tech/teams/teams_TAG.csv
*Gfx/map/shields/shield_U99.bmp
*Gfx/map/flags/flag_U99.bmp
*Gfx/palette/counter_U99.bmp
*Gfx/interface/pics/picname.bmp
*Scenarios/1914.eug
*Scenarios/1914/COUNTY_NAME.inc
*Scenarios/1914/Bases.inc
4. Conclusion
*A few words to wrap it up!
*Reference Material
1. Le Introduction
Bonjour! I am le Ober and today I'm here to show and explain how to make your very own country in Darkest Hour - either existing from the start or showing up during game. It is not really hard thing to achieve - just a matter of practice and patience. And obviously patience is much more important
For a purpose of tutorial, I will use Darkest Hour Full module. During that tutorial we will create purely fictional Qara-Tangra Khanate. First we'll place it in 1914 Scenario since beginning. Next time we'll try to make it revolt against Russian Empire shortly after campaign's start. I don't want it to be too long tutorial - for now we'll just learn about country basics.
*Basic Rules
*Try to not just copy code from tutorial, but also to write something by yourself! Copying patterns isn't bad, but for the first time it's better to learn what is what.
*Read carefully! Some things might seem to be unclear at first, second and third time. Beginning might be kinda troublesome, I know it by myself. But raging around won't help you, so putting it straight, you need to FOCUS!
*Mod carefully! Always make back-ups not only of files already existing and edited, by also created by you. And what can save lots of your time - don't rush things. It happens often to me when I'm going crazy - I forget one bracket or letter and things are messing up and I'm spending much more time fixing little errors. Raging included. "You gotta check yourself, before you wreck yourself!".
*Never surrender! I mean...really, at start you'll surely fail at some points, but there's nothing bad in it. Everyone begins from somewhere and yeah, you need to be aware of that.
*Modding is not a duty, but fun! So when you are editing things - chillax bro! Get yourself some tea, or snacks, or whatever you like, listen to some music and enjoy your time. It's not your duty, it's FUN!
*Software:
As we know, Darkest Hour (and all Paradox Games) consists on lots and lots and lots of various text files. If you want to edit them with basic Windows' Notepad - well, I don't know either you are wrong or crazy. Basic Notepad won't do, but there are lots of nice and free (mostly free) text editors, way better to edit Darkest Hour. For now I will show you only one, probably used by vast majority of modders - Notepad ++. It's really easy to use and also extremely helpful to find and fix errors, like missing brackets. Simply accept fact that Notepad++ is the best and download it now! Some of Darkest Hour's files (.csv) might be also opened by Microsoft Excel, but I wouldn't recommend that - back in HoI2 it was messing files after all IIRC. You can easily edit them with Notepad++ as well.
But we also might want to edit some graphics. Well, I'm not Graphic Man and I'm pretty bad at it
Notepad++ - Download Link
IrfanView - Download Link
GIMP - Download Link
By the way if there are some other useful programs around, just send me link via PM - I'll add them to list. For now you need only Notepad++ to start our epic journey into World of Modding!
2. Preparing to launch...
So, after brief Le introduction I hope you know what modding is about and you are ready to go. Make yourself cup of tea and turn on some good music. And well...we are not starting yet. Our workshop needs to be prepared! Notepad++ can be customized in various ways. Picture below will explain everything.
*Notepad++
Here I want to show to two useful (yet not necessary) options - language and style configuration. So, you can set N++ to use one of programming languages in text files. Just click Language and pick one of these. And how can it help you with editing? Well, every language uses various colours for various words and symbols. For example if you'll pick C++ language, every bracket will be orange, and everything in quotation marks will be green. And speaking of brackets in C++ - if you'll click on bracket it'll turn yellow when it's closed and turn red it it's missing one at the end. Useful, isn't it? A few days ago I've seen Darkest Hour language made for Notepad++, yet it's kinda outdated I guess. Sad face
Style configuration might be even more important. Just go to Settings -> Style Configuration and here you can define colours for background and font, choose one of pre-made styles and much more. Well, there's not much to explain - just to show you guys how to make your modding life easier. Personally I am using Black board style and C++ language. It looks like so:

It looks way nicer, at least in my opinion. It is matter of preferences - it you are fine with generic style, you can keep it. It's perfectly fine.
*Darkest Hour's folder structure
Okay, your Notepad is ready. We are ready to do some modding! First of all, we have to know which files are corresponding to what and where we can find'em. That paragraph might be silly, but I'm always trying to explain everything I can. Some people might not be familiar with DH's folders after all. It's good to know where you are, and where you can things important for you. Right now I want you to go to your Darkest Hour directory, for me it would be D:\Games\DH. We will be working on Darkest Hour Full module, but here we'll find out how folders works. Okay then, there we go:
Code:
[B]*AI[/B] - all files referring to AI with .ai extension. That's quite self-explanatory - these files are defining how countries controlled by AI are acting, which countries are their targets, what are they building, etc. If we want our country to do specified things, here we can do it - but not today.
[B]*AVI[/B] - Intro, yay! Long time ago I somehow made one, it's a little bit of work, but it's not our concern today.
[B]*Config[/B] - here you can find all .csv files (but don't use Excel!) with names of everything. Like, really everything. In-game text, quotes during loading screens, names of countries, everything connected to WORDS!
[B]*DB[/B] - Database, all modifiers, characters, technologies, events stored in .txt and .csv files. Simply it's game core. It will be our playground today.
[B]*Gfx[/B] - All the Graphic .bmp files. Here we'll likely put our flag, shield and counter, but also additional unit icons or skins.
[B]*Map[/B] - Everything connected to map. Go ask Mumia if you are curious about these files!
[B]*Modding Documentation[/B] - lots of useful informations. Be sure to be often here! Really, lots of good reference materials about all kinds of commands, modifiers, etc. from game devs.
[B]*Mods[/B] - all Mods can be found (and should be put) here. Here we can find Darkest Hour Full, or Kaiserreich if we've downloaded it. As we'll be creating our country in DH Full we'll go there after that paragraph.
[B]*Music[/B] - music. Nowadays it's quite fine, but back in Europa Universalis 2 except music you could also find Falalalalan here.
[B]*Scenarios[/B] - every scenario files with .eug (main file) and .inc (additional files) extension. Also graphics like scenario panels or propaganda pictures.
[B]*Sfx[/B] - all sounds played in game, like guns during battles.
[B]*Tutorial[/B] - files which makes tutorials works. But we are so good at this game that we don't need'em.
*Note - Please remember that sometimes you won't find some folders, or even specific files in modules (mods) like Darkest Hour Full. For example, DH Full doesn't have its own randomleaders.csv file, which contains all generic leaders (these without picture, skill etc.). If so, it means that mod uses core DH's file, located in main folder (Darkest Hour/db).
*Making a Country - Introduction
Well, now we are almost ready to go. We know where we can find specified type of files, that's good. But which files will we be editing? Again, a short list with explanation. After that we'll go through all files and we'll edit'em like a boss. Yet another list.
Important Notes:
*Think about country that you want to make. It needs a name and specific TAG. What is TAG? It's explained below, along with little scheme of naming files.
*COUNTRY_NAME -> name of you country. For me, it will be f.e leaders_QaraTangra.csv
*TAG - > tag used by country. Every country has tag. QaraTangra will replace Togo and so it will have U99 tag.
*Tags can be found in Config/world_names.csv. Simply all countries are listed here so you can replace one of these by yours. For sake of your own good, use unused tags! Don't replace f.e Reichkomissariats, because these might be liberated eventually. The best choice is to pick TAGs from the end - only a few of them are actually used in game. U99 seems like a good start.
*If you are doing country for someone's mod, ask him about tag. And if you are doing mod by yourself...well, it's up to you![]()
*Basic Files (necessary for make things working):
*Config/world_names.csv - country's name
*Db/country.csv - country's colour in a map, generic leader's group and type of sprite
*Db/revolt.txt - to make our country able to appear in game during campaign, within specified time limit and in specified provinces.
*Db/leaders/COUNTRY_NAME.csv - land, naval and air commanders (leaders_QaraTangra.csv)
*Db/ministers/ministers_TAG.csv - ministers (ministers_U99.csv)
*Db/tech/teams/teams_TAG.csv - tech teams (teams_U99.csv)
*Gfx/map/shields/shield_U99.bmp - shield of our country
*Gfx/map/flags/flag_U99.bmp - flag of our country
*Gfx/palette/counter_U99.bmp - counter of our country
*Gfx/interface/pics/picname_bmp - all pictures for you leaders, ministers and techteams
*Scenarios/1914.eug - making our country available to play for us and also "linking" our country .inc file
*Scenarios/1914/QaraTangra.inc - Our .inc file a.k.a Country Definition File
*Scenarios/1914/Bases.inc - Buildings and installations
*Additional Files (we will probably deal with'em next time)
*Config/scenario_text.csv - description for our country in scenario menu
*Config/models.csv - names for our tanks, planes, ships models like T-34, Messerschmit Bf-109, Akagi-Class, etc.
*Db/armynames.csv - names for our land corps like I. Armeekorps, II. Armeekorps, etc.
*Db/airnames.csv - names for our air corps
*Db/navynames.csv - names for our fleets
*Db/unitnames.csv - names for our units: divisions, ships, etc.
*Db/randoleaders.csv - generic leader's groups
*Gfx/events_pics - pictures for our events
*Gfx/interface/models - unit icons and pictures
*Gfx/Skins/TAG - skin
If there are any more files about which I forgot, my PM-box is your place to be.
Uff...it seems to be really, really much things. But believe me, some of these requires minor changes. But nonetheles...shall we begin our modding at earnest?
3. Making a Country - Basic
*Config/world_names.csv
So, here we go. My goal is to change U99 - Togo, to U99 - Qara-Tangra Khanate. But...where is U99? You should know that trick from Notepad: Ctrl+F -> Search Menu. Just type U99 and, there it is, almost at the end!
Code:
U99;Togo;Togo;Togo;Togo;Togo;Togo;;Ňîăî;;;X
Q: Why so Togo? Like Togo Togo Togo Togo, couldn't there be just one Togo?
A: No, it's for specific language versions. I believe it goes like English;French;Italian;Spanish;German;Polish;?;Russian?. If you are playing with English language only, you can change only first Togo like so:
Code:
U99;Qara-Tangra Khanate;Togo;Togo;Togo;Togo;Togo;;Ňîăî;;;X
And there we go, our country has its brand new own name! Yaaaay!
*Db/country.csv
Fine, we can leave Config for now and move onto Db. Serious work needs to be done here. At first country.csv. And again, Ctrl-F -> U99...
Code:
U99;Yellow;ENG;ENG;X
Yellow? No! English! Noooo! English sprites?...I don't mind, I'm using counters...
Speaking of colour, you can just turn on game, find country with colour which suits you and then just copy its name to its TAG in that file to your TAG. Sometimes colour names are...strange.
So, China's orange colour is named...LightBrown. Well, that's okay. Also I want to have Turkish generic leaders, just for flavour. Go to randomleaders.csv (main DH folder) to see which randomnames can you use. Copy its tag to third column.
Code:
U99;LightBrown;TUR;ENG;X
Now our country will have it's very own colour. Fancy! What about next file?
*Db/revolt.txt
Khanate will never fall, nonetheless we want to liberate it in next part of tutorial via event. If you feel the same, adding your country to revolt.txt seems like good idea. Countries which are not included here cannot be liberated - keep that in mind. When you open revolt.txt, you can see nice little guide on all commands available to use. These might be useful for all breakaway states, for now however I won't be going deep into it. All tags are added to file I guess - just find TAG of your country and edit it.
Code:
U99 = { # Togo
date = { day = 1 month = january year = 1914 }
expirydate = { day = 30 month = december year = 1999 }
minimum = { 950 948 }
extra = { }
capital = 950
}
TAG = { - country's tag
date = {...} - since that day in game country can be liberated
expirydate = {...} - after that day in game country canno be liberated
minimum = {...} - provinces needed to liberate country
extra = {...} - optional provinces, don't needed to liberate country. But if liberator has these provinces and they're not his cores or claims, liberated country will probably get them.
capital = x - province which should be country's capital
Now I'm just going to get IDs of Khanate's provinces and edit U99's entry. And new entry looks like so:*Note: Everything after # (comment) is not read by game. You can use it to have additional info for yourself or other modders. Here it tells us that U99 is Togo - good to know. You don't have to make comments, but it's not necessary. I prefer to have much of them, sometimes too much...
*Pro Tip - the best way to get ID of all provinces: launch Darkest Hour and any scenario, then when game started, open console (F12) and type showid. Now, when you are pointing cursor at any province its ID will be shown in down right corner. It saves MUCH TIME and I WOULD HIGHLY ADVISE you guys to use it, if you never heard about it.
Code:
U99 = { # Qara-Tangra Khanate
date = { day = 1 month = january year = 1914 }
expirydate = { day = 30 month = december year = 1999 }
minimum = { 1097 1098 1099 1100 1101 1102 1103 1104 1105 }
extra = { 1106 1107 1112 1118 }
capital = 1099 # Samarkand
}
Basic revolt.txt entry is done. You can experiment with additional commands on your own, or maybe we can talk about that next time. And now to our Army Headquarter!
*Db/leaders/QaraTangra.csv
We start with creation of our very own file. To begin with...open any of leader's file from that folder and copy only first line. Or you can copy it from code:
Code:
Name;ID;Country;Rank 3 Year;Rank 2 Year;Rank 1 Year;Rank 0 Year;Ideal Rank;Max Skill;Traits;Skill;Experience;Loyalty;Type;Picture;Start Year;End Year;Retirement Year;x
It is header of every leaderfile. Paste it to your new file and save it as YOUR_COUNTRY_NAME.csv. Remmember about .csv! And now, now we can proceed to creation of a commander. It is really, really time-consuming - lots of columns! I already have my leader prepared. We will explain every column, one after another. Okay, move on!
Code:
Mirsaid Khan;999000;U99;1900;1900;1900;1922;0;9;5;3;0;5;0;M999000;1900;1926;1999;x
Mirsaid Khan - leader's name
999000 - leader's ID. It's good to have leaders, ministers and tech-teams starting from the same ID. Also be sure that it's high enough to not collide with already existing ministers/leaders/TTs, but also not too high, as DH's not good with really high numbers. So your people cannot have IDs like 93053201653106246246267, but 10000 would be bad too. 999000 should work for me fine.
U99 - your country's tag. Every leader entry needs tag.
Rank 3-0 Year - years when commander reaches another ranks...erm, look. Khan's Rank 1 Year is 1900 , but Rank 0 Year is set to 1922. It means that in 1914 Scenario he will be General, but in 1933 Scenario he will be Marshall. If you would set four dates to 1900 (or any other date before 1914) Khan will be Marshall. It works kinda strange, but...well, what can I do?
Ideal Rank (0) - Rank at which commander gets more expierence than on other ranks, I think. It makes sense. Khan is set to 0, so his experience will be growing faster when he'd be Marshall.
Max Skill (9) - self-explanatory. 9 is maximum I guess.
Traits (5) - traits are sorta tricky. To give your leader certain traits you need to go to your Modding Documentation folder and open Leader Traits.txt files. Every trait has its bitvalue. If you want leader to have more than one trait, you have to add bitvalues. As you can see, Khan has 5. It means Logistics Wizard (1) + Offensive Doctrine (4) = 5.
Skill (3) - simply, skill
Experience (0) - yeah, simply experience. But I have never seen leader with any bonus experience at start, so well...but you can try if you want.
Loyalty (5) - I guess it is remnant from HoI1. Loyalty is ability of leader/minister...to be killed. That's what I've heard. Do you know that in HoI1 Chiang-Kai Shek has loyalty "undead" (or something along that lines) as minister? Undead or undying. Dunno, but it was fun
Type (0) - leader's type. 0 is land commander, 1 is naval commander, 2 is air commander.
Picture (M999000) - name of leader's picture. We'll get to pictures later, just remmember that you have to put picture's name here.
Start Year (1900) - year from which commander is available
End Year (1926) - year after which commander is unavailable
Retirement Year (1999) - new value added by DH's developers. Every leader has it set to 1999, so you should do the same. Maybe it's not ready yet.
X - X ends everything. It has to be here.
So now that you've spent hours and hours adding countless commanders for your great empire you are probably extremely tired. Yeah, I never liked leaders in fact...I mean, way of creating them. But whatchagonnado mate? I'll add some leaders on my own in meantime, just a few.
NOTE: After last leader added to file hit ENTER once to make last line empty. Why? Because if you don't game likely won't read last entries and most likely last leader won't be in the game. Same applies to techteams and ministers. After you are done with last entry, just hit ENTER once and you are done.
NOTE2: It doesn't seem to be necessary for ministers and techteams, yet for leaders you probably have to do one more thing. And that is - go to your Db/leaders.txt file. Here you have list of all leader-files loaded by game. Just add your file at the end!
Code:
xibeisanma.csv
yemen.csv
yugoslavia.csv
yunnan.csv
uch.csv
QaraTangra.csv # I am new file here, hey! Also remmember about ENTER after me!
*Db/ministers/ministers_U99.csv
If you are adding your own country to Darkest Hour Full, you might be surprised. Every TAG has its own ministerfile already, even Togo! So in case you are editing Darkest Hour Full, no need to copy anything. Otherwise you are doing exactly the same thing as with leaders - except you have to change TAG in copied line to your. Luckily these time we have our file ready, shall we look at it's content? Very well then:
Code:
[B]U99[/B];Ruling Cabinet - Start;Name;Start Year;End Year;Retirement Year;Ideology;Personality;Loyalty;Picturename;X
;Replacements;;;;;;;;;X
1310001;Head of State;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310002;Head of Government;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310003;Foreign Minister;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310004;Minister of Armament;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310005;Minister of Security;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310006;Head of Military Intelligence;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310007;Chief of Staff;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310008;Chief of Army;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310009;Chief of Navy;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
1310010;Chief of Air Force;Blue Shadow;1933;1964;1999;ML;Undistinguished Suit;Very High;unknownminister;X
(...)
Except of Blue Shadows we can find another set of Black and Red Shadows. Three sets then, but for now we need only one. Editing ministers is way much easier than leaders. Remember about correct tag at the beginning of first line and...well, you are ready to go! I won't leave you without any reference material however - here, take a look how my Head of State looks:
Code:
1310001;Head of State;Khan Mirsaid II Qara-Tengra;1913;1926;1999;PA;Resigned Generalissimo;Very High;M999000;X
1310001 - Minister's ID.
Head of State - Minister's position.
Khan Mirsaid II Qara-Tengra - Minister's name.
1913 - Year since which minister is available.
1926 - Year from which minister in no longer available.
1999 - Retirement Year (same case as with leaders).
PA- Minister's ideology. I'll make little list at the end of that section.
Resigned Generalissimo - Minister's trait. You can find all available traits in Mods/DH Full (or any other mod you are editing)/Db/ministers/minister_personalities.txt.
Very High - Loyalty, same as with leaders.
M999000 - picture's link
X - X ends everything. It has to be here.
Usually game makes governments from first ten ministers available in minister file, but you can also decide who is in government in Country Definition File. We'll learn about it later.
And now ideologies:
Code:
[B]ST[/B] - Stalinist, [B]LE[/B] - Leninist, LWR - Left-Wing Radical
SC - Social Conservative, SL - Social Liberal, ML - Market Liberal, SD - Social Democrat
PA - Paternal Autocracy, FA - Fascist, NS - National Socialist
And ending is similar to leaders - ENTER after last minister added. Hit it hard!
That what she saidWHAT?
*Db/tech/teams/teams_U99.csv
And now for tech teams, who doesn't like them? Lots of people are complaining about TTs and HoI2/DH technology system. Dunno, but I love both TT and technologies. TTs are so fun <3 Again, creators were kind enough and created teams_U99.csv file for us! Again some typical content:
Code:
[B]U99[/B];Name;Pic Name;Skill;Start Year;End Year;Speciality1;Speciality2;Speciality3;Speciality4;Speciality5;Speciality6;Speciality7;Speciality8;Speciality9;Speciality10;Speciality11;Speciality12;Speciality13;Speciality14;Speciality15;Speciality16;Speciality17;Speciality18;Speciality19;Speciality20;Speciality21;Speciality22;Speciality23;Speciality24;Speciality25;Speciality26;Speciality27;Speciality28;Speciality29;Speciality30;Speciality31;Speciality32;x
1310001;Togolese Armed Forces;T99900;2;1900;1970;small_unit_tactics;centralized_execution;infantry_focus;piloting;seamanship;;;;;;;;;;;;;;;;;;;;;;;;;;;;x
1310002;Ministry of Agriculture, Animal Husbandry and Fishing;T99901;1;1900;1970;mechanics;chemistry;management;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;x
Yet another time start is similar - copy first line and change TAG for new file; for already existing like that one go straight to editing. Togo, also known as [W.I.P] Qara-Tangra has...wow...damn, look at that power! Togolese Armed Forces with skill 2 and Ministry of Husbands with skill 1? Dawg, that's not the way to awesomeness! Serious editing needs to be done, those techteams are not cool! But wait a minute...I shall transform these...Togolese Armed Forces...into something....WAAAAAAAAAAAAAAAAAAAAAH:
Code:
1310001;United Turkic Military Council;T1310001;8;1900;1970;combined_arms_focus;small_unit_tactics;decentralized_execution;MANEUVER_TACTICS;training;;;;;;;;;;;;;;;;;;;;;;;;;;;;x
Technological awesomeness has been achieved! And now let me introduce you to the code:
1310001- TT's ID
United Turkic Military Council - TT's name
T1310001 - picture's link
8 - TT's skill, max is 9 I guess.
1900- TT's startyear
1970- TT's endyear
And from here until the end you just put TT's specialities all the way to the end...I mean, you won't be making any TT with 32 specialities, don't be crazy! Back in HoI2 there was probably impossible to add more than five. In DH's Kaiserreich Russia has some guys with six specialities, so maybe there are no limit by now. When giving more than six however you are doing at your own responsibility!
Meh, one crash and that's all what can happen I guess.
Now you might ask where you can find all these specialities? Well, you should go to Config/tech_names.csv. File begins with their list. How to add these values to files? Well, look:
Code:
RT_NUCLEAR_PHYSICS;Nuclear Physics;Physique nucléaire;Fisica nucleare;Física nuclear;Nuklearphysik;Fizyka jądrowa;;ßäĺđíŕ˙ ôčçčęŕ;;;X
To make techteam know how to make a-bombs you have to write NUCLEAR_PHYSICS (or nuclear_physics). No spaces! _ (underline?) works as a space. So combined_arms_bonus, small_unit_tactics, etc. etc.
After you are done with your techteams, hit your ENTER with PASSION! Damn yeah, that was good!
*Gfx Folder - basic info about graphics
As I told you when we were starting our journey to Modding Land, I am not a man of graphics. Yet for a basic country you need to get a shield, flag and counter. And how are you going to do that? Well, I guess that every (or most of) Darkest Hour's countries have their own set (in core DH's gfx folder I found all three things for Togo), so it's not like you won't be able to test your country in game. New countries needs new stuff however - Khanate with Togolese flag, mehehe...if you are not versed in graphic arts or if you don't have friends versed in them (I luckily have two Graphic Men available to do things for me everyday
Here you can request a flag. Just send a picture of it or describe how it should look - sometimes Graphic People can do wonders with just ideas
Where should all shields and flags go? Well:
*Gfx/map/shields -> Shield (name as hield_TAG)
*Gfx/map/flags -> Flags (name as flag_TAG
I cannot find any good tutorial on how to make flags now and to be honest I'm tired enough by writing huge amount of English words to look for them now. Check old HoI2 forums, you can always find something there. Of if anyone has any links - my PMbox is ready (I mean, it's empty right now).
There is also one more thing concerning Gfx folder - pictures. For all three groups - leaders, ministers and techteams. Prepare your Paint and IrfanView...I mean, it's not hard, I have been doing pictures several times, so yeah. For a purpose of tutorial I made only that one picture of Great Khan. Other ones are copied from other files - we have no time to toying with some bitmaps. Although I know one person, really crazy about pictures. Can anyone guess who I am thinking about?
For now, especially for you a quick guide on how to make really inferior pictures:
1. Find a good picture! When you are making historical character it's not really hard - just type his/her name in Google Images and pick first image that you consider suitable. For my fictional Khan I will use that Mongol. Awesome enough!
2. Open your image with IrfanView and simply select area that interests you (well, face), create new file and paste it there. Our goal is 36x50, so you know. Rectangular shape!
3. Resize (Ctrl+R) your cut part to 36x50. It takes a few tries to cut it right from orginal picture and then nicely resize. If picture is in colour and you want B&W, just press Ctrl+G - Grayscale. It kinda works. Save (S) your resized picture as .bmp, with name specified in minister/leader file. This way Mirsaid Khan's picture will be named M999000.bmp
4. Now that you have 36x50 picture there is one more thing to make it look like average Darkest Hour's picture - white stroke. Every HoI2/DH picture has 1px white stroke outside of picture. Just open your image with Paint and do it! You know how to make four straight lines around a rectangle, right? Then save, as 24-bytes .bmp file! It is really important - 24-bytes ugh!!! Otherwise it won't work.
5. Is your picture done? Place it in your Gfx/interface/pics folder and you are done!
For TT's pictures everything is the same except that its size is 96x96. So 36x50 for ministers and leaders, but 96x96 for techteams. Remember that!
And with Gfx folder we are off to last one folder before we'll be ready to see our country in game. Scenarios!
*Scenarios/1914.eug
We know that Qara-Tangra is Turkic breakaway state which opposes Russian Tzar, so we are editing 1914 scenario (USSR wasn't Tsardom - FACT) . If we will meet next time will make we'll take another way - Qara-Tangra's rebellion will be launched by event, which fires under certain conditions. If someone wants to ask about how to make scenario - there is tutorial about it somewhere, I'm sure. But now off to making our country playable since start! In 1914.eug, which is 1914 Scenario's main file we have to add only two things:
*in selectable = { } section add tag of our country, so we can choose it and start game with it. Just put your TAG at the end of list. By now you can pick your country in scenario same as you pick minors - RBM on one of presented countries, then simply scroll down and pick your country. Easy.
Code:
selectable = { AFG ALB ARG AST U09 BEL BHU BOL BRA BUL CAN UCH CHL CGX COL COS CUB CXB CYN DEN DOM ECU ENG ETH FRA U08 GRE GUA HAI HOL HON ITA
JAP LIB LUX MEX MON MTN NEP NIC NOR NZL OMN OTT PAN PAR PER POR PRU ROM RUS SWE SAF SAL SAU SCH SIA SIK SPA TIB URU USA VEN YEM
SER U02 U03 U05 U50 U51 U52 U53 U57 U58 U59 U91 LBY U60 [B]U99[/B]
}
}
Also we need to add "link" for Country Definition File for our TAG. Simply scroll down to the end of file and you will see lots and lots of include = "...". Add yours, it would be the best to add it at the end:
Code:
include = "scenarios\1914\china xibei.inc"
include = "scenarios\1914\china sinkiang.inc"
include = "scenarios\1914\bases.inc"
include = "scenarios\1914\depots.inc"
include ="scenarios\1914\QaraTengra.inc" # I am new here, hello! ^^
Written as so it tells game, that in scenarios folder, then in 1914 folder there is file called QaraTengra.inc, that game needs to load when starting that scenario. Here all informations about that country are stored and basically that is how things are so why am I even bothering to explain it?...uff, that was tough. Pardon-moi. Just remmember to always link everything properly, never mess up files, maintain order in them and just don't go crazy. That's it. Having covered both selectable and include, now our very own Country Definition File!
*Scenarios/1914/QaraTangra.inc
You can name it however you want as long as link is right. It might be even RoastyChicken.inc, but just to make things clear name these after countries. But speaking of .inc files, how does they look? Well, you can copy any of .inc files and just change values. That's okay. But a few months ago, tired of doing it everytime I prepared myself a little .inc file template. It includes all primary informations, but also placeholders for secondary ones. All you have to do is...fill it.
Notes:
*If you are tempting to create more countries and more .inc files - save that template from below somewhere and use it as base. It's way much comfortable than copying and changing data everytime.
*I am using lots of comments (#) to make my files nice and clean. However it's up to you how you wanna your files to look like. Have another idea for a pattern? Go on, because why not?
*Really, all you have to do is change brackets to values. There's not much to explain. So at first you can look at clean template, and then at finished QaraTangra.inc file.
Template's link (I had to do it due to characters limit) - > Click!
QaraTangra.inc:
Code:
# Qara-Tangra Khanate
# By Anjin Miura (Ober)
# Main Country Section
country = {
tag = U99
capital = 1099 # Samarkand
# Resources & Convoys
energy = 1000
metal = 1000
rare_materials = 1000
oil = 500
supplies = 1000
money = 100
manpower = 250
transports = 0
escorts = 0
# Government
headofstate = { type = 9 id = 1310001 } # Khan Mirsaid II Qara-Tangra
headofgovernment = { type = 9 id = 1310002 } # Lotarancay Ak-Tangra
foreignminister = { type = 9 id = 1310003 } # Ambrosio O'Higgins Jr.
armamentminister = { type = 9 id = 1310004 } # Lotarancay Ak-Tangra
ministerofsecurity = { type = 9 id = 1310005 } # Piri Aga
ministerofintelligence = { type = 9 id = 1310006 } # Kanarissay Bey
chiefofstaff = { type = 9 id = 1310007 } # Khan Mirsaid II Qara-Tangra
chiefofarmy = { type = 9 id = 1310008 } # Ahmat Qara-Tangra
chiefofnavy = { type = 9 id = 1310009 } # Under Army Command
chiefofair = { type = 9 id = 1310010 } # Under Army Command
# Domestic Policy
policy = {
date = { year = 0 month = january day = 0 }
democratic = 3
political_left = 3
free_market = 5
freedom = 5
professional_army = 7
defense_lobby = 9
interventionism = 6
}
# Foreign Policy
diplomacy = {
relation = { tag = CHI value = -50 }
relation = { tag = GER value = 50 }
relation = { tag = PER value = -50 }
relation = { tag = RUS value = -200 }
relation = { tag = TUR value = 170 }
relation = { tag = USA value = 5 }
}
# Intelligence
# Technology
techapps = { #Copied from Russia
#Early Infantry Division
1010 1020 1030
#Early Mountain Division
1160 1170 1180
#CAVALRY
13060 13070 13080
#Naval Infantry
#Engineers
1830
# Mobilization
1910 1920
#Early Tank
#Armoured Car
2860
#Early Field Artillery
2290
#Early Static Anti-Air Artillery
#Early Anti-Tank Artillery
#Destroyer
3010 3020 3030
#Light Cruiser
3110 3120
#Heavy Cruiser
3210 3220 3230
#Battlecruiser
3310 3320 3330
#Battleship
3410 3420 3430 3440
#Submarine
3610 3620
#Troopships
3810
#ASW
#TORPEDOES
3720
#Interceptors
4500
#Exp. Bomber
4600
#Multirole fighter
#ww1 strategic bomber
4800
#navalbomber
#Census Tabulating Machine
#Medicine
5600
#Agriculture
5700
#Construction Engineering
5800 5080
#MANUFACTURING
#Basic Oil Refining
#Basic Decimetric Radar Warning Sites
#Faculty of Atomic Research
#Great War Hospital System
#Landdoctrine ww1 - exp entente eng fra ita USA bel HOL jap
6500 6510 6530 # 6580
#Naval Doctrines
8010 8020 8040 8050 8060 8070 8080 8100 8110 8150 8500 8510
8900 8910
#Air Doctrines - ww1 techs
27480 27490 27500 27510
}
# Territory
nationalprovinces = { 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1112 1118 }
ownedprovinces = { 1097 1098 1099 1100 1101 1102 1103 1104 1105 }
controlledprovinces = { 1097 1098 1099 1100 1101 1102 1103 1104 1105 }
claimedprovinces = { }
# Order Of Battle
landunit = {
name = "Qara-Tangra Horde"
id = { type = 32500 id = 1 }
location = 1099 #Samarkand
division = {
id = { type = 32500 id = 2 }
name = "Khan's Guards"
type = cavalry
model = 7
strength = 100
extra = artillery
brigade_model = 1
}
division = {
id = { type = 32500 id = 3 }
name = "Uzbek Raiders"
type = cavalry
model = 6
strength = 100
}
}
}
You can add much more things, like modifiers, offmap IC and resources, AI's file location for country, everything connected to intelligence, etc. etc. It is not our task today, today we are learning basics. Most of additional things you can find just by looking at other .inc files in other scenarios. Most of things in .inc files are really, really easy. Only two things remains before wrapping up that tutorial and showing you some of the screens:
1. Territory! I am adding Qara-Tangra in provinces owned and controlled by Russians. And when you are doing that ALWAYS remmember to ERASE these provinces from - in that case - Russian .inc file from ownedprovinces and controlledprovinces. It is logical, isn't it? Two countries cannot own/control one province at the same time. Also when moving provinces from one country to another, some units might stay on new country's territory. I have that problem - two divisions in Ashkabad and five in Tashkent. You can simply find these units in Russian .inc file and change their location, or (if it's not problem for you) wait for one day in game and both corps will be redeployed back to their country.
2. Units! As you can see, I made myself a little army, just to show how it looks like and how to make it. Let's bring that part of code here once again:
Code:
landunit = {
name = "Qara-Tangra Horde"
id = { type = 32500 id = 1 }
location = 1099 #Samarkand
leader = 999000 #Mirsaid Khan
division = {
id = { type = 32500 id = 2 }
name = "Khan's Guards"
type = cavalry
model = 7
max_strength = 75
strength = 75
extra = artillery
brigade_model = 1
}
division = {
id = { type = 32500 id = 3 }
name = "Uzbek Raiders"
type = cavalry
model = 6
strength = 100
} #I am closing division's entry
} # But I am closing whole landunit!
*Landunit = { } represents unit, which consists on divisions (division = { } ). Always remmember to close it after last division! See that it has two brackets at the end? First is for Uzbek Raiders, and second for whole Qara-Tangra Horde. Remmember that! Landunit needs its name, location (simply province's ID), commander (leader's ID) and ID. ID is tricky. Every country needs its own type - I picked 32500 and it works. Sometimes game has issues with types, so you might spent a few minutes more aiming at correct one. Type is explained, now IDs. Both units and divisions are sharing the same IDs pool. So, in that case:
Qara-Tangra Horde (corps) - id = 1,
Khan's Guards (division) - id = 2,
Uzbek Raiders (division) - id = 3.
And now say that I wan Ak-Tangra Horde to be next. It would be like:
Ak-Tangra Horde (corps) - id = 4,
Kyrgyz Raiders (division) - id = 5,
Tajik Raiders (division) - id = 6. Etc. etc.
And how to make division? Let's take a look:
Code:
division = {
id = { type = 32500 id = 2 }
name = "Khan's Guards"
type = cavalry
model = 7
max_strength = 75
strength = 75
extra = artillery
brigade_model = 1
}
Type - Well, it's natural. To check units types, just go to db\units\divisions and check files names. For example to make mountaineers division you would have to write type = bergsjaeger...yeah.
Model - in that case 7th model of cavalry. Open unit's file (here - cavalry.txt) to find out which number is which model. Here, model 7 is Early Cavalry Division (1924).
Max_strength - maximum amount of strength for unit. That brown bar, you know.
Strength- strength with which unit starts game.
Extra - brigade, same deal as with type. Go to db\units\brigades
Brigade_model - same as model for division.
3. Fleets and air groups - you have to make them as navalunit = { } and airunit = { }. Here, except of location = x you might want to set base = x. Basically where naval or air unit is based.
One day we can talk about scenario files in-depth. For today I want you to know basics. Say that you want to setup three new countries in five minutes just to see how it looks - that's what I want you to learn today. And well, it looks like we are slowly going to an end...nope! One more file, because...
*Scenarios/1914/Bases.inc
...because for now my Khanate has only 2 IC! What is that?! Noo! I refuse to play such game. Where my IC at? Well, at bases.inc. You can also add these things to your .inc file ABOVE country = { } as well. But since creators of scenario created special file only for coding all bases, forts, radars, IC, etc. in it, you should write these things here. Now, I'm not a greedy person, I just want five additional IC both in Samarkand (1099) and Bukhara (1100). Both provinces might have already been specified here, so at first I will try to find'em. Ctrl-F and id =1099 to find my capital here and...
Code:
province = { id = 1099 # Samarkand - Uzbekistan - Central Asia
ic = -1 }
province = { id = 1100 # Bukhara - Uzbekistan - Central Asia
ic = -1 }
Dayomn, they've stolen my IC! Youuu Fernando, or Martin, or anyone responsible for stealing my Turkic Factories, damn yooouuuu! I need to do something! I want my IC back! Guess what? I'll just change values!
Code:
province = { id = 1099 # Samarkand - Uzbekistan - Central Asia
ic = 4 } #-1
province = { id = 1100 # Bukhara - Uzbekistan - Central Asia
ic = 4 } #-1
And there we go! But wait, I wanted to have five IC in both provinces, not four! Well, important thing to remmember: every province has its basic setup (resources + installations) already written in province.csv file. If you are looking for it, look for DH Full's Map folder. Here it goes: DH\map\Map_1\ - here you can find all files including province.csv. All values specified in bases.inc are ADDED to these from province.csv. So if Anti-Turkic Steppe-Haters (or DH Devs) written here that Samarkand has IC = -1, it means that base IC value for Samarkand is 1. In 1914 Scenario Samarkand has 0IC. If I'd change that -1 to 5, then Samarkand will have 6 IC. You see how it's working, right? Good. I'll be returning first values soon, so that's why I put -1 in comment - next time I'll be here, I'll know which values should be restored. Nice!
But you might ask now "Hey, I want to add more things than IC!" Well, here you go:
Code:
naval_base = x
air_base = x
landfort = x
coastalfort = x
anti_air = x
ic = x
infra = x (0.1 for 10%, 1.0 for 100%)
rocket_test = x
radar_station = x
nuclear_reactor = x
energy = x
metal = x
oil = x
rare_materials = x
manpower = x (never tried that one, just guessing)
4. Conclusion
Well, that was tough...I spent whole day writing that thing. At first please accept my apologies because of English-fails - English is (obviously) not my native language and I tend to fail mucho-mucho at it. I hope everything is clear to all of you. If someone wants, we can move on with more tutorials, although most of things (for example these in Additional Files list) are soooo easy to guess that it makes little to no sense to explain it. If anyone needs it - just ask me and I'll try my best.
To all modders around (and there are lots of them) - if you see any mistakes, let me know immediately. I'm only a human being, which tends to fail somewhat often, so if anyone sees any mistake - my PMBox is always opened (except when it's full). I'm kinda around characters limit once again now. Next post will be *reserved* for now - I'll add quick guides about Additional Files, breakaway states and Q&A (or FAQ) section. After that, we can think about something new...if you'd like to see any tutorial, just ask - if we don't have it around I'll do my best again!
I did so much English words yesterday and some BBCode today...I'm done.
To finally wrap this up, some reference material for you Paradox-people to see how it was DONE!
*Qara-Tangra's Album on imgur.com
*Reference Materials - all files modified and created by me during tutorial, but also .inc file template and all screenshots from imgur. And Khan's picture.
Last edited:
- 1
- 1