Chargenmorphcfg.xml

From Dragon Age Toolset Wiki
Jump to: navigation, search

This article contains links to the BioWare Social Network (BSN), which is now closed.

These links should be replaced with working links where possible, and tutorials edited to remove reliance on BSN.

Chargenmorphcfg.xml is the configuration file for the in-game character creator. It dictates what head morph presets (MOP), hairstyles, beards, tattoos, makeup and colour tints (for skin, hair, etc.) are available as selectable options. It is located in <install directory>\packages\core\data\misc.erf

File Structure

The contents of the default file are as follows:

<?xml version="1.0" encoding="utf-8"?>
<morph_config>
    <heads>
        <human_male>
            <resource name="HM_CPS_P01.mop"/>
            <resource name="HM_CPS_P02.mop"/>
            <resource name="HM_CPS_P03.mop"/>
            <resource name="HM_CPS_P04.mop"/>
            <resource name="HM_CPS_P05.mop"/>
            <resource name="HM_CPS_P06.mop"/>
            <resource name="HM_CPS_P07.mop"/>
            <resource name="HM_CPS_P08.mop"/>
            <resource name="HM_PCC_B01.mop"/>
        </human_male>
        <human_female>
            <resource name="HF_CPS_P01.mop"/>
            <resource name="HF_CPS_P02.mop"/>
            <resource name="HF_CPS_P03.mop"/>
            <resource name="HF_CPS_P04.mop"/>
            <resource name="HF_CPS_P05.mop"/>
            <resource name="HF_CPS_P06.mop"/>
            <resource name="HF_CPS_P07.mop"/>
            <resource name="HF_CPS_P08.mop"/>
            <resource name="HF_PCC_B01.mop"/>
        </human_female>
        <dwarf_male>
            <resource name="DM_CPS_P01.mop"/>
            <resource name="DM_CPS_P02.mop"/>
            <resource name="DM_CPS_P03.mop"/>
            <resource name="DM_CPS_P04.mop"/>
            <resource name="DM_CPS_P05.mop"/>
            <resource name="DM_CPS_P06.mop"/>
            <resource name="DM_CPS_P07.mop"/>
            <resource name="DM_CPS_P08.mop"/>
            <resource name="DM_PCC_B01.mop"/>
        </dwarf_male>
        <dwarf_female>
            <resource name="DF_CPS_P01.mop"/>
            <resource name="DF_CPS_P02.mop"/>
            <resource name="DF_CPS_P03.mop"/>
            <resource name="DF_CPS_P04.mop"/>
            <resource name="DF_CPS_P05.mop"/>
            <resource name="DF_CPS_P06.mop"/>
            <resource name="DF_CPS_P07.mop"/>
            <resource name="DF_CPS_P08.mop"/>
            <resource name="DF_PCC_B01.mop"/>
        </dwarf_female>
        <elf_male>
            <resource name="EM_CPS_P01.mop"/>
            <resource name="EM_CPS_P02.mop"/>
            <resource name="EM_CPS_P03.mop"/>
            <resource name="EM_CPS_P04.mop"/>
            <resource name="EM_CPS_P05.mop"/>
            <resource name="EM_CPS_P06.mop"/>
            <resource name="EM_CPS_P07.mop"/>
            <resource name="EM_CPS_P08.mop"/>
            <resource name="EM_PCC_B01.mop"/>
        </elf_male>
        <elf_female>
            <resource name="EF_CPS_P01.mop"/>
            <resource name="EF_CPS_P02.mop"/>
            <resource name="EF_CPS_P03.mop"/>
            <resource name="EF_CPS_P04.mop"/>
            <resource name="EF_CPS_P05.mop"/>
            <resource name="EF_CPS_P06.mop"/>
            <resource name="EF_CPS_P07.mop"/>
            <resource name="EF_CPS_P08.mop"/>
            <resource name="EF_PCC_B01.mop"/>
        </elf_female>
    </heads>
    
    <hairs>
        <human_male>
            <resource name="hm_har_blda_0" cut="0234"/>
            <resource name="hm_har_ha1a_0" cut="1"/>
            <resource name="hm_har_ha2a_0" cut="1"/>
            <resource name="hm_har_ha3a_0" cut="1"/>
            <resource name="hm_har_hb1a_0" cut="1"/>
            <resource name="hm_har_hb2a_0" cut="1"/>
            <resource name="hm_har_hb3a_0" cut="1"/>
            <resource name="hm_har_hb4a_0" cut="1"/>
            <resource name="hm_har_hc1a_0" cut="1"/>
            <resource name="hm_har_hc2a_0" cut="1"/>
            <resource name="hm_har_hc3a_0" cut="1"/>
            <resource name="hm_har_hc4a_0" cut="1"/>
            <resource name="hm_har_hd1a_0" cut="1"/>
            <resource name="hm_har_hd2a_0" cut="1"/>
            <resource name="hm_har_hd3a_0" cut="1"/>
            <resource name="hm_har_hd4a_0" cut="0"/>
        </human_male>
        <human_female>
            <resource name="hf_har_blda_0" cut="02"/>
            <resource name="hf_har_ha1a_0" cut="1"/>
            <resource name="hf_har_ha2a_0" cut="1"/>
            <resource name="hf_har_ha3a_0" cut="1"/>
            <resource name="hf_har_ha4a_0" cut="1"/>
            <resource name="hf_har_hb1a_0" cut="1"/>
            <resource name="hf_har_hb2a_0" cut="1"/>
            <resource name="hf_har_hb3a_0" cut="1"/>
            <resource name="hf_har_hb4a_0" cut="1"/>
            <resource name="hf_har_hc1a_0" cut="1"/>
            <resource name="hf_har_hc2a_0" cut="1"/>
            <resource name="hf_har_hc3a_0" cut="1"/>
            <resource name="hf_har_hc4a_0" cut="1"/>
            <resource name="hf_har_hd1a_0" cut="1"/>
            <resource name="hf_har_hd2a_0" cut="1"/>
            <resource name="hf_har_hd3a_0" cut="1"/>
            <resource name="hf_har_hd4a_0" cut="1"/>
        </human_female>
        <dwarf_male>
            <resource name="dm_har_blda_0" cut="0234"/>
            <resource name="dm_har_ha1a_0" cut="1"/>
            <resource name="dm_har_ha2a_0" cut="1"/>
            <resource name="dm_har_ha3a_0" cut="1"/>
            <resource name="dm_har_hb1a_0" cut="1"/>
            <resource name="dm_har_hb2a_0" cut="1"/>
            <resource name="dm_har_hb3a_0" cut="1"/>
            <resource name="dm_har_hb4a_0" cut="1"/>
            <resource name="dm_har_hc1a_0" cut="1"/>
            <resource name="dm_har_hc2a_0" cut="1"/>
            <resource name="dm_har_hc3a_0" cut="1"/>
            <resource name="dm_har_hc4a_0" cut="1"/>
            <resource name="dm_har_hd1a_0" cut="1"/>
            <resource name="dm_har_hd2a_0" cut="1"/>
            <resource name="dm_har_hd3a_0" cut="1"/>
            <resource name="dm_har_hd4a_0" cut="0"/>
        </dwarf_male>                           1
        <dwarf_female>
            <resource name="df_har_blda_0" cut="02"/>
            <resource name="df_har_ha1a_0" cut="1"/>
            <resource name="df_har_ha2a_0" cut="1"/>
            <resource name="df_har_ha3a_0" cut="1"/>
            <resource name="df_har_ha4a_0" cut="1"/>
            <resource name="df_har_hb1a_0" cut="1"/>
            <resource name="df_har_hb2a_0" cut="1"/>
            <resource name="df_har_hb3a_0" cut="1"/>
            <resource name="df_har_hb4a_0" cut="1"/>
            <resource name="df_har_hc1a_0" cut="1"/>
            <resource name="df_har_hc2a_0" cut="1"/>
            <resource name="df_har_hc3a_0" cut="1"/>
            <resource name="df_har_hc4a_0" cut="1"/>
            <resource name="df_har_hd1a_0" cut="1"/>
            <resource name="df_har_hd2a_0" cut="1"/>
            <resource name="df_har_hd3a_0" cut="1"/>
            <resource name="df_har_hd4a_0" cut="1"/>
        </dwarf_female>
        <elf_male>
            <resource name="em_har_blda_0" cut="0234"/>
            <resource name="em_har_ha1a_0" cut="1"/>
            <resource name="em_har_ha2a_0" cut="1"/>
            <resource name="em_har_ha3a_0" cut="1"/>
            <resource name="em_har_hb1a_0" cut="1"/>
            <resource name="em_har_hb2a_0" cut="1"/>
            <resource name="em_har_hb3a_0" cut="1"/>
            <resource name="em_har_hb4a_0" cut="1"/>
            <resource name="em_har_hc1a_0" cut="1"/>
            <resource name="em_har_hc2a_0" cut="1"/>
            <resource name="em_har_hc3a_0" cut="1"/>
            <resource name="em_har_hc4a_0" cut="1"/>
            <resource name="em_har_hd1a_0" cut="1"/>
            <resource name="em_har_hd2a_0" cut="1"/>
            <resource name="em_har_hd3a_0" cut="1"/>
            <resource name="em_har_hd4a_0" cut="0"/>
        </elf_male>                             
        <elf_female>
            <resource name="ef_har_blda_0" cut="02"/>
            <resource name="ef_har_ha1a_0" cut="1"/>
            <resource name="ef_har_ha2a_0" cut="1"/>
            <resource name="ef_har_ha3a_0" cut="1"/>
            <resource name="ef_har_ha4a_0" cut="1"/>
            <resource name="ef_har_hb1a_0" cut="1"/>
            <resource name="ef_har_hb2a_0" cut="1"/>
            <resource name="ef_har_hb3a_0" cut="1"/>
            <resource name="ef_har_hb4a_0" cut="1"/>
            <resource name="ef_har_hc1a_0" cut="1"/>
            <resource name="ef_har_hc2a_0" cut="1"/>
            <resource name="ef_har_hc3a_0" cut="1"/>
            <resource name="ef_har_hc4a_0" cut="1"/>
            <resource name="ef_har_hd1a_0" cut="1"/>
            <resource name="ef_har_hd2a_0" cut="1"/>
            <resource name="ef_har_hd3a_0" cut="1"/>
            <resource name="ef_har_hd4a_0" cut="1"/>        
        </elf_female>
    </hairs>
    
    <beards>
        <human_male>
            <resource name=""/>
            <resource name="hm_brd_b1a_0"/>
            <resource name="hm_brd_b2a_0"/>
            <resource name="hm_brd_b3a_0"/>
            <resource name="hm_brd_b4a_0"/>
            <resource name="hm_brd_b5a_0"/>
            <resource name="hm_brd_b6a_0"/>
        </human_male>
        <dwarf_male>
            <resource name=""/>
            <resource name="dm_brd_b1a_0"/>
            <resource name="dm_brd_b2a_0"/>
            <resource name="dm_brd_b3a_0"/>
            <resource name="dm_brd_b4a_0"/>
            <resource name="dm_brd_b5a_0"/>
            <resource name="dm_brd_b6a_0"/>
        </dwarf_male>      
    </beards>

    <hair_colors>
        <resource name ="t3_har_wht"/>
        <resource name ="t3_har_bln"/>
        <resource name ="t3_har_dbl"/>
        <resource name ="t3_har_org"/>
        <resource name ="t3_har_red"/>
        <resource name ="t3_har_lbr"/>
        <resource name ="t3_har_rbr"/>
        <resource name ="t3_har_dbr"/>
        <resource name ="t3_har_blk"/>
    </hair_colors>

    <skin_colors>
        <resource name="t1_skn_001"/>
        <resource name="t1_skn_002"/>
        <resource name="t1_skn_003"/>
        <resource name="t1_skn_004"/>
        <resource name="t1_skn_006"/>
        <resource name="t1_skn_005"/>
        <resource name="t1_skn_007"/>
    </skin_colors>

    <eyes_colors>
        <resource name="t3_eye_ice"/>
        <resource name="t3_eye_lbl"/>
        <resource name="t3_eye_dbl"/>
        <resource name="t3_eye_tea"/>
        <resource name="t3_eye_grn"/>
        <resource name="t3_eye_hzl"/>
        <resource name="t3_eye_lbr"/>
        <resource name="t3_eye_amb"/>
        <resource name="t3_eye_dbr"/>
        <resource name="t3_eye_gry"/>
        <resource name="t3_eye_blk"/>
    </eyes_colors>

    <eyes_makeup_colors>
        <resource name=""/>
        <resource name="t1_mue_bl1"/>
        <resource name="t1_mue_bl2"/>
        <resource name="t1_mue_bl3"/>
        <resource name="t1_mue_gn1"/>
        <resource name="t1_mue_gn2"/>
        <resource name="t1_mue_gn3"/>
        <resource name="t1_mue_gr1"/>
        <resource name="t1_mue_gr2"/>
        <resource name="t1_mue_gr3"/>
        <resource name="t1_mue_or1"/>
        <resource name="t1_mue_or2"/>
        <resource name="t1_mue_or3"/>
        <resource name="t1_mue_pi1"/>
        <resource name="t1_mue_pi2"/>
        <resource name="t1_mue_pi3"/>
        <resource name="t1_mue_pu1"/>
        <resource name="t1_mue_pu2"/>
        <resource name="t1_mue_pu3"/>
        <resource name="t1_mue_re1"/>
        <resource name="t1_mue_re2"/>
        <resource name="t1_mue_re3"/>
        <resource name="t1_mue_ro1"/>
        <resource name="t1_mue_ro2"/>
        <resource name="t1_mue_ro3"/>
        <resource name="t1_mue_te1"/>
        <resource name="t1_mue_te2"/>
        <resource name="t1_mue_te3"/>
        <resource name="t1_mue_ye1"/>
        <resource name="t1_mue_ye2"/>
        <resource name="t1_mue_ye3"/>
    </eyes_makeup_colors>

    <blush_makeup_colors>
        <resource name=""/>
        <resource name="t1_mub_br1"/>
        <resource name="t1_mub_br2"/>
        <resource name="t1_mub_br3"/>
        <resource name="t1_mub_or1"/>
        <resource name="t1_mub_or2"/>
        <resource name="t1_mub_or3"/>
        <resource name="t1_mub_pi1"/>
        <resource name="t1_mub_pi2"/>
        <resource name="t1_mub_pi3"/>
        <resource name="t1_mub_pu1"/>
        <resource name="t1_mub_pu2"/>
        <resource name="t1_mub_pu3"/>
        <resource name="t1_mub_re1"/>
        <resource name="t1_mub_re2"/>
        <resource name="t1_mub_re3"/>
        <resource name="t1_mub_ro1"/>
        <resource name="t1_mub_ro2"/>
        <resource name="t1_mub_ro3"/>
        <resource name="t1_mub_ta1"/>
        <resource name="t1_mub_ta2"/>
        <resource name="t1_mub_ta3"/>
        <resource name="t1_mub_te1"/>
        <resource name="t1_mub_te2"/>
        <resource name="t1_mub_te3"/>
    </blush_makeup_colors>

    <lip_makeup_colors>
        <resource name=""/>
        <resource name="t1_mul_bk1"/>
        <resource name="t1_mul_bk2"/>
        <resource name="t1_mul_bk3"/>
        <resource name="t1_mul_br1"/>
        <resource name="t1_mul_br2"/>
        <resource name="t1_mul_br3"/>
        <resource name="t1_mul_pi1"/>
        <resource name="t1_mul_pi2"/>
        <resource name="t1_mul_pi3"/>
        <resource name="t1_mul_pu1"/>
        <resource name="t1_mul_pu2"/>
        <resource name="t1_mul_pu3"/>
        <resource name="t1_mul_re1"/>
        <resource name="t1_mul_re2"/>
        <resource name="t1_mul_re3"/>
        <resource name="t1_mul_ro1"/>
        <resource name="t1_mul_ro2"/>
        <resource name="t1_mul_ro3"/>
        <resource name="t1_mul_ta1"/>
        <resource name="t1_mul_ta2"/>
        <resource name="t1_mul_ta3"/>
        <resource name="t1_mul_te1"/>
        <resource name="t1_mul_te2"/>
        <resource name="t1_mul_te3"/>                    
    </lip_makeup_colors>

    <brow_stubble_colors>
        <resource name="t1_stb_wht"/>
        <resource name="t1_stb_bln"/>
        <resource name="t1_stb_dbl"/>
        <resource name="t1_stb_org"/>
        <resource name="t1_stb_red"/>
        <resource name="t1_stb_lbr"/>
        <resource name="t1_stb_rbr"/>
        <resource name="t1_stb_dbr"/>
        <resource name="t1_stb_blk"/>
    </brow_stubble_colors>

    <crew_cut_colors>
        <resource name="t1_stb_wht"/>
        <resource name="t1_stb_bln"/>
        <resource name="t1_stb_dbl"/>
        <resource name="t1_stb_org"/>
        <resource name="t1_stb_red"/>
        <resource name="t1_stb_lbr"/>
        <resource name="t1_stb_rbr"/>
        <resource name="t1_stb_dbr"/>
        <resource name="t1_stb_blk"/>
    </crew_cut_colors>

    <tattoo_colors>
        <resource name="T1_TAT_BLK"/>
        <resource name="T1_TAT_GRY"/>
        <resource name="T1_TAT_BRN"/>
        <resource name="T1_TAT_DBR"/>
        <resource name="T1_TAT_GRN"/>
        <resource name="T1_TAT_DGN"/>
        <resource name="T1_TAT_BLU"/>
        <resource name="T1_TAT_DBL"/>
        <resource name="T1_TAT_PUR"/>
        <resource name="T1_TAT_DPU"/>
        <resource name="T1_TAT_RED"/>
        <resource name="T1_TAT_DRD"/>
        <resource name="T1_TAT_ORG"/>
        <resource name="T1_TAT_YEL"/>
        <resource name="T1_TAT_PNK"/>
    </tattoo_colors>

    <tattoos>
        <resource name="uh_tat_av1_0t"/>
        <resource name="uh_tat_av2_0t"/>
        <resource name="uh_tat_av3_0t"/>
        <resource name="uh_tat_da1_0t"/>
        <resource name="uh_tat_da2_0t"/>
        <resource name="uh_tat_da3_0t"/>
        <resource name="uh_tat_dw1_0t"/>
        <resource name="uh_tat_dw2_0t"/>
        <resource name="uh_tat_p01_0t"/>
    </tattoos>

    <skins>
        <resource name="uh_hed_fema_0d"/>
        <resource name="uh_hed_elfa_0d"/>
        <resource name="uh_hed_kida_0d"/>
        <resource name="uh_hed_masa_0d"/>
        <resource name="uh_hed_dwfa_0d"/>
        <resource name="uh_hed_quna_0d"/>
    </skins>
