View Full Version : [XMLCOMP] Simple Great Person Mod


Requies
Nov 25, 2005, 03:00 PM
This is Dr. Elmer Jiggle's version (which I had nothing to do with) which WILL work with 1.52. Updated latest version.

Great People
_________________

Ever get annoyed because you see a whole bunch of great person names scroll by and you haven't the slightest clue what type they are?
Be annoyed no longer! This mod adds in the type of Great Person in parentheses to the end of each Great Person's name so that at a glance you can tell who just got a Great Engineer who will be able to rush build that wonder you've been spending forever on. Or you can tell immediately what type of specialist you received so that you can properly plan without having to look around to see which type of person you got.

Examples:
Moses (Prophet)
Harkuf (Merchant)

Installation
_________

Simple Great Person should NOT be installed in your main Civ IV location, as it will overwrite necessary files.
Instead, it should be installed at: "My Documents\My Games\Civilization 4\CustomAssets\xml\text".

History
______
v0.3
-Added foreign language support [Done by Dr. Elmer Jiggle]

v0.2
-Updated to work with patch 1.52 (and future patches) [Done by Dr. Elmer Jiggle]

v0.1
- first release

Davyd
Nov 25, 2005, 08:11 PM
Good idea, I installed it :)

Innocence
Nov 26, 2005, 08:55 AM
Ditto, thanks Requies :)

Dom Pedro II
Nov 26, 2005, 09:06 AM
Nice job! :thumbsup:

woodelf
Nov 26, 2005, 02:13 PM
Nice idea.

mamimo
Nov 29, 2005, 02:36 AM
could help to know how each Ai treats his Great Persons.
Also when to hurry a wonder...
thanks.

QiZhe
Dec 30, 2005, 03:33 PM
Is this compatible with 1.52?

Lov2play
Dec 30, 2005, 03:36 PM
Works fine for me with 1.52.

Dr Elmer Jiggle
Dec 31, 2005, 08:31 AM
It works with the patch, but it overrides some of the changes that were made. For example, if you use this mod, Jaguars and Praetorians will still cost 40 hammers each instead of 35 and 45 respectively.

Requies, while looking over the file to see how to address this, I was wondering why you chose to modify this file instead of XML/Text/CIV4GameTextInfos_GreatPeople.xml. Wouldn't work as well but be more internationalizable and also avoid conflicts with changes to other units? I may take a stab at this approach unless you encountered a problem with that idea.

Requies
Jan 01, 2006, 06:59 PM
It works with the patch, but it overrides some of the changes that were made. For example, if you use this mod, Jaguars and Praetorians will still cost 40 hammers each instead of 35 and 45 respectively.

Requies, while looking over the file to see how to address this, I was wondering why you chose to modify this file instead of XML/Text/CIV4GameTextInfos_GreatPeople.xml. Wouldn't work as well but be more internationalizable and also avoid conflicts with changes to other units? I may take a stab at this approach unless you encountered a problem with that idea.

I was thinking about that myself, but I wasn't sure if doing that would mess some more things up if I did that. You could take a look into it.

But Dr. Elmer Jiggle is right, it unfortunately overrides the changes for 1.52 in price cost (and it will every time a unit change occurs).

I was actually thinking of adding a separate line in the log file since there's no actual way to alter the reporting of the great person being born.

So, in the game, it would look like:

A Great Merchant was born to the Roman Empire!
Harkuf has been born in Rome!

What do you guys think? To much information? Or is this a decent solution to re-pasting each time a unit is altered?

Req

Dr Elmer Jiggle
Jan 01, 2006, 08:37 PM
I was thinking about that myself, but I wasn't sure if doing that would mess some more things up if I did that. You could take a look into it.

I made the appropriate changes to CIV4GameTextInfos_GreatPeople.xml. It seems to be working in my current game, but I don't have a good great person factory going, so I've really only seen two great people (plus several in foreign cities). If I can figure out how to upload a file, I'll post it here so you can take a look at it.

Note that CIV4GameTextInfos_GreatPeople.xml in the ZIP archive is to be used instead of, not in addition to, CIV4UnitInfos.xml. Install this in CustomAssets or whatever mod folder contains the simple great person mod.

