Results 1 to 2 of 2

Thread: Editing the EDU/BMDB

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Augustus Lucifer's Avatar Life = Like a beanstalk
    Patrician Citizen

    Join Date
    Aug 2006
    Location
    Mote of Dust
    Posts
    10,725

    Default Editing the EDU/BMDB

    This thread explains the conventions that should be used in these two files when adding to them for AUH, for the new system of EDU handling.

    battle_models.modeldb

    Due to the change in the way the EDU works, the bmdb needs to have a texture listed for every faction for every unit. This does not take any additional resources or art, simply entries for X different factions to cover all our bases and make enabling/disabling of recruitment or ownership easier later. The total # of factions which should each have a texture+attachmentset is X(19 as of May 7th 2010). In the bmdb the order of entry is first the faction the unit originates in, followed by all other factions alphabetically, followed by the miscellaneous factions. Here is an example entry for Song Zhanmadao:
    Code:
    14 song_zhanmadao 
    1 1 
    48 unit_models/_Units/song/song_zhanmadao_lod0.mesh 1000000 
    19 
    4 song 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr 
    6 champa 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    7 daiviet 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    4 dali 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    6 goryeo 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    3 jin 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    7 khitans 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    5 khmer 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    8 minamoto 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr 
    7 mongols 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    5 pagan 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    5 taira  
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    5 tibet 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    5 xixia 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    6 ghurid 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    9 challenge 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    9 scripting 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    5 slave 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    4 merc 
    55 unit_models/_Units/song/textures/song_zhanmadao.texture 
    57 unit_models/_Units/song/textures/song_zhanmadao_n.texture
    48 unit_sprites/scotland_noble_swordsmen_sprite.spr
    19 
    4 song 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    6 champa 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    7 daiviet 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    4 dali 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    6 goryeo 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    3 jin 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    7 khitans 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    5 khmer 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    8 minamoto 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    7 mongols 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    5 pagan 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    5 taira 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    5 tibet 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    5 xixia 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    6 ghurid 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    9 challenge 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    9 scripting 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    5 slave 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    4 merc 
    53 unit_models/AttachmentSets/song_equipment_zha.texture 
    58 unit_models/AttachmentSets/song_equipment_zha_norm.texture 0  
    1  
    4 None 
    16 MTW2_2HSwordsman 0   
    1  
    24 MTW2_2HSwordsman_Primary 0  
    5 -0.75 0 0 -0.75 2.0 2.0 
    The starting section with the model, and the ending section with the animation are as they have been.
    The number of faction entries for each unit should currently be X across the board.
    The first entry is for the original owner of the faction so it's easier to know. For japan this is both minamoto and taira. For regional units it should be led off with merc.
    After the originating owner/s are listed the other main factions alphabetically.
    Lastly are the other factions + merc assuming merc isn't the first one listed as in regional units.

    The easiest way to make a new entry is simply to copy an existing entry to a new notepad++ tab, then find-replace for the new texture directories and string count, as it's much quicker than copying one entry X times and adding the factions manually. Adding all X factions to each unit insures that we don't have to go back in and add a random faction or multiple random factions in haphazard order to an entry in the future, since all factions have a texture assigned for all units, so we only need to make changes in the EDU ownership lines and EDB recruit pools to effect them.

    export_descr_unit

    The EDU is currently separated into two separate files.

    One file is for the campaign, which has virtually all units as no_custom and all units recruitable by all factions. The reason for this is AOR can be adapted as necessary needing only changes to the EDB, without having to add ownership individually to specific units and specific factions and keep track of all that. Just because a unit is owned by all factions doesn't mean it can be recruited by all factions, it simply means that it is much easier to make it recruitable if necessary. So this approach not only saves us empty AOR slots, but a lot of time adding ownership in the EDU/BMDB on an individual basis.

    The second file is for custom battles and multiplayer battles. This file has no_custom removed from all factional units, and has only the originating faction owning each unit. In this way each faction fields their traditional 'roster' without AOR units for custom battles. This file is a modified version of the first file, and does not need to be edited manually since it will be created automatically by Kingdoms Sentinel assuming the EDU follows the conventions specified below.

    There's three specific EDU things which need to be kept in mind and followed.

    #1 - All attribute lines should be ended with , no_custom. Do not place it in the middle of the attributes line, it should always be at the end for ease of parser location.
    Code:
    attributes       sea_faring, hide_forest, can_withdraw, no_custom
    #2 - Every ownership line should be started with the originating faction and followed in the same way as the BMDB. Here is a list of what to put for ownership for each unit, based on the originating faction:
    Spoiler Alert, click show to read: 

    Champa
    champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Dai Viet
    daiviet, champa, dali, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Dali
    dali, champa, daiviet, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Goryeo
    goryeo, champa, daiviet, dali, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Jin
    jin, champa, daiviet, dali, goryeo, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Khitans
    khitans, champa, daiviet, dali, goryeo, jin, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Khmer
    khmer, champa, daiviet, dali, goryeo, jin, khitans, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Minamoto / Taira
    minamoto, taira, champa, daiviet, dali, goryeo, jin, khitans, khmer, mongols, pagan, song, tibet, xixia, ghurid, challenge, scripting, slave
    Mongols
    mongols, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Pagan
    pagan, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, mongols, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Song
    song, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, taira, tibet, xixia, ghurid, challenge, scripting, slave
    Tibet
    tibet, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, xixia, ghurid, challenge, scripting, slave
    Xi Xia
    xixia, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, ghurid, challenge, scripting, slave
    Ghurid
    ghurid, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, challenge, scripting, slave
    Regional / Non-Faction
    slave, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, mongols, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting


    Why you ask must there be a specific order? Elementary, my dear Watson! With each specific order there is a unique string of characters that succeeds the originating owner. This enables a very easy find+replace procedure to remove all non-originating factions from all ownership lines en masse to create the custom/multiplayer version.

    #3 - These two lines in red are now to be included in every unit entry. The name listed should be the name of the originating faction, minamoto in the case of Japan, and regional in the case of non-faction. This way we don't have to store multiple unit cards for each unit. (Click here for more information on this)
    Code:
    type             Keshik Guard
    dictionary       Keshik_Guard      ; Keshik Guard
    category         cavalry
    class            heavy
    voice_type       Heavy
    banner faction   main_cavalry
    soldier          Keshik_Guard, 50, 0, 1
    mount            heavy horse
    mount_effect     elephant -4, camel -4
    attributes       sea_faring, hide_forest, can_withdraw, no_custom
    move_speed_mod   1.0
    formation        1.2, 1.2, 2.4, 2.4, 3, square
    stat_health      1, 0
    stat_pri         5, 0, no, 120, 50, melee, melee_blade, piercing, none, 25, 1
    stat_pri_attr    no
    stat_sec         no
    stat_sec_attr    no
    stat_pri_armour  4, 8, 2, flesh
    stat_sec_armour  0, 0, flesh
    stat_heat        0
    stat_ground      0, 0, 0, 0
    stat_mental      8, disciplined, trained
    stat_charge_dist 30
    stat_fire_delay  0
    stat_food        60, 300
    stat_cost        1, 500, 150, 100, 100, 500, 1, 200
    armour_ug_levels 0
    armour_ug_models Keshik_Guard
    ownership        mongols, champa, daiviet, dali, goryeo, jin, khitans, khmer, minamoto, pagan, song, taira, tibet, xixia, ghurid, challenge, scripting, slave
    info_pic_dir	 mongols
    card_pic_dir	 mongols
    recruit_priority_offset    0
    Last edited by Augustus Lucifer; May 07, 2010 at 03:55 AM.

  2. #2
    Augustus Lucifer's Avatar Life = Like a beanstalk
    Patrician Citizen

    Join Date
    Aug 2006
    Location
    Mote of Dust
    Posts
    10,725

    Default Re: Editing the EDU/BMDB

    Moved this file out of the Backroom since more users may be involved with the editing of these files in the future and need to know the procedures, since I don't like cleaning up for folks.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •