+IO::getComment()const
+{
+ return text::trim(text::to_WideChar(CP_OEMCP,
+ std::string(comment, comment+256)));
+}
+
+std::wstring
+IO::getEnglishName()const
+{
+ return text::trim(text::to_WideChar(CP_OEMCP,
+ std::string(english_name, english_name+20)));
+}
+
+std::wstring
+IO::getEnglishComment()const
+{
+ return text::trim(text::to_WideChar(CP_OEMCP,
+ std::string(english_comment, english_comment+256)));
+}
+
+const Vector2* IO::getUV(int index)const
+{
+ return &vertices[index].uv;
+}
+
+void IO::setName(const char *src)
+{
+ strncpy(name, src, 20);
+}
+
+void IO::setComment(const char *src)
+{
+ strncpy(comment, src, 256);
+}
+
+void IO::setEnglishName(const char *src)
+{
+ strncpy(english_name, src, 20);
+}
+
+void IO::setEnglishComment(const char *src)
+{
+ strncpy(english_comment, src, 256);
+}
+
+
+// Material
+std::wstring
+Material::getTexture()const
+{
+ return text::trim(text::to_WideChar(CP_OEMCP,
+ std::string(texture, texture+20)));
+}
+
+void Material::setTexture(const char *src)
+{
+ strncpy(texture, src, 20);
+}
+
+// Bone
+std::wstring