Animation Problem. Wrong Animation Played

When i receive animation files seperate from model files, the model doesn’t animate unless i change the bundle’s name to that of the model’s group name. However, in doing so, all my animations have pretty much the same name when they get loaded. So to overcome this, i play the animation in AnimControlCollection using the get_anim(int) function and loop(true) that Animation Control. To keep that int used to get the anim organized, i created a map<string, int> where i create my own name as the key and put the int used in get_anim in the second slot. However, when i run my game a few times, i keep getting certain animations mixed up. Am i right to assume that auto_bind would store the first animation i load in with window->load_model as AnimControlCollection->get_anim(0)? or does it have any special order.

Here’s the section of my code that stores the values in the map


//dir is the directory of the .exe to make the models load relative to the exe (No error from loading and it works)
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_idleW1");
	anim_map["w1-idle"] = 0;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_ShootW1");
	anim_map["w1-shoot"] = 1;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_dieW1");
	anim_map["w1-die"] = 2;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_runFrW1");
	anim_map["w1-runFr"] = 3;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_runBkW1");
	anim_map["w1-runBk"] = 4;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_runLtW1");
	anim_map["w1-runLt"] = 5;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_runRgW1");
	anim_map["w1-runRg"] = 6;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_flyModelW1");
	anim_map["w1-fly"] = 7;
window->load_model(Chugg_Model, dir + "model/Chugg/Chugg_flyShotW1");
	anim_map["w1-flyshot"] = 8;

auto_bind(Chugg_Model.node(), Chugg_Anims, PartGroup::HMF_ok_part_extra | PartGroup::HMF_ok_anim_extra | PartGroup::HMF_ok_wrong_root_name);



//this is how i set which animation to play
if(World.movingForward)
{
    if(!Chugg_Anims.get_anim(anim_map["w1-runFr"])->is_playing())
    {
	Chugg_Anims.stop_all();
	Chugg_Anims.get_anim(anim_map["w1-runFr"])->loop(true);
    }
}



EDIT: the exact same problem occurs when i use the animcontrol.loop("name.1" true) instead of get_anim(1)->loop(true). So is this an autobind problem?

This does rather sound like a bug in auto_bind(). Maybe it’s applying the wrong name to the animation. Let me investigate.

David