</morph_config>

Section <heads>

This section defines all of the head morph presets for each race and gender. Additional custom presets can be appended to the relevant list. The MOP file should be placed in the Override folder.

Section <hairs>

This section defines the various hair meshes for each race and gender. As with morph presets, additional custom hair meshes can be appended. The mesh files should be placed in the Override folder.

Section <beards>

This section defines the various beard meshes for each race (males only). Additional custom beard meshes can be appended. The mesh files should be placed in the Override folder.

Section <xxx_colors>

These sections define the tint files (TNT) used for hair, skin, eye, makeup and tattoo colours. Additional custom tints can be appended. The TNT files should be placed in the Override folder.

Section <tattoos>

This section appears to define the tint maps used for facial tattoos. However, the files listed are not those actually used by the character creator. Thus, it is not possible to append or replace these with custom files. It would appear that tattoos are hardcoded or specified elsewhere and that this section is unused.

At this time the only known method to achieve custom tattoos in the in-game character generator is either through the use of custom head morph presets or by overriding the default tint maps (by placing a custom tint map of the appropriate file name in the Override folder). If you wish to override the defaults, the races/origins that the tint maps are used for are as follows:

uh_pct_dc1_0t.dds - Dwarf Commoner
uh_pmt_001_0t.dds - Dwarf Commoner
uh_pct_dn1_0t.dds - Dwarf Noble
uh_pct_h01_0t.dds - Human, Elf City/Mage
uh_pct_h02_0t.dds - Human, Elf City/Mage
uh_tat_ed1_0t.dds - Elf Dalish
uh_tat_ed2_0t.dds - Elf Dalish
uh_tat_ed3_0t.dds - Elf Dalish
uh_tat_ed4_0t.dds - Elf Dalish

Section <skins>

This section defines the skin diffuse maps. Custom skin textures for each head morph are achieved by blending two skin textures together in amounts adjusted via sliders. Where the specific combinations of these skins for each race and gender are specified is unknown. Possibly it is hardcoded. Because of this, appending additional skin diffuse maps is unlikely to have any effect. They can be overridden however, as described previously for tint maps.

Mod Conflicts

To avoid conflicts, there should only ever be one copy of chargenmorphcfg.xml in the Override folder. The game will ignore additional copies. A number of popular mods make edits to chargenmorphcfg.xml (e.g. Pineappletree's Vibrant Colors, Bidelle's Makeup Studio, CC Tints and Tones, More Hairstyles, etc.). If you install two or more of these mods you will need to delete extra copies of chargenmorphcfg.xml and edit the remaining copy to include the necessary additions for the other mods. To avoid having to manually edit the file, Terra_Ex created a program called CharGenMorph Compiler. This tool will search for multiple instances of chargenmorphcfg.xml in the user's Override folder and condense them into a single file.