Although this approach should make internationalization easy (indeed, that's probably the main benefit), I only changed the English names. You can find the words for the different types of great people in Xml/Text/CIV4GameTextInfos_Objects.xml, but I wasn't sure enough about grammatical issues like plurals, noun genders, etc. to do it myself.

Dr Elmer Jiggle
Jan 05, 2006, 08:24 AM
FYI, I've continued using my CIV4GameTextInfos_GreatPeople.xml version of this mod, and it appears to be working just fine. I've noticed one minor annoyance with it, but I suspect the same problem occurs in the original mod as well. I'm not sure though, as I haven't actually tested it.

In certain situations, the game already displays "(Great Merchant)" as part of the great person's name even without the mod. One example of this is in the tooltip that pops up when you hover the mouse over a unit. In those cases you now get the hint twice: "Harkuf (Merchant) (Great Merchant)" because it's in both his name and his unit type.

You might be able to fix that by changing the text in XML/Text/CIV4GameTextInfos_Object.xml so nothing is displayed for the unit type, but I suspect that would mess up other areas (like the specialist area on the city screen), so I simply choose to ignore this problem in my games. It's not really a big deal. Just a bit strange looking.

I'm also going through the names now and changing the non-English language text, so I think this file really will do everything it needs to do. I'll attach the new file when I finish. Of course, I don't actually speak 8 different languages, so if I guess wrong about how to deal with Chinese great people (for example), please point that out.

Requies
Jan 05, 2006, 09:59 AM
FYI, I've continued using my CIV4GameTextInfos_GreatPeople.xml version of this mod, and it appears to be working just fine. I've noticed one minor annoyance with it, but I suspect the same problem occurs in the original mod as well. I'm not sure though, as I haven't actually tested it.

In certain situations, the game already displays "(Great Merchant)" as part of the great person's name even without the mod. One example of this is in the tooltip that pops up when you hover the mouse over a unit. In those cases you now get the hint twice: "Harkuf (Merchant) (Great Merchant)" because it's in both his name and his unit type.

You might be able to fix that by changing the text in XML/Text/CIV4GameTextInfos_Object.xml so nothing is displayed for the unit type, but I suspect that would mess up other areas (like the specialist area on the city screen), so I simply choose to ignore this problem in my games. It's not really a big deal. Just a bit strange looking.

I'm also going through the names now and changing the non-English language text, so I think this file really will do everything it needs to do. I'll attach the new file when I finish. Of course, I don't actually speak 8 different languages, so if I guess wrong about how to deal with Chinese great people (for example), please point that out.

Nice job. I guess nobody wanted it the other way....

I'll post this in the OP and give all the credit to you.

Req

alerum68
Jan 05, 2006, 12:09 PM
When I made my MOD pack there were a few errors someone found. The Jag and Prats, as well as Galley's not being upgradable to Frigs. Did you guys catch the Galley fix as well?

Dr Elmer Jiggle
Jan 05, 2006, 12:39 PM
@alerum68:

That was me that noticed those problems. This new version "fixes" all of those. I say "fixes" since the solution is to override the great person names from a different XML file entirely. So the unit definitions are no longer overridden at all.

If you want to update your mod with this latest version, you would simply need to remove the XML/Units/CIV4UnitInfos.xml file and add the XML/Text/CIV4GameTextInfos_GreatPeople.xml instead.

@Requies:

Thanks. Note that until just now I had not yet updated with the new internationalized version of the file. So although the one you currently have linked from the first post will work, it only contains the English names. I've now updated my post with a new file that has the overrides for all 8 supported languages ... sort of ...

As I was making the changes I noticed that the "Russian," "Japanese," and "Chinese" names for the great people are exactly the same as the French names, so I don't think the text is really correct for those 3 languages. However, it's no worse than with the default game files. That is, I don't think I've introduced any new internationalization issues. I just propagated the existing problems further. So anyone who's happy with the default Russian translation should be no less happy with this one.

alerum68
Jan 05, 2006, 12:45 PM
Thanks Doc.... I thought it was you, but was to lazy to go check.:p I know someone that speaks Russian so I can ask them what the names are in Russian. Do you know if it's actually in Cyrlic so I need to get a text file from them, or is it just something I can post the translations to it online? The person I know who speaks Japanese went back home now that school is over, and I can't get ahold of her.:( But I can get the Russian for you when I come back from my trip.

BTW - Who should I give credit to in the Readme?

Dr Elmer Jiggle
Jan 05, 2006, 01:35 PM
Do you know if it's actually in Cyrlic so I need to get a text file from them

Well, since it's currently French, it's definitely not Cyrillic :), but the "funny" characters in the French and German text are done using XML character references like ü (ü). A more complete list of possibilities is at the Wikipedia page below. I suspect that any necessary Cyrillic characters can be managed the same way.

List of HTML decimal character references (http://en.wikipedia.org/wiki/List_of_HTML_decimal_character_references)

BTW - Who should I give credit to in the Readme?

I think both of us. I wouldn't have even looked at the files if Requies hadn't done it first. It was his/her idea.

alerum68
Jan 05, 2006, 02:34 PM
I think I'll just have them translated in English characters for now.... and I'll be sure to include both of you when I update my mod... Leaving for vegas tommorow so not going to do it until I get back though.

Requies
Jan 05, 2006, 05:27 PM
@alerum68:

That was me that noticed those problems. This new version "fixes" all of those. I say "fixes" since the solution is to override the great person names from a different XML file entirely. So the unit definitions are no longer overridden at all.

If you want to update your mod with this latest version, you would simply need to remove the XML/Units/CIV4UnitInfos.xml file and add the XML/Text/CIV4GameTextInfos_GreatPeople.xml instead.

@Requies:

Thanks. Note that until just now I had not yet updated with the new internationalized version of the file. So although the one you currently have linked from the first post will work, it only contains the English names. I've now updated my post with a new file that has the overrides for all 8 supported languages ... sort of ...

As I was making the changes I noticed that the "Russian," "Japanese," and "Chinese" names for the great people are exactly the same as the French names, so I don't think the text is really correct for those 3 languages. However, it's no worse than with the default game files. That is, I don't think I've introduced any new internationalization issues. I just propagated the existing problems further. So anyone who's happy with the default Russian translation should be no less happy with this one.

Updated OP.

Req

alerum68
Jan 11, 2006, 12:48 AM
Working on the Russian translations now, and they will be in proper Cyrlic. They're translated by someone from Bulgaria, and verified by someone from Ukraine.

lordroy
Jan 29, 2006, 03:26 AM
This is Dr. Elmer Jiggle's version (which I had nothing to do with) which WILL work with 1.52. Updated latest version.

Great People
_________________

Ever get annoyed because you see a whole bunch of great person names scroll by and you haven't the slightest clue what type they are?
Be annoyed no longer! This mod adds in the type of Great Person in parentheses to the end of each Great Person's name so that at a glance you can tell who just got a Great Engineer who will be able to rush build that wonder you've been spending forever on. Or you can tell immediately what type of specialist you received so that you can properly plan without having to look around to see which type of person you got.

Examples:
Moses (Prophet)
Harkuf (Merchant)

Installation
_________

Simple Great Person should NOT be installed in your main Civ IV location, as it will overwrite necessary files.
Instead, it should be installed at: "My Documents\My Games\Civilization 4\CustomAssets\xml\text".

History
______
v0.3
-Added foreign language support [Done by Dr. Elmer Jiggle]

v0.2
-Updated to work with patch 1.52 (and future patches) [Done by Dr. Elmer Jiggle]

v0.1
- first release


I downloaded this and looked thru the whole thing, but there only one file in this "CIV4GameTextInfos_GreatPeople.xml" (and a bunch of other default folders)? It doesn't seem complete. When you updated this, did you forget something? I cant get it to work.

-=R=-

Dr Elmer Jiggle
Jan 29, 2006, 08:26 AM
There's only supposed to be that one file. You should normally install it as <userdir>/CustomAssets/XML/Units/CIV4GameTextInfos_GreatPeople.xml where userdir is typically something like C:/Documents and Settings/Me/My Documents/My Games/Sid Meier's Civilization 4. That will make the change apply to all of your games.

Alternatively, if you want to install it as a separate mod so you can choose when to use it, install it as <userdir>/Mods/SimpleGreatPeople/XML/Units/CIV4GameTextInfos_GreatPeople.xml. "SimpleGreatPeople" can be whatever name you choose to give to the mod.

lordroy
Jan 29, 2006, 07:38 PM
There's only supposed to be that one file. You should normally install it as <userdir>/CustomAssets/XML/Units/CIV4GameTextInfos_GreatPeople.xml where userdir is typically something like C:/Documents and Settings/Me/My Documents/My Games/Sid Meier's Civilization 4. That will make the change apply to all of your games.

Alternatively, if you want to install it as a separate mod so you can choose when to use it, install it as <userdir>/Mods/SimpleGreatPeople/XML/Units/CIV4GameTextInfos_GreatPeople.xml. "SimpleGreatPeople" can be whatever name you choose to give to the mod.

You do realize that the folder you have that (in the .zip) is "/xml/text" not "xml/Units" as you describe...

ill try this out...


-=R=-

Dr Elmer Jiggle
Jan 29, 2006, 09:42 PM
You do realize that the folder you have that (in the .zip) is "/xml/text" not "xml/Units" as you describe...

Oh, yeah, sorry. It should be installed in XML/Text. I was remembering the old location that was used for the original implementation.

lordroy
Jan 29, 2006, 10:29 PM
Oh, yeah, sorry. It should be installed in XML/Text. I was remembering the old location that was used for the original implementation.


Well I cant get it to work in either folder... I had it in the "XML/Text" folder before.

I am trying to get this to work with [MOD] Sevo's Civ Fanatics Fusion 2.0 (http://forums.civfanatics.com/showthread.php?t=151611), and while I have not tried this out alone, there are thoes there who have asked me to try and get this working. Do you have any idea why it does not work when I put it into: \My Documents\My Games\Sid Meier's Civilization 4\MODS\Sevomod\Assets\XML\text folder?

Any help would be appreciated.

-=R=-

Dr Elmer Jiggle
Jan 29, 2006, 11:05 PM
I am trying to get this to work with [MOD] Sevo's Civ Fanatics Fusion 2.0 (http://forums.civfanatics.com/showthread.php?t=151611)

I see the problem. That mod includes a revised XML/Units/CIV4UnitInfos.xml file. In that file, the definitions of the great people have hardcoded names. For example, you'll see this toward the end of the file:


<UnitInfo>
<Class>UNITCLASS_ENGINEER</Class>
<Type>UNIT_ENGINEER</Type>
<UniqueNames>
<UniqueName>Imhotep</UniqueName>
<UniqueName>Archimedes</UniqueName>
...


As a result, the names are no longer looked up in CIV4GameTextInfos_GreatPeople.xml. If you compare this with the game's original CIV4UnitInfos.xml in Program Files/Firaxis Games/Sid Meier's Civilization 4/Assets/XML/Text, you'll see that the names are coded as text keys there.


<UnitInfo>
<Class>UNITCLASS_ENGINEER</Class>
<Type>UNIT_ENGINEER</Type>
<UniqueNames>
<UniqueName>TXT_KEY_GREAT_PERSON_IMHOTEP</UniqueName>
<UniqueName>TXT_KEY_GREAT_PERSON_ARCHIMEDES</UniqueName>
...


Those are then mapped to the names in CIV4GameTextInfos_GreatPeople.xml. The main advantage that offers has to do with internationalization/localization. Sevo's mod will always display English names for the great people, regardless of the user's language. If you restore the keys so the names are looked up from the text infos, they will display in English, German, French, etc., depending on the game's settings.

So to get this mod to work in conjunction with Sevo's mod, you would need to change Sevo's CIV4UnitInfos.xml to restore the original great person names. I'm not sure why Sevo's file would have this problem, so you might want to be a little careful about exactly which parts of the file you revert and which ones you keep. You might accidentally undo some important part of his mod without realizing it.

lordroy
Jan 29, 2006, 11:11 PM
I see the problem. That mod includes a revised XML/Units/CIV4UnitInfos.xml file. In that file, the definitions of the great people have hardcoded names. For example, you'll see this toward the end of the file:


<UnitInfo>
<Class>UNITCLASS_ENGINEER</Class>
<Type>UNIT_ENGINEER</Type>
<UniqueNames>
<UniqueName>Imhotep</UniqueName>
<UniqueName>Archimedes</UniqueName>
...


As a result, the names are no longer looked up in CIV4GameTextInfos_GreatPeople.xml. If you compare this with the game's original CIV4UnitInfos.xml in Program Files/Firaxis Games/Sid Meier's Civilization 4/Assets/XML/Text, you'll see that the names are coded as text keys there.


<UnitInfo>
<Class>UNITCLASS_ENGINEER</Class>
<Type>UNIT_ENGINEER</Type>
<UniqueNames>
<UniqueName>TXT_KEY_GREAT_PERSON_IMHOTEP</UniqueName>
<UniqueName>TXT_KEY_GREAT_PERSON_ARCHIMEDES</UniqueName>
...


Those are then mapped to the names in CIV4GameTextInfos_GreatPeople.xml. The main advantage that offers has to do with internationalization/localization. Sevo's mod will always display English names for the great people, regardless of the user's language. If you restore the keys so the names are looked up from the text infos, they will display in English, German, French, etc., depending on the game's settings.

So to get this mod to work in conjunction with Sevo's mod, you would need to change Sevo's CIV4UnitInfos.xml to restore the original great person names. I'm not sure why Sevo's file would have this problem, so you might want to be a little careful about exactly which parts of the file you revert and which ones you keep. You might accidentally undo some important part of his mod without realizing it.



Thanks for the info... ill look at that code... I dont know this stuff very well, but I learn quickly.


Couldn't I just change the code from "<UniqueName>Moses</UniqueName>" to "<UniqueName>Moses (Prophet)</UniqueName>"


-=R=-

Nials
Feb 03, 2006, 03:06 PM
A simple yet very useful mod!

Thanks for creating it!