Page 1 of 1

Naming an Age

PostPosted: Wed Feb 17, 2010 7:23 pm
by Whilyam
Cyan has a number of examples of Ages with names on the KI that differ from their filenames (Eder Kemo instead of garden01). How can I do that for my own Ages, and how difficult is it?

Re: Naming an Age

PostPosted: Wed Feb 17, 2010 10:10 pm
by Tsar Hoikas
In xKI.py there are two functions that tansform the age names. I think they are called IFilterAgeName and IConvertAgeName. Each one is run on the age name under specific circumstances that I do not recall. D'Lanor probably remembers, being slightly more versed with the KI code in general than I am. I specialize more in the baton puzzle python :P

Re: Naming an Age

PostPosted: Wed Feb 17, 2010 11:58 pm
by Chacal
That's a question for diafero.

Re: Naming an Age

PostPosted: Thu Feb 18, 2010 2:12 am
by diafero
Yeah, Hoikas is right, it's an absolutely crazy hard-coded system. However I got fed up with that and integrated my own age and link management with these functions. So the age display name is now set by the AvailableLinks.inf file. The bad point is that it can hardly be changed after the age was released because the visible name is saved in the vault.

So, basically, all you need to do is clearly state the actual visible name of your age when you release it, I will then put it into the AvailableLinks.inf file. If you want to be really sure, you can PM me right after the release.

Re: Naming an Age

PostPosted: Thu Feb 18, 2010 5:32 am
by Whilyam
diafero wrote:Yeah, Hoikas is right, it's an absolutely crazy hard-coded system. However I got fed up with that and integrated my own age and link management with these functions. So the age display name is now set by the AvailableLinks.inf file. The bad point is that it can hardly be changed after the age was released because the visible name is saved in the vault.

So, basically, all you need to do is clearly state the actual visible name of your age when you release it, I will then put it into the AvailableLinks.inf file. If you want to be really sure, you can PM me right after the release.

Great. Thanks!

Re: Naming an Age

PostPosted: Thu Feb 18, 2010 7:21 am
by Tsar Hoikas
Chacal wrote:That's a question for diafero.


Wow. Somehow in my insanity, I forgot that diafero develops the OfflineKI... I thought about D'Lanor since I recall him explaining it somewhere :\

Re: Naming an Age

PostPosted: Thu Feb 18, 2010 8:35 am
by diafero
D'Lanor is also on the (relatively long) list of developers who contributed code to my Offline KI, so it's not completely off ;-)

Re: Naming an Age

PostPosted: Thu Feb 18, 2010 1:23 pm
by D'Lanor
Ok, I'll chime in then. ;) IMO the best way to name your age differently than its file name is to use the age instance name. That has to be done when you link to the age so the age writer usually has no control over it. I believe this is the name diafero is referring to when he says the name is written to the vault. The vault name cannot be changed afterwards (unless you delete the age and recreate it through a link with the proper age info).

Age instance names do not have to be unique. For instance both city and BaronCityOffice have an age instance name Ae'gura. And unlike age names the age instance names can have spaces and apostrophes.

At some point Cyan must have decided that age instance naming still was not flexible enough so they set up separate filtering systems in the KI (yes, two different ones :roll: ). This is the system which for example makes the bahro caves show up as ??? if you did not finish your prime ages.

Re: Naming an Age

PostPosted: Fri Feb 19, 2010 12:38 am
by diafero
That's exactly what I meant, D'Lanor. It's also the name showing up while linking to the age in online environments (the old UU/Alcugs ones).
One could even say there is a 3rd naming system, used to display the name another explorer is in - as one can only read the age filename from the player info node, there needs to be yet another table transalting age filenames into age display/instance names. And of course there is the Nexus, which duplicates a lot of this to show the correct names in all categories.
You see why I added one central file to set this name in one place, and modified the Python everywhere to use it? ;-)