From 608467161babf906b94832241b221f8745247a5b Mon Sep 17 00:00:00 2001 From: Kp Date: Wed, 6 Apr 2016 03:34:13 +0000 Subject: [PATCH] Remove obsolete arguments from DEFINE_VALPTRIDX_SUBTYPE --- common/include/valptridx.h | 18 ++++++++++-------- common/main/object.h | 4 ++-- common/main/segment.h | 2 +- common/main/switch.h | 2 +- common/main/wall.h | 2 +- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/common/include/valptridx.h b/common/include/valptridx.h index 7080f0a41..264f8904b 100644 --- a/common/include/valptridx.h +++ b/common/include/valptridx.h @@ -714,13 +714,15 @@ public: void *operator &() const = delete; }; -#define _DEFINE_VALPTRIDX_SUBTYPE_USERTYPE(N,P,I,A,prefix,Pconst) \ - constexpr valptridx

::basic_ptridx_global_factory prefix##ptr{}; \ - constexpr valptridx

::basic_vptr_global_factory v##prefix##ptr{}; \ - constexpr valptridx

::basic_ptridx_global_factory prefix##ptridx{}; \ - constexpr valptridx

::basic_vptr_global_factory v##prefix##ptridx{}; \ +#define DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES3(MANAGED_TYPE,FACTORY) \ + constexpr valptridx::basic_vptr_global_factory v##FACTORY{}; \ + constexpr valptridx::basic_ptridx_global_factory FACTORY{} \ -#define DEFINE_VALPTRIDX_SUBTYPE(N,P,I,A) \ - _DEFINE_VALPTRIDX_SUBTYPE_USERTYPE(N,P,I,A,N,); \ - _DEFINE_VALPTRIDX_SUBTYPE_USERTYPE(N,P,I,A,c##N,const) \ +#define DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES2(MANAGED_TYPE,PREFIX) \ + DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES3(MANAGED_TYPE,PREFIX##ptr); \ + DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES3(MANAGED_TYPE,PREFIX##ptridx) \ + +#define DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES(P,N) \ + DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES2(P,N); \ + DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES2(P,c##N) \ diff --git a/common/main/object.h b/common/main/object.h index 7d95acc05..e7a8d2f1d 100644 --- a/common/main/object.h +++ b/common/main/object.h @@ -467,10 +467,10 @@ struct obj_position #define Highest_object_index (Objects.get_count() - 1) -DEFINE_VALPTRIDX_SUBTYPE(obj, object, objnum_t, Objects); - namespace dsx { +DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES(object, obj); + static inline uint8_t get_hostage_id(const object &o) { return o.id; diff --git a/common/main/segment.h b/common/main/segment.h index 48522df26..de70ce794 100644 --- a/common/main/segment.h +++ b/common/main/segment.h @@ -209,7 +209,7 @@ struct group #define Highest_segment_index (Segments.get_count() - 1) namespace dsx { -DEFINE_VALPTRIDX_SUBTYPE(seg, segment, segnum_t, Segments); +DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES(segment, seg); } #endif diff --git a/common/main/switch.h b/common/main/switch.h index 86b71846d..19cb70e77 100644 --- a/common/main/switch.h +++ b/common/main/switch.h @@ -157,7 +157,7 @@ struct trigger : public prohibit_void_ptr }; DXX_VALPTRIDX_DECLARE_GLOBAL_SUBTYPE(trigger, trg, Triggers, MAX_TRIGGERS); -DEFINE_VALPTRIDX_SUBTYPE(trg, trigger, trgnum_t, Triggers); +DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES(trigger, trg); } diff --git a/common/main/wall.h b/common/main/wall.h index 4551c65f0..b797a6537 100644 --- a/common/main/wall.h +++ b/common/main/wall.h @@ -166,7 +166,7 @@ struct cloaking_wall : public prohibit_void_ptr }; #endif -DEFINE_VALPTRIDX_SUBTYPE(wall, wall, wallnum_t, Walls); +DXX_VALPTRIDX_DEFINE_GLOBAL_FACTORIES(wall, wall); struct wclip : public prohibit_void_ptr {