Author Topic: Custom Phenotype questions  (Read 406 times)

Legacy_Cain Maris

  • Newbie
  • *
  • Posts: 45
  • Karma: +0/-0
Custom Phenotype questions
« on: October 20, 2013, 03:04:53 pm »


               Hello.

Has anyone done a phenotype tutorial? I'm seeing lots of scattered bits of advice, but I'm  I'm not seeing some bits of info at all. I've tried reverse engineering from the examples available, but I'm jsut not there yet.

For example, when you add new phenotypes to a custom 2DA, and you assign a numeric "name", where do you relate that name to the phenotypemodels in the relevant hak? The Issig slight phenotype appears to work without a name, and teh other custom examples don't use any kind of consistent name pattern, other than pixk a range ands dpn't repeat.

I'm not even looking at animations yet - I'd like to get slight, tall and old phenotypes working together first and then go from there.

Any help is appreciated.
               
               

               
            

Legacy_CalSailX

  • Jr. Member
  • **
  • Posts: 93
  • Karma: +0/-0
Custom Phenotype questions
« Reply #1 on: October 20, 2013, 09:09:46 pm »


               I'm looking around for a good one myself Cain...

Using about 19 different phenotypes in the module I'm building some my own, most other folks creations.  

Short of it is the first number in "phenotype.2da"  is 0 as in pfh0   ie: Normal  your Skinny is 1 as in pfh1.mdl ... pmh1.mdl...etc.

Myself I've a exotic dancer that's 19  if you pull open pfh19 you'll find the super models she falls over to using if she doesn't find that animation in pfh19.mdl or in her own super model "dancer_fa.mdl" and "dancer_fa.mdl" uses "a_fa.mdl" as a supermodel. First model that has the animation you called in is the version that's run.

Lets say I stick her in a costume that would clip badly with a animation in "a_fa"... if you put a different version in the chain that's found first she should run that and avoid say a clipping issue.

Generally the first model in real small with little in it, but node positions and entries for the supermodels.

Used to do more animation years ago stumbling in the dark as it were... If I've gotten something wrong given you a bum steer hopefully someone will step in and correct what I "think I know"...
it's been a while since I really buggered about with building a new phenotype.

Best of luck and maybe we can both learn something new from the thread you started!
               
               

               
            

Legacy_Cain Maris

  • Newbie
  • *
  • Posts: 45
  • Karma: +0/-0
Custom Phenotype questions
« Reply #2 on: October 21, 2013, 05:15:13 am »


               Hi Cal.
Glad I'm not the only one struggling here.
WRT to the conversation so far:

Cain said: For example, when you add new phenotypes to a custom 2DA, and you assign a numeric "name", where do you relate that name to the phenotype models in the relevant hak?

Cal said: Short of it is the first number in "phenotype.2da" is 0 as in pfh0 ie: Normal your Skinny is 1 as in pfh1.mdl ... pmh1.mdl...etc.

Looks like I wasn't clear on what I don't understand. Small wonder, but my bad.
Let me try again with more detail.The 2DA has the following columns (snippet from the CEP2.3 phenotype.2da):

          Label           Name         DefaultPhenoType
0         Normal          2223         0
1         Skinny          *****         0                   
2         Large           2225         0                   
3         Normal_M        111015       0                   
4        unused            *****         0                   
5         Large_M         111016       2  
  • The line number - first column in the 2DA - matches the model numbers in the hak.
  • The last column - DefaultPhenoType - is a dependancy: e.g. the Large pheno gives default data for the other L phenos (and then it gets into a tree structure for the mounted phenotypes).
  • How does the third column - Name - figure into things?

               
               

               


                     Modifié par Cain Maris, 21 octobre 2013 - 04:16 .
                     
                  


            

Legacy_CalSailX

  • Jr. Member
  • **
  • Posts: 93
  • Karma: +0/-0
Custom Phenotype questions
« Reply #3 on: October 21, 2013, 03:35:13 pm »


               Sorry I didn't grasp what you were after Cain... The "Name" column in the file tells what line in the talk table is to be used to generate the name we'll use for the phenotype it's for human eye's.

If you use a TLK Editor and open up dialog.tlk and look at line 2223... you'll see a single entry "Normal",and looking below it "Skinny" is at 2224.

There is even a entry for  a"Dancer" at line 90483, however  if your scripting or the game engine is being fed... it's by number.

Myself I'm not fond of having to use a talk table to have the name I'd like to use for a phenotype show up in the toolset. So I'm stuck adding a .tlk file or using a existing entry in dialog.tlk to remind me of which phenotype is for what.

If we are lucky, we can find what we need for that column without generating a new talk table
IE:

19    Dancer     90483      0
20    Prostitute 12614      0
21    Stocks     5737       0                
22    Torture    5741       0

I'm a little hinky about using custom talk table entries for my own content.  Depending on what you add to your module you have to slot your own entries to a line number where they aren't going to be stepped on by other content you add to the module.  If you add Cep or proj Q to a module they have their own talk tables you have to play nice with.

Anyway sorry about the long winded rant/answer Cain.
               
               

               


                     Modifié par CalSailX, 25 octobre 2013 - 02:05 .
                     
                  


            

Legacy_CainMaris

  • Newbie
  • *
  • Posts: 27
  • Karma: +0/-0
Custom Phenotype questions
« Reply #4 on: October 21, 2013, 09:29:40 pm »


               That answers several things I hadn't yet sorted out, all at once. That's awesome.
Thanks, Cal.
               
               

               
            

Legacy_YeoldeFog

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: +0/-0
Custom Phenotype questions
« Reply #5 on: November 21, 2013, 12:05:15 pm »


               I'm quite confused about this. If I look at the ProjectQ Phenotype.2da, the Kensai (as exmaple) has name 16797806. What is this line/name/string refered to? Because there is not so many lines in Projectq.tlk?

I'm trying to add phenotype 64-70 from this package: http://nwvault.ign.c...=225674&id=8182

Can someone just point me to the right direction how I shall setup this?

Thanks!
               
               

               
            

Legacy_The Amethyst Dragon

  • Hero Member
  • *****
  • Posts: 2981
  • Karma: +0/-0
Custom Phenotype questions
« Reply #6 on: November 21, 2013, 03:21:00 pm »


               The referenced name with the long number is the line number from the Project Q .tlk file + 16777216.

To get the game to recognize/use a line from a custom .tlk entry, you have to add that number to your desired line number.  Anything lower and it will look in dialog.tlk, which may produce seemingly random lines pulled from the default game text (names, pieces of conversations, etc.).

I use a custom .tlk for my PW.  It's a necessity for adding custom content like phenotypes (and new item types, and spells, and more).  Plus, I use both CEP and Project Q, so I've merged many entries into a single .tlk file.  I make very heavy use of Axe Murderer's Killer TLK Editor v3.0, which has the added benefit of quickly showing me the +16777216 number to use in 2da files (just by clicking on the Strref column header).
               
               

               


                     Modifié par The Amethyst Dragon, 21 novembre 2013 - 03:21 .
                     
                  


            

Legacy_YeoldeFog

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: +0/-0
Custom Phenotype questions
« Reply #7 on: November 21, 2013, 06:17:06 pm »


               Ah, so if I want to add a Phenotype at line... say 20705 in the projectq.tlk file, then I shall add the name(number) 20705+16777216= 16797921 to my custom Phentotype.2da?

Where does this "+16777216" number come from, and how is it that everything below will make the engine look at the dialog.tlk?