also grob mach ich das so:
Code:
struct animStruct {int start; int end;};
irr::core::map AnimMap<char*, animStruct>;
...
void AddAnim(char * pAnimName, int start, int end)
{
animStruct a;
a.start=start;
a.end=end;
AnimMap[pAnimName]=a;
--- ODER ---
AnimMap.insert(pAnimName,a);
}
...
AddAnim("hallo", 10,110); // das geht
AddAnim(xanimtag->Attribute("name"),10,110); // das geht AUCH aber...
animStruct a=AnimMap["hallo"]; //.. DAS geht nur bei der oberen version...
---
Der Eintrag wird in der AnimMap einfach nicht gefunden bei der zweiten Version.
Alles andere wird richtig geladen und auch der Animationsname wird eigentlich richtig geladen..
---
xanimtag ist ein TiXElement mit dem tag "animation".
das xml file sieht so aus:
Code:
<?xml version="1.0" encoding="UTF-8">
<modeldata>
<model filename="media/models/sydney.md2" />
<animation name="hallo" start="1" end="100" />
</modeldata>
bitte helft mir, ich bin total verzweifelt. sorry, ist aber echt so.
eben, habs mit std::string(x->Attr..).c_str() versucht und indem ich von multibyte
auf unicode umgestellt habe und was weiss ich noch alles für komisches zeug aber nix hat funktioniert.
btw. ich benutze MS VS 2003. könnte aber auch 2005 benutzen, wenn das die lösung ist...
danke.