18 #include "precompiled.h"
34 char Header[5] = { 0 };
52 for (i = 0; i < ElementNameCount; ++i)
56 for (i = 0; i < AttributeNameCount; ++i)
94 return m_ElementNames[Name];
99 return m_AttributeNames[Name];
102 #else // #ifdef XERO_USEMAP
108 int len = (int)strlen(Name)+1;
115 if (*(
int*)Pos == len && strncasecmp(Pos+4, Name, len) == 0)
118 Pos += 4 + *(
int*)Pos;
128 int len = (int)strlen(Name)+1;
135 if (*(
int*)Pos == len && strncasecmp(Pos+4, Name, len) == 0)
138 Pos += 4 + *(
int*)Pos;
143 #endif // #ifdef XERO_USEMAP / #else
151 for (
int i = 0; i < ID; ++i)
152 Pos += 4 + *(
int*)Pos;
153 return std::string(Pos+4);
159 for (
int i = 0; i < ID; ++i)
160 Pos += 4 + *(
int*)Pos;
161 return std::string(Pos+4);
220 for (
int i = 0; i <
Count; ++i)
223 int Name = *(
int*)(Pos+4);
224 if (Name == ElementName)
235 ENSURE(
id >= 0 &&
id <
Count &&
"Element ID out of range");
249 for (
int i=0; i<id; ++i)
265 for (
int i = 0; i <
Count; ++i)
267 if (*(
int*)Pos == AttributeName)
269 Pos += 8 + *(
int*)(Pos+4);
278 ENSURE(
id >= 0 &&
id <
Count &&
"Attribute ID out of range");
287 Pos += 8 + *(
int*)(Pos+4);
293 for (
int i=0; i<id; ++i)
294 Pos += 8 + *(
int*)(Pos+4);
const char * UnfinishedHeaderMagicStr
const char * HeaderMagicStr
XMBElement GetFirstNamedItem(const int ElementName) const
int GetElementID(const char *Name) const
XMBAttributeList GetAttributes() const
XMBElementList GetChildNodes() const
int GetLineNumber() const
const char * m_LastPointer
const char * m_LastPointer
#define ENSURE(expr)
ensure the expression <expr> evaluates to non-zero.
bool Initialise(const char *FileData)
XMBAttribute Item(const int id)
CStr8 GetNamedItem(const int AttributeName) const
std::string GetElementString(const int ID) const
const char * m_ElementPointer
std::basic_string< utf16_t, utf16_traits > utf16string
XMBElement GetRoot() const
int strncpy_s(char *dst, size_t max_dst_chars, const char *src, size_t max_src_chars)
const char * m_AttributePointer
int GetAttributeID(const char *Name) const
std::string GetAttributeString(const int ID) const
XMBElement Item(const int id)
static float Length(const SVec3 v)