diff --git a/core/src/mirror.h b/core/src/mirror.h index c00a259..d0a10ab 100644 --- a/core/src/mirror.h +++ b/core/src/mirror.h @@ -46,7 +46,7 @@ extern const void* mirror_get_typeclass(void* data, IMirror const* tc, const cha } #define impl_Mirror_for(T, get_typestring_f, get_typeid_f, get_typeclasses_f)\ -static inline Mirror T##_as_Mirror(T* x) {\ +Mirror T##_as_Mirror(T* x) {\ TC_FN_TYPECHECK(const char*, get_typestring_f, T*);\ TC_FN_TYPECHECK(typeid, get_typeid_f, T*);\ TC_FN_TYPECHECK(List*, get_typeclasses_f, T*);\ @@ -62,8 +62,7 @@ static inline Mirror T##_as_Mirror(T* x) {\ extern const char* T##_get_typestring(T* self);\ extern typeid T##_get_typeid(T* self);\ extern List* T##_get_typeclasses(T* self);\ -impl_Mirror_for(T, T##_get_typestring, T##_get_typeid, T##_get_typeclasses) - +decl_typeclass_impl(Mirror, T) #define START_REFLECT(T)\ const char* T##_get_typestring(T* self) {\ @@ -85,7 +84,7 @@ List* T##_get_typeclasses(T* self) {\ if(!init_flag) {\ init_flag = 1,\ typeclasses = list_init(sizeof(MirroredTypeclass));\ - MirroredTypeclass tc;\ + MirroredTypeclass tc; #define REFLECT_TYPECLASS(T, TypeClass_)\ tc = (MirroredTypeclass){\ @@ -99,5 +98,6 @@ List* T##_get_typeclasses(T* self) {\ }\ return &typeclasses;\ }\ +impl_Mirror_for(T, T##_get_typestring, T##_get_typeid, T##_get_typeclasses) #endif // !_fencer_mirror_h diff --git a/game/src/Player.h b/game/src/Player.h index ba9c3f6..8e71a18 100644 --- a/game/src/Player.h +++ b/game/src/Player.h @@ -61,7 +61,6 @@ void PlayerOnOverlap(Player* self, Collider* other); static long PlayerGetDepth(Player* self) { return (int)(-10-self->transform.position.y * 1000); } DECL_REFLECT(Player); - decl_typeclass_impl(BehaviourEntity, Player) decl_typeclass_impl(Drop, Player) decl_typeclass_impl(Transformable, Player)