NW4F G3d
Loading...
Searching...
No Matches
g3d_ResDefs.h File Reference

Go to the source code of this file.

Macros

#define NW_G3D_RES_ASSERT_INDEX(name, idx)
#define NW_G3D_RES_DIC(offset)
#define NW_G3D_RES_FIELD_DIC_LOOKUP_IDX_DECL(name)
#define NW_G3D_RES_FIELD_DIC_LOOKUP_DECL(type, name)
#define NW_G3D_RES_FIELD_DIC_DECL(type, name)
#define NW_G3D_RES_FIELD_STR_DIC_DECL(name)
#define NW_G3D_RES_FIELD_EMPTY_DIC_DECL(name)
#define NW_G3D_RES_FIELD_CLASS_ARRAY_DECL(type, name)
#define NW_G3D_RES_FIELD_CLASS_NAMED_ARRAY_DECL(type, name)
#define NW_G3D_RES_FIELD_CLASS_DECL(type, name)
#define NW_G3D_RES_FIELD_DEREFERENCE_DECL(type)
#define NW_G3D_RES_FIELD_STRING_DECL(name)

Macro Definition Documentation

◆ NW_G3D_RES_ASSERT_INDEX

#define NW_G3D_RES_ASSERT_INDEX ( name,
idx )
Value:
NW_G3D_ASSERT_INDEX_BOUNDS(idx, Get##name##Count())
#define NW_G3D_ASSERT_INDEX_BOUNDS(index, size)
Definition g3d_assert.h:23

◆ NW_G3D_RES_DIC

#define NW_G3D_RES_DIC ( offset)
Value:
ResDicType::ResCast(offset.to_ptr<ResDicType::DataType>())

◆ NW_G3D_RES_FIELD_DIC_LOOKUP_IDX_DECL

#define NW_G3D_RES_FIELD_DIC_LOOKUP_IDX_DECL ( name)
Value:
int Get##name##Index(const char* str) const \
{ \
return NW_G3D_RES_DIC(ref().ofs##name##Dic)->FindIndex(str); \
} \
int Get##name##Index(const ResName* str) const \
{ \
return NW_G3D_RES_DIC(ref().ofs##name##Dic)->FindIndex(str); \
} \
const char* Get##name##Name(int elemIndex) const \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
return NW_G3D_RES_DIC(ref().ofs##name##Dic)->GetName(elemIndex); \
} \
#define NW_G3D_RES_DIC(offset)
Definition g3d_ResDefs.h:8

◆ NW_G3D_RES_FIELD_DIC_LOOKUP_DECL

#define NW_G3D_RES_FIELD_DIC_LOOKUP_DECL ( type,
name )
Value:
int Get##name##Count() const { return ref().num##name; } \
type* Get##name(const char* str) \
{ \
void* ptr = NW_G3D_RES_DIC(ref().ofs##name##Dic)->Find(str); \
return type::ResCast(static_cast<type##Data*>(ptr)); \
} \
type* Get##name(const ResName* str) \
{ \
void* ptr = NW_G3D_RES_DIC(ref().ofs##name##Dic)->Find(str); \
return type::ResCast(static_cast<type##Data*>(ptr)); \
} \
const type* Get##name(const char* str) const \
{ \
void* ptr = NW_G3D_RES_DIC(ref().ofs##name##Dic)->Find(str); \
return type::ResCast(static_cast<type##Data*>(ptr)); \
} \
const type* Get##name(const ResName* str) const \
{ \
void* ptr = NW_G3D_RES_DIC(ref().ofs##name##Dic)->Find(str); \
return type::ResCast(static_cast<type##Data*>(ptr)); \
} \
NW_G3D_RES_FIELD_DIC_LOOKUP_IDX_DECL(name) \

◆ NW_G3D_RES_FIELD_DIC_DECL

#define NW_G3D_RES_FIELD_DIC_DECL ( type,
name )
Value:
type* Get##name(int elemIndex) \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
void* ptr = NW_G3D_RES_DIC(ref().ofs##name##Dic)->Get(elemIndex); \
return type::ResCast(static_cast<type##Data*>(ptr)); \
} \
const type* Get##name(int elemIndex) const \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
void* ptr = NW_G3D_RES_DIC(ref().ofs##name##Dic)->Get(elemIndex); \
return type::ResCast(static_cast<type##Data*>(ptr)); \
} \
#define NW_G3D_RES_FIELD_DIC_LOOKUP_DECL(type, name)
Definition g3d_ResDefs.h:26

◆ NW_G3D_RES_FIELD_STR_DIC_DECL

#define NW_G3D_RES_FIELD_STR_DIC_DECL ( name)
Value:
int Get##name##Count() const { return ref().num##name; } \
const char* Get##name(const char* str) const \
{ \
return static_cast<const char*>(NW_G3D_RES_DIC(ref().ofs##name##Dic)->Find(str)); \
} \
const char* Get##name(const ResName* str) const \
{ \
return static_cast<const char*>(NW_G3D_RES_DIC(ref().ofs##name##Dic)->Find(str)); \
} \
const char* Get##name(int elemIndex) const \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
return static_cast<const char*>(NW_G3D_RES_DIC(ref().ofs##name##Dic)->Get(elemIndex)); \
} \
#define NW_G3D_RES_FIELD_DIC_LOOKUP_IDX_DECL(name)
Definition g3d_ResDefs.h:10

◆ NW_G3D_RES_FIELD_EMPTY_DIC_DECL

#define NW_G3D_RES_FIELD_EMPTY_DIC_DECL ( name)
Value:
int Get##name##Count() const { return ref().num##name; } \

◆ NW_G3D_RES_FIELD_CLASS_ARRAY_DECL

#define NW_G3D_RES_FIELD_CLASS_ARRAY_DECL ( type,
name )
Value:
int Get##name##Count() const { return ref().num##name; } \
type* Get##name(int elemIndex) \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
type##Data* pArray = ref().ofs##name##Array.to_ptr<type##Data>(); \
return type::ResCast(&pArray[elemIndex]); \
} \
const type* Get##name(int elemIndex) const \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
const type##Data* pArray = ref().ofs##name##Array.to_ptr<type##Data>(); \
return type::ResCast(const_cast<type##Data*>(&pArray[elemIndex])); \
} \

◆ NW_G3D_RES_FIELD_CLASS_NAMED_ARRAY_DECL

#define NW_G3D_RES_FIELD_CLASS_NAMED_ARRAY_DECL ( type,
name )
Value:
type* Get##name(int elemIndex) \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
type##Data* pArray = ref().ofs##name##Array.to_ptr<type##Data>(); \
return type::ResCast(&pArray[elemIndex]); \
} \
const type* Get##name(int elemIndex) const \
{ \
NW_G3D_RES_ASSERT_INDEX(name, elemIndex); \
const type##Data* pArray = ref().ofs##name##Array.to_ptr<type##Data>(); \
return type::ResCast(const_cast<type##Data*>(&pArray[elemIndex])); \
} \

◆ NW_G3D_RES_FIELD_CLASS_DECL

#define NW_G3D_RES_FIELD_CLASS_DECL ( type,
name )
Value:
type* Get##name() { return type::ResCast(ref().ofs##name.to_ptr<type##Data>()); } \
const type* Get##name() const { return type::ResCast(ref().ofs##name.to_ptr<type##Data>()); } \

◆ NW_G3D_RES_FIELD_DEREFERENCE_DECL

#define NW_G3D_RES_FIELD_DEREFERENCE_DECL ( type)
Value:
Res##type* Get() { return Res##type::ResCast(ref().ofsRefData.to_ptr<Res##type##Data>()); } \
const Res##type* Get() const \
{ \
return Res##type::ResCast(ref().ofsRefData.to_ptr<Res##type##Data>()); \
} \

◆ NW_G3D_RES_FIELD_STRING_DECL

#define NW_G3D_RES_FIELD_STRING_DECL ( name)
Value:
const char* Get##name() const { return ref().ofs##name.to_ptr(); } \