From 892f9ffcc33b61887e314340cecfb846b603eff0 Mon Sep 17 00:00:00 2001 From: Xottab-DUTY Date: Thu, 10 Aug 2017 16:35:28 +0500 Subject: [PATCH] Replace DEFINE_* macro with inplace type alias (Part 2) Thank to Im-Dex. From commit: https://github.com/Im-dex/xray-162/commit/9107297c025f788c7912ac82de46af070e68bf1b --- src/xrAICore/Navigation/game_graph_space.h | 2 +- src/xrEngine/Stats.cpp | 4 +- src/xrEngine/editor_environment_manager.cpp | 4 +- src/xrEngine/xr_collide_form.cpp | 6 +- src/xrEngine/xr_collide_form.h | 6 +- src/xrEngine/xr_efflensflare.cpp | 16 +- src/xrEngine/xr_efflensflare.h | 4 +- src/xrParticles/particle_actions.h | 22 +- src/xrParticles/particle_manager.h | 4 +- src/xrPhysics/PHActorCharacter.h | 4 +- src/xrPhysics/PHDefs.h | 6 +- src/xrPhysics/PHFracture.cpp | 4 +- src/xrPhysics/PHFracture.h | 21 +- src/xrPhysics/PHGeometryOwner.h | 6 +- src/xrPhysics/PHImpact.h | 2 +- src/xrPhysics/PHMoveStorage.h | 22 +- src/xrPhysics/PHObject.cpp | 6 +- src/xrPhysics/PHObject.h | 2 +- src/xrPhysics/PHShell.cpp | 292 +++++++++----------- src/xrPhysics/PHShell.h | 3 +- src/xrPhysics/PHShellActivate.cpp | 52 ++-- src/xrPhysics/PHShellNetState.cpp | 14 +- src/xrPhysics/PHShellSplitter.cpp | 54 ++-- src/xrPhysics/PHShellSplitter.h | 9 +- src/xrPhysics/PhysicsShell.cpp | 6 +- src/xrPhysics/PhysicsShell.h | 4 +- src/xrPhysics/ShellHit.cpp | 2 +- src/xrServerEntities/InfoPortionDefs.h | 8 +- src/xrServerEntities/ItemListTypes.h | 2 +- src/xrServerEntities/PHNetState.cpp | 2 +- src/xrServerEntities/PHNetState.h | 3 +- src/xrServerEntities/PropertiesListTypes.h | 18 +- src/xrServerEntities/ShapeData.h | 4 +- src/xrServerEntities/alife_space.h | 19 +- src/xrServerEntities/gametype_chooser.h | 2 +- src/xrServerEntities/smart_cast_impl1.h | 28 +- src/xrServerEntities/xrServer_Space.h | 10 +- src/xrSound/Sound.h | 5 +- src/xrSound/SoundRender_Environment.cpp | 12 +- src/xrSound/SoundRender_Environment.h | 4 +- 40 files changed, 325 insertions(+), 369 deletions(-) diff --git a/src/xrAICore/Navigation/game_graph_space.h b/src/xrAICore/Navigation/game_graph_space.h index 4b898c2f4fa..a13f295cada 100644 --- a/src/xrAICore/Navigation/game_graph_space.h +++ b/src/xrAICore/Navigation/game_graph_space.h @@ -148,5 +148,5 @@ struct STerrainPlace svector<_LOCATION_ID, LOCATION_TYPE_COUNT> tMask; }; -DEFINE_VECTOR(STerrainPlace, TERRAIN_VECTOR, TERRAIN_IT); +using TERRAIN_VECTOR = xr_vector; } diff --git a/src/xrEngine/Stats.cpp b/src/xrEngine/Stats.cpp index 499ed5bb0b9..8638e87631e 100644 --- a/src/xrEngine/Stats.cpp +++ b/src/xrEngine/Stats.cpp @@ -217,8 +217,8 @@ void CStats::OnRender() { CSound_stats_ext snd_stat_ext; ::Sound->statistic(0, &snd_stat_ext); - CSound_stats_ext::item_vec_it _I = snd_stat_ext.items.begin(); - CSound_stats_ext::item_vec_it _E = snd_stat_ext.items.end(); + auto _I = snd_stat_ext.items.begin(); + auto _E = snd_stat_ext.items.end(); for (; _I != _E; _I++) { const CSound_stats_ext::SItem& item = *_I; diff --git a/src/xrEngine/editor_environment_manager.cpp b/src/xrEngine/editor_environment_manager.cpp index 92698a1e7e2..40cd3c93a16 100644 --- a/src/xrEngine/editor_environment_manager.cpp +++ b/src/xrEngine/editor_environment_manager.cpp @@ -111,8 +111,8 @@ void manager::load_weathers() m_weathers->load(); // sorting weather envs - EnvsMapIt _I = WeatherCycles.begin(); - EnvsMapIt _E = WeatherCycles.end(); + auto _I = WeatherCycles.begin(); + auto _E = WeatherCycles.end(); for (; _I != _E; _I++) { R_ASSERT3(_I->second.size() > 1, "Environment in weather must >=2", *_I->first); diff --git a/src/xrEngine/xr_collide_form.cpp b/src/xrEngine/xr_collide_form.cpp index 75676cbd205..2faf1bd3ad5 100644 --- a/src/xrEngine/xr_collide_form.cpp +++ b/src/xrEngine/xr_collide_form.cpp @@ -47,7 +47,7 @@ void CCF_Skeleton::SElement::center(Fvector& center) const bool pred_find_elem(const CCF_Skeleton::SElement& E, u16 elem) { return E.elem_id < elem; } bool CCF_Skeleton::_ElementCenter(u16 elem_id, Fvector& e_center) { - ElementVecIt it = std::lower_bound(elements.begin(), elements.end(), elem_id, pred_find_elem); + auto it = std::lower_bound(elements.begin(), elements.end(), elem_id, pred_find_elem); if (it->elem_id == elem_id) { it->center(e_center); @@ -132,7 +132,7 @@ void CCF_Skeleton::BuildState() } } - for (ElementVecIt I = elements.begin(); I != elements.end(); I++) + for (auto I = elements.begin(); I != elements.end(); I++) { if (!I->valid()) continue; @@ -241,7 +241,7 @@ BOOL CCF_Skeleton::_RayQuery(const collide::ray_defs& Q, collide::rq_results& R) } BOOL bHIT = FALSE; - for (ElementVecIt I = elements.begin(); I != elements.end(); I++) + for (auto I = elements.begin(); I != elements.end(); I++) { if (!I->valid()) continue; diff --git a/src/xrEngine/xr_collide_form.h b/src/xrEngine/xr_collide_form.h index 25d695469f5..c1f4cbab070 100644 --- a/src/xrEngine/xr_collide_form.h +++ b/src/xrEngine/xr_collide_form.h @@ -90,7 +90,6 @@ class ENGINE_API ICollisionForm IGameObject* owner; // владелец u32 dwQueryID; -protected: Fbox bv_box; // (Local) BBox объекта Fsphere bv_sphere; // (Local) Sphere private: @@ -134,13 +133,12 @@ class ENGINE_API CCF_Skeleton : public ICollisionForm u16 type; u16 elem_id; - public: SElement() : elem_id(u16(-1)), type(0) {} SElement(u16 id, u16 t) : elem_id(id), type(t) {} BOOL valid() const { return (elem_id != (u16(-1))) && (type != 0); } void center(Fvector& center) const; }; - DEFINE_VECTOR(SElement, ElementVec, ElementVecIt); + using ElementVec = xr_vector; private: u64 vis_mask; @@ -169,7 +167,6 @@ class ENGINE_API CCF_Skeleton : public ICollisionForm class ENGINE_API CCF_EventBox : public ICollisionForm { -private: Fplane Planes[6]; public: @@ -200,7 +197,6 @@ class ENGINE_API CCF_Shape : public ICollisionForm }; xr_vector shapes; -public: CCF_Shape(IGameObject* _owner); virtual BOOL _RayQuery(const collide::ray_defs& Q, collide::rq_results& R); diff --git a/src/xrEngine/xr_efflensflare.cpp b/src/xrEngine/xr_efflensflare.cpp index dbf4927bfc5..43e670c72e9 100644 --- a/src/xrEngine/xr_efflensflare.cpp +++ b/src/xrEngine/xr_efflensflare.cpp @@ -120,12 +120,12 @@ void CLensFlareDescriptor::OnDeviceCreate() // shaders m_Gradient.m_pRender->CreateShader(*m_Gradient.shader, *m_Gradient.texture); m_Source.m_pRender->CreateShader(*m_Source.shader, *m_Source.texture); - for (FlareIt it = m_Flares.begin(); it != m_Flares.end(); it++) + for (auto it = m_Flares.begin(); it != m_Flares.end(); it++) it->m_pRender->CreateShader(*it->shader, *it->texture); /* m_Gradient.hShader = CreateShader (*m_Gradient.texture,*m_Gradient.shader); m_Source.hShader = CreateShader (*m_Source.texture,*m_Source.shader); - for (FlareIt it=m_Flares.begin(); it!=m_Flares.end(); it++) it->hShader = CreateShader(*it->texture,*it->shader); + for (auto it=m_Flares.begin(); it!=m_Flares.end(); it++) it->hShader = CreateShader(*it->texture,*it->shader); */ } @@ -134,12 +134,12 @@ void CLensFlareDescriptor::OnDeviceDestroy() // shaders m_Gradient.m_pRender->DestroyShader(); m_Source.m_pRender->DestroyShader(); - for (FlareIt it = m_Flares.begin(); it != m_Flares.end(); it++) + for (auto it = m_Flares.begin(); it != m_Flares.end(); it++) it->m_pRender->DestroyShader(); /* m_Gradient.hShader.destroy (); m_Source.hShader.destroy (); - for (FlareIt it=m_Flares.begin(); it!=m_Flares.end(); it++) it->hShader.destroy(); + for (auto it=m_Flares.begin(); it!=m_Flares.end(); it++) it->hShader.destroy(); */ } @@ -552,7 +552,7 @@ void CLensFlare::Render(BOOL bSun, BOOL bFlares, BOOL bGradient) vecDx.normalize (vecAxis); vecDy.crossproduct (vecDx, vecDir); if (m_Current->m_Flags.is(CLensFlareDescriptor::flFlare)){ - for (CLensFlareDescriptor::FlareIt it=m_Current->m_Flares.begin(); it!=m_Current->m_Flares.end(); it++){ + for (CLensFlareDescriptor::auto it=m_Current->m_Flares.begin(); it!=m_Current->m_Flares.end(); it++){ CLensFlareDescriptor::SFlare& F = *it; vec.mul (vecAxis, F.fPosition); vec.add (vecCenter); @@ -608,7 +608,7 @@ shared_str CLensFlare::AppendDef(CEnvironment& environment, CInifile* pIni, LPCS { if (!sect || (0 == sect[0])) return ""; - for (LensFlareDescIt it = m_Palette.begin(); it != m_Palette.end(); it++) + for (auto it = m_Palette.begin(); it != m_Palette.end(); it++) if (0 == xr_strcmp(*(*it)->section, sect)) return sect; @@ -623,14 +623,14 @@ void CLensFlare::OnDeviceCreate() m_pRender->OnDeviceCreate(); // palette - for (LensFlareDescIt it = m_Palette.begin(); it != m_Palette.end(); it++) + for (auto it = m_Palette.begin(); it != m_Palette.end(); it++) (*it)->OnDeviceCreate(); } void CLensFlare::OnDeviceDestroy() { // palette - for (LensFlareDescIt it = m_Palette.begin(); it != m_Palette.end(); it++) + for (auto it = m_Palette.begin(); it != m_Palette.end(); it++) (*it)->OnDeviceDestroy(); // VS diff --git a/src/xrEngine/xr_efflensflare.h b/src/xrEngine/xr_efflensflare.h index 7be2a66f1c5..fc5ad243d8b 100644 --- a/src/xrEngine/xr_efflensflare.h +++ b/src/xrEngine/xr_efflensflare.h @@ -23,11 +23,13 @@ class ENGINE_API CLensFlareDescriptor // ref_shader hShader; SFlare() { fOpacity = fRadius = fPosition = 0; } }; + struct SSource : public SFlare { BOOL ignore_color; }; - DEFINE_VECTOR(SFlare, FlareVec, FlareIt); + using FlareVec = xr_vector; + FlareVec m_Flares; enum diff --git a/src/xrParticles/particle_actions.h b/src/xrParticles/particle_actions.h index a631e3e8354..94b06203d30 100644 --- a/src/xrParticles/particle_actions.h +++ b/src/xrParticles/particle_actions.h @@ -21,7 +21,9 @@ struct PARTICLES_API ParticleAction virtual void Load(IReader& F) = 0; virtual void Save(IWriter& F) = 0; }; -DEFINE_VECTOR(ParticleAction*, PAVec, PAVecIt); +using PAVec = xr_vector; +using PAVecIt = PAVec::iterator; + class ParticleActions { PAVec actions; @@ -34,23 +36,27 @@ class ParticleActions m_bLocked = false; } ~ParticleActions() { clear(); } - IC void clear() + + void clear() { R_ASSERT(!m_bLocked); for (PAVecIt it = actions.begin(); it != actions.end(); it++) xr_delete(*it); actions.clear(); } - IC void append(ParticleAction* pa) + + void append(ParticleAction* pa) { R_ASSERT(!m_bLocked); actions.push_back(pa); } - IC bool empty() { return actions.empty(); } - IC PAVecIt begin() { return actions.begin(); } - IC PAVecIt end() { return actions.end(); } - IC int size() { return actions.size(); } - IC void resize(int cnt) + + bool empty() { return actions.empty(); } + PAVecIt begin() { return actions.begin(); } + PAVecIt end() { return actions.end(); } + int size() { return actions.size(); } + + void resize(int cnt) { R_ASSERT(!m_bLocked); actions.resize(cnt); diff --git a/src/xrParticles/particle_manager.h b/src/xrParticles/particle_manager.h index 1494026ea72..0309fd9d508 100644 --- a/src/xrParticles/particle_manager.h +++ b/src/xrParticles/particle_manager.h @@ -10,8 +10,8 @@ class CParticleManager : public IParticleManager { // These are static because all threads access the same effects. // All accesses to these should be locked. - DEFINE_VECTOR(ParticleEffect*, ParticleEffectVec, ParticleEffectVecIt); - DEFINE_VECTOR(ParticleActions*, ParticleActionsVec, ParticleActionsVecIt); + using ParticleEffectVec = xr_vector; + using ParticleActionsVec = xr_vector; ParticleEffectVec effect_vec; ParticleActionsVec m_alist_vec; diff --git a/src/xrPhysics/PHActorCharacter.h b/src/xrPhysics/PHActorCharacter.h index 82fda5d1db0..e4285ed305a 100644 --- a/src/xrPhysics/PHActorCharacter.h +++ b/src/xrPhysics/PHActorCharacter.h @@ -74,7 +74,9 @@ struct TPHCharacterRestrictor : public SPHCharacterRestrictor } } }; -DEFINE_VECTOR(SPHCharacterRestrictor*, RESRICTORS_V, RESTRICTOR_I); +using RESRICTORS_V = xr_vector; +using RESTRICTOR_I = RESRICTORS_V::iterator; + // typedef SPHCharacterRestrictor* RESRICTORS_V[2]; // typedef SPHCharacterRestrictor** RESTRICTOR_I; IC RESTRICTOR_I begin(RESRICTORS_V& v) diff --git a/src/xrPhysics/PHDefs.h b/src/xrPhysics/PHDefs.h index f534d217840..338ffcb65ab 100644 --- a/src/xrPhysics/PHDefs.h +++ b/src/xrPhysics/PHDefs.h @@ -9,10 +9,10 @@ class CShellSplitInfo; typedef std::pair shell_root; -DEFINE_VECTOR(CPHElement*, ELEMENT_STORAGE, ELEMENT_I) +using ELEMENT_STORAGE = xr_vector; typedef xr_vector::const_iterator ELEMENT_CI; -DEFINE_VECTOR(CPHJoint*, JOINT_STORAGE, JOINT_I) -DEFINE_VECTOR(shell_root, PHSHELL_PAIR_VECTOR, SHELL_PAIR_I) +using JOINT_STORAGE = xr_vector; +using PHSHELL_PAIR_VECTOR = xr_vector; typedef xr_vector::reverse_iterator SHELL_PAIR_RI; typedef xr_vector::reverse_iterator ELEMENT_RI; diff --git a/src/xrPhysics/PHFracture.cpp b/src/xrPhysics/PHFracture.cpp index 5f5a7dd4fe3..bf8834f0665 100644 --- a/src/xrPhysics/PHFracture.cpp +++ b/src/xrPhysics/PHFracture.cpp @@ -27,7 +27,7 @@ CPHFracturesHolder::~CPHFracturesHolder() } void CPHFracturesHolder::ApplyImpactsToElement(CPHElement* E) { - PH_IMPACT_I i = m_impacts.begin(), e = m_impacts.end(); + auto i = m_impacts.begin(), e = m_impacts.end(); BOOL ac_state = E->isActive(); // E->bActive=true; E->m_flags.set(CPHElement::flActive, TRUE); @@ -423,7 +423,7 @@ bool CPHFracture::Update(CPHElement* element) } } - PH_IMPACT_I i_i = impacts.begin(), i_e = impacts.end(); + auto i_i = impacts.begin(), i_e = impacts.end(); for (; i_i != i_e; i_i++) { u16 geom = i_i->geom; diff --git a/src/xrPhysics/PHFracture.h b/src/xrPhysics/PHFracture.h index 89f46be77a1..95c4a8886da 100644 --- a/src/xrPhysics/PHFracture.h +++ b/src/xrPhysics/PHFracture.h @@ -11,7 +11,7 @@ class CPHFracture; class CPHElement; -DEFINE_VECTOR(dJointFeedback, CFEEDBACK_STORAGE, CFEEDBACK_I) +using CFEEDBACK_STORAGE = xr_vector; IC void sub_diapasones(u16& from1, u16& to1, const u16& from0, const u16& to0); @@ -20,10 +20,11 @@ class CShellSplitInfo friend class CPHFracturesHolder; friend class CPHShellSplitterHolder; friend class CPHElement; - IC bool HaveElements() { return m_end_el_num != m_start_el_num; } - IC bool HaveJoints() { return m_start_jt_num != m_end_jt_num; } + bool HaveElements() { return m_end_el_num != m_start_el_num; } + bool HaveJoints() { return m_start_jt_num != m_end_jt_num; } + public: - IC void sub_diapasone(const CShellSplitInfo& sub) + void sub_diapasone(const CShellSplitInfo& sub) { sub_diapasones(m_start_el_num, m_end_el_num, sub.m_start_el_num, sub.m_end_el_num); sub_diapasones(m_start_jt_num, m_end_jt_num, sub.m_start_jt_num, sub.m_end_jt_num); @@ -57,7 +58,7 @@ class CPHFracture : public CShellSplitInfo public: bool Update(CPHElement* element); - IC bool Breaked() { return m_breaked; } + bool Breaked() { return m_breaked; } void SetMassParts(const dMass& first, const dMass& second); void MassSetZerro(); void MassAddToFirst(const dMass& m); @@ -71,11 +72,11 @@ class CPHFracture : public CShellSplitInfo void MassUnsplitFromFirstToSecond(const dMass& m); }; -DEFINE_VECTOR(CPHFracture, FRACTURE_STORAGE, FRACTURE_I) -typedef std::pair element_fracture; -typedef xr_vector::reverse_iterator ELEMENT_PAIR_RI; -typedef xr_vector::reverse_iterator FRACTURE_RI; -DEFINE_VECTOR(element_fracture, ELEMENT_PAIR_VECTOR, ELEMENT_PAIR_I) +using FRACTURE_STORAGE = xr_vector; +using FRACTURE_I = FRACTURE_STORAGE::iterator; +using FRACTURE_RI = FRACTURE_STORAGE::reverse_iterator; +using element_fracture = std::pair; +using ELEMENT_PAIR_VECTOR = xr_vector; class CPHFracturesHolder // stored in CPHElement { diff --git a/src/xrPhysics/PHGeometryOwner.h b/src/xrPhysics/PHGeometryOwner.h index 61d8c57e884..e2576b1ddaf 100644 --- a/src/xrPhysics/PHGeometryOwner.h +++ b/src/xrPhysics/PHGeometryOwner.h @@ -3,8 +3,10 @@ #include "Geometry.h" #include "xrEngine/GameMtlLib.h" -DEFINE_VECTOR(CODEGeom*, GEOM_STORAGE, GEOM_I) -typedef xr_vector::const_iterator GEOM_CI; +using GEOM_STORAGE = xr_vector; +using GEOM_I = GEOM_STORAGE::iterator; +using GEOM_CI = GEOM_STORAGE::const_iterator; + struct SBoneShape; class IKinematics; diff --git a/src/xrPhysics/PHImpact.h b/src/xrPhysics/PHImpact.h index fc8e6084f61..9059a0e6726 100644 --- a/src/xrPhysics/PHImpact.h +++ b/src/xrPhysics/PHImpact.h @@ -13,6 +13,6 @@ struct SPHImpact geom = root_geom; } }; -DEFINE_VECTOR(SPHImpact, PH_IMPACT_STORAGE, PH_IMPACT_I) +using PH_IMPACT_STORAGE = xr_vector; #endif diff --git a/src/xrPhysics/PHMoveStorage.h b/src/xrPhysics/PHMoveStorage.h index 627b2e296b6..cb1d84a78fb 100644 --- a/src/xrPhysics/PHMoveStorage.h +++ b/src/xrPhysics/PHMoveStorage.h @@ -10,20 +10,24 @@ class CPHPositionsPairs public: CPHPositionsPairs(GEOM_I i) { geom = i; } void Positions(const Fvector*& p0, const Fvector*& p1); - IC CPHPositionsPairs& operator++() + + CPHPositionsPairs& operator++() { ++geom; return *this; } - IC dGeomID dGeom() { return (*geom)->geometry_transform(); } - IC CPHPositionsPairs& operator++(int) + + dGeomID dGeom() { return (*geom)->geometry_transform(); } + + CPHPositionsPairs& operator++(int) { geom++; return *this; } - IC CPHPositionsPairs& operator=(const CPHPositionsPairs& right) { geom = right.geom; } - IC bool operator==(const CPHPositionsPairs& right) const { return geom == right.geom; } - IC bool operator!=(const CPHPositionsPairs& right) const { return geom != right.geom; } + + CPHPositionsPairs& operator=(const CPHPositionsPairs& right) { geom = right.geom; } + bool operator==(const CPHPositionsPairs& right) const { return geom == right.geom; } + bool operator!=(const CPHPositionsPairs& right) const { return geom != right.geom; } }; class CPHMoveStorage @@ -32,9 +36,9 @@ class CPHMoveStorage public: typedef CPHPositionsPairs iterator; - IC iterator begin() { return CPHPositionsPairs(m_trace_geometries.begin()); } - IC iterator end() { return CPHPositionsPairs(m_trace_geometries.end()); } - IC bool empty() const { return m_trace_geometries.empty(); } + iterator begin() { return CPHPositionsPairs(m_trace_geometries.begin()); } + iterator end() { return CPHPositionsPairs(m_trace_geometries.end()); } + bool empty() const { return m_trace_geometries.empty(); } void add(CODEGeom* g) { m_trace_geometries.push_back(g); } void clear() { m_trace_geometries.clear(); } }; diff --git a/src/xrPhysics/PHObject.cpp b/src/xrPhysics/PHObject.cpp index c45e74ab8e5..0c0dc9d4a34 100644 --- a/src/xrPhysics/PHObject.cpp +++ b/src/xrPhysics/PHObject.cpp @@ -113,7 +113,7 @@ void CPHObject::Collide() #endif qResultVec& result = ph_world->r_spatial; - qResultIt i = result.begin(), e = result.end(); + auto i = result.begin(), e = result.end(); for (; i != e; ++i) { CPHObject* obj2 = smart_cast(*i); @@ -137,7 +137,7 @@ void CPHObject::CollideDynamics() { g_SpatialSpacePhysic->q_box(ph_world->r_spatial, 0, STYPE_PHYSIC, spatial.sphere.P, AABB); qResultVec& result = ph_world->r_spatial; - qResultIt i = result.begin(), e = result.end(); + auto i = result.begin(), e = result.end(); for (; i != e; ++i) { CPHObject* obj2 = smart_cast(*i); @@ -152,7 +152,7 @@ void CPHObject::reinit_single() { IslandReinit(); qResultVec& result = ph_world->r_spatial; - qResultIt i = result.begin(), e = result.end(); + auto i = result.begin(), e = result.end(); for (; i != e; ++i) { CPHObject* obj = smart_cast(*i); diff --git a/src/xrPhysics/PHObject.h b/src/xrPhysics/PHObject.h index 6a1e20bc060..3985f1de905 100644 --- a/src/xrPhysics/PHObject.h +++ b/src/xrPhysics/PHObject.h @@ -7,7 +7,7 @@ typedef u32 CLClassBits; typedef u32 CLBits; class SpatialBase; -DEFINE_VECTOR(ISpatial*, qResultVec, qResultIt) +using qResultVec = xr_vector; class CPHObject; class CPHUpdateObject; class CPHMoveStorage; diff --git a/src/xrPhysics/PHShell.cpp b/src/xrPhysics/PHShell.cpp index a4495710a63..ab86ca55511 100644 --- a/src/xrPhysics/PHShell.cpp +++ b/src/xrPhysics/PHShell.cpp @@ -42,7 +42,7 @@ IC bool PhOutOfBoundaries(const Fvector& v) { return v.y < phBoundaries.y1; } CPHShell::~CPHShell() { - m_pKinematics = 0; + m_pKinematics = nullptr; VERIFY(!isActive()); xr_vector::iterator i; @@ -64,12 +64,12 @@ CPHShell::CPHShell() m_flags.assign(0); m_flags.set(flActivating, FALSE); m_flags.set(flActive, FALSE); - m_space = NULL; - m_pKinematics = NULL; - m_spliter_holder = NULL; + m_space = nullptr; + m_pKinematics = nullptr; + m_spliter_holder = nullptr; m_object_in_root.identity(); m_active_count = 0; - m_pPhysicsShellAnimatorC = NULL; + m_pPhysicsShellAnimatorC = nullptr; } void CPHShell::EnableObject(CPHObject* obj) @@ -96,9 +96,8 @@ void CPHShell::DisableObject() void CPHShell::DisableCharacterCollision() { CPHCollideValidator::SetCharacterClassNotCollide(*this); } void CPHShell::Disable() { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); DisableObject(); for (; i != e; ++i) { @@ -137,30 +136,27 @@ void CPHShell::vis_update_deactivate() } void CPHShell::setDensity(float M) { - ELEMENT_I i; - // float volume=0.f; - // for(i=elements.begin();elements.end() != i;++i) volume+=(*i)->get_volume(); + //float volume = 0.f; + //for (auto i = elements.begin(); elements.end() != i; ++i) + // volume += (*i)->get_volume(); - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->setDensity(M); } void CPHShell::setMass(float M) { - ELEMENT_I i; float volume = 0.f; - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) volume += (*i)->get_volume(); - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->setMass((*i)->get_volume() / volume * M); } void CPHShell::setMass1(float M) { - ELEMENT_I i; - - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->setMass(M / elements.size()); } @@ -175,9 +171,7 @@ float CPHShell::getMass() { float m = 0.f; - ELEMENT_I i; - - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) m += (*i)->getMass(); return m; @@ -192,9 +186,7 @@ float CPHShell::getVolume() { float v = 0.f; - ELEMENT_I i; - - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) v += (*i)->getVolume(); return v; @@ -203,7 +195,7 @@ float CPHShell::getVolume() float CPHShell::getDensity() { return getMass() / getVolume(); } void CPHShell::PhDataUpdate(dReal step) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); bool disable = true; for (; e != i; ++i) { @@ -232,7 +224,7 @@ void CPHShell::PhDataUpdate(dReal step) void CPHShell::PhTune(dReal step) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; e != i; ++i) (*i)->PhTune(step); } @@ -243,8 +235,8 @@ void CPHShell::Update() return; if (m_flags.test(flActivating)) m_flags.set(flActivating, FALSE); - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->Update(); mXFORM.set((*elements.begin())->mXFORM); @@ -256,14 +248,14 @@ void CPHShell::UnFreeze() { CPHObject::UnFreeze(); } void CPHShell::FreezeContent() { CPHObject::FreezeContent(); - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; e != i; ++i) (*i)->Freeze(); } void CPHShell::UnFreezeContent() { CPHObject::UnFreezeContent(); - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; e != i; ++i) (*i)->UnFreeze(); } @@ -271,11 +263,11 @@ void CPHShell::applyForce(const Fvector& dir, float val) { if (!isActive()) return; - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); val /= getMass(); for (; e != i; ++i) (*i)->applyForce(dir, val * (*i)->getMass()); - EnableObject(0); + EnableObject(nullptr); }; void CPHShell::applyForce(float x, float y, float z) { @@ -293,14 +285,14 @@ void CPHShell::applyImpulse(const Fvector& dir, float val) if (!isActive()) return; (*elements.begin())->applyImpulse(dir, val); - EnableObject(0); + EnableObject(nullptr); }; void CPHShell::applyImpulseTrace(const Fvector& pos, const Fvector& dir, float val) { if (!isActive()) return; (*elements.begin())->applyImpulseTrace(pos, dir, val, 0); - EnableObject(0); + EnableObject(nullptr); } void CPHShell::applyImpulseTrace(const Fvector& pos, const Fvector& dir, float val, const u16 id) @@ -313,7 +305,7 @@ void CPHShell::applyImpulseTrace(const Fvector& pos, const Fvector& dir, float v return; ((CPhysicsElement*)instance.callback_param())->applyImpulseTrace(pos, dir, val, id); - EnableObject(0); + EnableObject(nullptr); } CPhysicsElement* CPHShell::get_Element(const shared_str& bone_name) @@ -358,20 +350,20 @@ CPhysicsElement* CPHShell::get_Element(u16 bone_id) } } - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; e != i; ++i) if ((*i)->m_SelfID == bone_id) return (CPhysicsElement*)(*i); - return NULL; + return nullptr; } CPhysicsJoint* CPHShell::get_Joint(u16 bone_id) { - JOINT_I i = joints.begin(), e = joints.end(); + auto i = joints.begin(), e = joints.end(); for (; e != i; i++) if ((*i)->BoneID() == bone_id) return (CPhysicsJoint*)(*i); - return NULL; + return nullptr; } CPhysicsJoint* CPHShell::get_Joint(const shared_str& bone_name) { @@ -427,7 +419,7 @@ void CPHShell::StataticRootBonesCallBack(CBoneInstance* B) void CPHShell::SetTransform(const Fmatrix& m0, motion_history_state history_state) { mXFORM.set(m0); - ELEMENT_I i = elements.begin(); + auto i = elements.begin(); for (; elements.end() != i; ++i) { (*i)->SetTransform(m0, history_state); @@ -440,13 +432,12 @@ void CPHShell::Enable() if (!isActive()) return; - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); // if(dBodyIsEnabled((*i)->get_body())) return; for (; i != e; ++i) (*i)->Enable(); - EnableObject(0); + EnableObject(nullptr); } void CPHShell::set_PhysicsRefObject(IPhysicsShellHolder* ref_object) @@ -455,8 +446,8 @@ void CPHShell::set_PhysicsRefObject(IPhysicsShellHolder* ref_object) return; if ((*elements.begin())->PhysicsRefObject() == ref_object) return; - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + + for (auto i = elements.begin(); elements.end() != i; ++i) { (*i)->set_PhysicsRefObject(ref_object); } @@ -464,81 +455,70 @@ void CPHShell::set_PhysicsRefObject(IPhysicsShellHolder* ref_object) void CPHShell::set_ContactCallback(ContactCallbackFun* callback) { - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->set_ContactCallback(callback); } void CPHShell::set_ObjectContactCallback(ObjectContactCallbackFun* callback) { - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->set_ObjectContactCallback(callback); } void CPHShell::add_ObjectContactCallback(ObjectContactCallbackFun* callback) { - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->add_ObjectContactCallback(callback); } void CPHShell::remove_ObjectContactCallback(ObjectContactCallbackFun* callback) { - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->remove_ObjectContactCallback(callback); } void CPHShell::set_CallbackData(void* cd) { - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->set_CallbackData(cd); } void CPHShell::SetPhObjectInElements() { if (!isActive()) return; - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->SetPhObjectInGeomData((CPHObject*)this); } void CPHShell::SetMaterial(LPCSTR m) { - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) - { + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->SetMaterial(m); - } } void CPHShell::SetMaterial(u16 m) { - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) - { + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->SetMaterial(m); - } } void CPHShell::get_LinearVel(Fvector& velocity) const { (*elements.begin())->get_LinearVel(velocity); } void CPHShell::get_AngularVel(Fvector& velocity) const { (*elements.begin())->get_AngularVel(velocity); } void CPHShell::set_LinearVel(const Fvector& velocity) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; i++) (*i)->set_LinearVel(velocity); } void CPHShell::set_AngularVel(const Fvector& velocity) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; i++) (*i)->set_AngularVel(velocity); } void CPHShell::TransformPosition(const Fmatrix& form, motion_history_state history_state) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; i++) (*i)->TransformPosition(form, history_state); } @@ -558,17 +538,16 @@ void CPHShell::SmoothElementsInertia(float k) dMass m_avrg; dReal krc = 1.f - k; dMassSetZero(&m_avrg); - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) - { + + for (auto i = elements.begin(); elements.end() != i; ++i) dMassAdd(&m_avrg, (*i)->getMassTensor()); - } + int n = (int)elements.size(); m_avrg.mass *= k / float(n); for (int j = 0; j < 4 * 3; ++j) m_avrg.I[j] *= k / float(n); - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) { dVector3 tmp; dMass* m = (*i)->getMassTensor(); @@ -585,7 +564,7 @@ void CPHShell::SmoothElementsInertia(float k) void CPHShell::setEquelInertiaForEls(const dMass& M) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) { (*i)->setInertia(M); @@ -594,13 +573,13 @@ void CPHShell::setEquelInertiaForEls(const dMass& M) void CPHShell::addEquelInertiaToEls(const dMass& M) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) { (*i)->addInertia(M); } } -static BONE_P_MAP* spGetingMap = NULL; +static BONE_P_MAP* spGetingMap = nullptr; void CPHShell::build_FromKinematics(IKinematics* K, BONE_P_MAP* p_geting_map) { VERIFY(K); @@ -611,7 +590,7 @@ void CPHShell::build_FromKinematics(IKinematics* K, BONE_P_MAP* p_geting_map) if (!m_spliter_holder) m_spliter_holder = new CPHShellSplitterHolder(this); bool vis_check = false; - AddElementRecursive(0, m_pKinematics->LL_GetBoneRoot(), Fidentity, 0, &vis_check); + AddElementRecursive(nullptr, m_pKinematics->LL_GetBoneRoot(), Fidentity, 0, &vis_check); // R_ASSERT2((*elements.begin())->numberOfGeoms(),"No physics shapes was assigned for model or no shapes in main // root bone!!!"); // SetCallbacks(BonesCallback); @@ -629,23 +608,23 @@ void CPHShell::preBuild_FromKinematics(IKinematics* K, BONE_P_MAP* p_geting_map) if (!m_spliter_holder) m_spliter_holder = new CPHShellSplitterHolder(this); bool vis_check = false; - AddElementRecursive(0, m_pKinematics->LL_GetBoneRoot(), Fidentity, 0, &vis_check); + AddElementRecursive(nullptr, m_pKinematics->LL_GetBoneRoot(), Fidentity, 0, &vis_check); // R_ASSERT2((*elements.begin())->numberOfGeoms(),"No physics shapes was assigned for model or no shapes in main // root bone!!!"); if (m_spliter_holder->isEmpty()) ClearBreakInfo(); - m_pKinematics = 0; + m_pKinematics = nullptr; } void CPHShell::ClearBreakInfo() { { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) (*i)->ClearDestroyInfo(); } { - JOINT_I i = joints.begin(), e = joints.end(); + auto i = joints.begin(), e = joints.end(); for (; i != e; ++i) (*i)->ClearDestroyInfo(); } @@ -687,8 +666,8 @@ void CPHShell::AddElementRecursive( return; } - CPhysicsElement* E = 0; - CPhysicsJoint* J = 0; + CPhysicsElement* E = nullptr; + CPhysicsJoint* J = nullptr; bool breakable = joint_data.ik_flags.test(SJointIKData::flBreakable) && root_e && !(no_physics_shape(bone_data.get_shape()) && joint_data.type == jtRigid); @@ -820,7 +799,7 @@ void CPHShell::AddElementRecursive( if (spGetingMap) { - const BONE_P_PAIR_IT c_iter = spGetingMap->find(id); + const auto c_iter = spGetingMap->find(id); if (spGetingMap->end() != c_iter) { c_iter->second.joint = J; @@ -893,7 +872,7 @@ void CPHShell::ResetCallbacksRecursive(u16 id, u16 element, Flags64& mask) { if ((no_physics_shape(bone_data.get_shape()) || joint_data.type == jtRigid) && element != u16(-1)) { - B.set_callback(bctPhysics, 0, cast_PhysicsElement(elements[element])); + B.set_callback(bctPhysics, nullptr, cast_PhysicsElement(elements[element])); } else { @@ -918,10 +897,10 @@ void CPHShell::EnabledCallbacks(BOOL val) if (val) { SetCallbacks(); - // set callback owervrite in used bones - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + // set callback overwrite in used bones + + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) { CBoneInstance& B = m_pKinematics->LL_GetBoneInstance((*i)->m_SelfID); @@ -952,12 +931,12 @@ CPHElement* get_physics_parent(IKinematics& k, u16 id) return cast_PHElement(B.callback_param()); if (k.LL_GetBoneRoot() == id) - return 0; + return nullptr; id = bone_data.GetParentID(); if (BI_NONE == id) - return 0; + return nullptr; } } static u16 element_position_in_set_calbacks = u16(-1); @@ -980,7 +959,7 @@ void CPHShell::SetCallbacks() { CPHElement* root_e = get_physics_parent(K, id); if (root_e && K.LL_GetBoneVisible(id)) - bi.set_callback(bctPhysics, 0, cast_PhysicsElement(root_e)); + bi.set_callback(bctPhysics, nullptr, cast_PhysicsElement(root_e)); } } }; @@ -1004,7 +983,7 @@ void CPHShell::SetCallbacksRecursive(u16 id, u16 element) { if ((no_physics_shape(bone_data.get_shape()) || joint_data.type == jtRigid) && element != u16(-1)) { - B.set_callback(bctPhysics, 0, cast_PhysicsElement(elements[element])); + B.set_callback(bctPhysics, nullptr, cast_PhysicsElement(elements[element])); } else { @@ -1047,34 +1026,31 @@ void CPHShell::ZeroCallbacksRecursive(u16 id) } void CPHShell::set_DynamicLimits(float l_limit, float w_limit) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->set_DynamicLimits(l_limit, w_limit); } void CPHShell::set_DynamicScales(float l_scale /* =default_l_scale */, float w_scale /* =default_w_scale */) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->set_DynamicScales(l_scale, w_scale); } void CPHShell::set_DisableParams(const SAllDDOParams& params) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->set_DisableParams(params); } void CPHShell::UpdateRoot() { - ELEMENT_I i = elements.begin(); + auto i = elements.begin(); if (!(*i)->isFullActive()) return; @@ -1086,9 +1062,8 @@ void CPHShell::InterpolateGlobalTransform(Fmatrix* m) { // if(!CPHObject::is_active()&&!CPHObject::NetInterpolation()) return; - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->InterpolateGlobalTransform(&(*i)->mXFORM); @@ -1151,11 +1126,10 @@ void CPHShell::ObjectToRootForm(const Fmatrix& form) CPhysicsElement* CPHShell::NearestToPoint(const Fvector& point, NearestToPointCallback* cb /*=0*/) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); float min_distance = dInfinity; - CPHElement* nearest_element = NULL; + CPHElement* nearest_element = nullptr; for (; i != e; ++i) { Fvector tmp; @@ -1177,21 +1151,21 @@ void CPHShell::CreateSpace() { if (!m_space) { - m_space = dSimpleSpaceCreate(0); + m_space = dSimpleSpaceCreate(nullptr); dSpaceSetCleanup(m_space, 0); } } void CPHShell::PassEndElements(u16 from, u16 to, CPHShell* dest) { - ELEMENT_I i_from = elements.begin() + from, e = elements.begin() + to; + auto i_from = elements.begin() + from, e = elements.begin() + to; if (from != to) { if (!dest->elements.empty()) (*i_from)->set_ParentElement(dest->elements.back()); else - (*i_from)->set_ParentElement(NULL); + (*i_from)->set_ParentElement(nullptr); } - for (ELEMENT_I i = i_from; i != e; ++i) + for (auto i = i_from; i != e; ++i) { dGeomID spaced_geom = (*i)->dSpacedGeometry(); if (spaced_geom) // for active elems @@ -1208,8 +1182,8 @@ void CPHShell::PassEndElements(u16 from, u16 to, CPHShell* dest) void CPHShell::PassEndJoints(u16 from, u16 to, CPHShell* dest) { - JOINT_I i_from = joints.begin() + from, e = joints.begin() + to; - JOINT_I i = i_from; + auto i_from = joints.begin() + from, e = joints.begin() + to; + auto i = i_from; for (; i != e; i++) { (*i)->SetShell(dest); @@ -1307,9 +1281,8 @@ void CPHShell::SetJointRootGeom(CPhysicsElement* root_e, CPhysicsJoint* J) void CPHShell::set_ApplyByGravity(bool flag) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->set_ApplyByGravity(flag); } @@ -1327,15 +1300,15 @@ void CPHShell::applyGravityAccel(const Fvector& accel) { if (!isActive()) return; - ELEMENT_I i, e; + Fvector a; a.set(accel); a.mul((float)elements.size()); - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->applyGravityAccel(a); - EnableObject(0); + EnableObject(nullptr); } void CPHShell::PlaceBindToElForms() @@ -1346,17 +1319,15 @@ void CPHShell::PlaceBindToElForms() } void CPHShell::setTorque(const Fvector& torque) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->setTorque(torque); } void CPHShell::setForce(const Fvector& force) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->setForce(force); } @@ -1412,10 +1383,9 @@ void CPHShell::AddTracedGeom(u16 element /*=0*/, u16 geom /*=0*/) } void CPHShell::SetAllGeomTraced() { - ELEMENT_I i, e, b; - b = elements.begin(); - e = elements.end(); - for (i = b; i != e; ++i) + auto b = elements.begin(); + auto e = elements.end(); + for (auto i = b; i != e; ++i) { u16 gn = (*i)->numberOfGeoms(); for (u16 j = 0; j < gn; ++j) @@ -1454,17 +1424,17 @@ void CPHShell::add_Joint(CPhysicsJoint* J) CODEGeom* CPHShell::get_GeomByID(u16 bone_id) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) { CODEGeom* ret = (*i)->GeomByBoneID(bone_id); if (ret) return ret; } - return NULL; + return nullptr; } + void CPHShell::PureStep(float step) { // CPHObject::Island().Step(step); @@ -1510,9 +1480,8 @@ void CPHShell::SetSmall() { CPHCollideValidator::SetClassSmall(*this); } void CPHShell::SetIgnoreSmall() { CPHCollideValidator::SetClassSmallNotCollide(*this); } void CPHShell::CutVelocity(float l_limit, float a_limit) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->CutVelocity(l_limit, a_limit); } @@ -1520,9 +1489,8 @@ void CPHShell::CutVelocity(float l_limit, float a_limit) void CPHShell::ClearRecentlyDeactivated() { ClearCashedTries(); } void CPHShell::ClearCashedTries() { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->clear_cashed_tries(); } @@ -1552,9 +1520,8 @@ void* CPHShell::get_CallbackData() void CPHShell::SetBonesCallbacksOverwrite(bool v) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->SetBoneCallbackOverwrite(v); } @@ -1562,18 +1529,17 @@ void CPHShell::SetBonesCallbacksOverwrite(bool v) void CPHShell::ToAnimBonesPositions(motion_history_state history_state) { VERIFY(PKinematics()); - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->ToBonePos(&PKinematics()->LL_GetBoneInstance((*i)->m_SelfID), history_state); } bool CPHShell::AnimToVelocityState(float dt, float l_limit, float a_limit) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); bool ret = true; for (; i != e; ++i) ret = (*i)->AnimToVel(dt, l_limit, a_limit) && ret; @@ -1582,9 +1548,8 @@ bool CPHShell::AnimToVelocityState(float dt, float l_limit, float a_limit) void CPHShell::SetAnimated(bool v) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->SetAnimated(v); } @@ -1599,26 +1564,23 @@ void CPHShell::AnimatorOnFrame() void CPHShell::dbg_draw_velocity(float scale, u32 color) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->dbg_draw_velocity(scale, color); } void CPHShell::dbg_draw_force(float scale, u32 color) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->dbg_draw_force(scale, color); } void CPHShell::dbg_draw_geometry(float scale, u32 color, Flags32 flags /*= Flags32().assign( 0 )*/) const { - ELEMENT_CI i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->dbg_draw_geometry(scale, color, flags); } diff --git a/src/xrPhysics/PHShell.h b/src/xrPhysics/PHShell.h index 4516c1ac0a8..59a265c1f79 100644 --- a/src/xrPhysics/PHShell.h +++ b/src/xrPhysics/PHShell.h @@ -133,8 +133,7 @@ class CPHShell : public CPhysicsShell, public CPHObject, public cphysics_scripte virtual void setForce(const Fvector& force); virtual void set_JointResistance(float force) { - JOINT_I i; - for (i = joints.begin(); joints.end() != i; ++i) + for (auto i = joints.begin(); joints.end() != i; ++i) { (*i)->SetForce(force); (*i)->SetVelocity(); diff --git a/src/xrPhysics/PHShellActivate.cpp b/src/xrPhysics/PHShellActivate.cpp index 8367e0a14f7..b7d531d03ab 100644 --- a/src/xrPhysics/PHShellActivate.cpp +++ b/src/xrPhysics/PHShellActivate.cpp @@ -7,7 +7,7 @@ #include "PHJointDestroyInfo.h" #include "PHCollideValidator.h" -#include "iphysicsshellholder.h" +#include "IPhysicsShellHolder.h" #include "PhysicsShellAnimator.h" #include "Include/xrRender/Kinematics.h" @@ -35,21 +35,19 @@ void CPHShell::Activate(const Fmatrix& m0, float dt01, const Fmatrix& m2, bool d if (isActive()) return; activate(disable); - // ELEMENT_I i; mXFORM.set(m0); - // for(i=elements.begin();elements.end() != i;++i){ - // (*i)->Activate(m0,dt01, m2, disable); - //} + //for (auto i = elements.begin(); elements.end() != i; ++i) + // (*i)->Activate(m0, dt01, m2, disable); { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) (*i)->Activate(mXFORM, disable); } { - JOINT_I i = joints.begin(), e = joints.end(); + auto i = joints.begin(), e = joints.end(); for (; i != e; ++i) (*i)->Activate(); } @@ -88,23 +86,19 @@ void CPHShell::Activate(const Fmatrix& transform, const Fvector& lin_vel, const return; activate(disable); - ELEMENT_I i; mXFORM.set(transform); - for (i = elements.begin(); elements.end() != i; ++i) - { + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->Activate(transform, lin_vel, ang_vel); - } { - JOINT_I i2 = joints.begin(), e = joints.end(); + auto i2 = joints.begin(), e = joints.end(); for (; i2 != e; ++i2) (*i2)->Activate(); } if (PKinematics()) - { SetCallbacks(); - } + spatial_register(); // bActive=true; // bActivating=true; @@ -128,22 +122,21 @@ void CPHShell::Activate(bool disable, bool not_set_bone_callbacks /*= false*/) IKinematics* K = m_pKinematics; if (not_set_bone_callbacks) m_pKinematics = 0; - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) (*i)->Activate(mXFORM, disable); m_pKinematics = K; } { - JOINT_I i = joints.begin(), e = joints.end(); + auto i = joints.begin(), e = joints.end(); for (; i != e; ++i) (*i)->Activate(); } if (PKinematics() && !not_set_bone_callbacks) - { SetCallbacks(); - } + spatial_register(); m_flags.set(flActivating, TRUE); m_flags.set(flActive, TRUE); @@ -159,15 +152,13 @@ void CPHShell::Build(bool disable /*false*/) m_flags.set(flActive, TRUE); { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) - { (*i)->build(disable); - } } { - JOINT_I i = joints.begin(), e = joints.end(); + auto i = joints.begin(), e = joints.end(); for (; i != e; ++i) (*i)->Create(); } @@ -182,13 +173,13 @@ void CPHShell::RunSimulation(bool place_current_forms /*true*/) dSpaceSetCleanup(m_space, 0); { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); if (place_current_forms) for (; i != e; ++i) (*i)->RunSimulation(mXFORM); } { - JOINT_I i = joints.begin(), e = joints.end(); + auto i = joints.begin(), e = joints.end(); for (; i != e; ++i) (*i)->RunSimulation(); } @@ -203,7 +194,7 @@ void CPHShell::AfterSetActive() PureActivate(); // bActive=true; m_flags.set(flActive, TRUE); - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) (*i)->PresetActive(); } @@ -271,12 +262,10 @@ void CPHShell::Deactivate() DisableObject(); CPHObject::remove_from_recently_deactivated(); - ELEMENT_I i; - for (i = elements.begin(); elements.end() != i; ++i) + for (auto i = elements.begin(); elements.end() != i; ++i) (*i)->Deactivate(); - JOINT_I j; - for (j = joints.begin(); joints.end() != j; ++j) + for (auto j = joints.begin(); joints.end() != j; ++j) (*j)->Deactivate(); if (m_space) @@ -294,9 +283,8 @@ void CPHShell::Deactivate() void CPHShell::ActivatingBonePoses(IKinematics& K) { - ELEMENT_I i, e; - i = elements.begin(); - e = elements.end(); + auto i = elements.begin(); + auto e = elements.end(); for (; i != e; ++i) (*i)->ActivatingPos(K.LL_GetTransform((*i)->m_SelfID)); } diff --git a/src/xrPhysics/PHShellNetState.cpp b/src/xrPhysics/PHShellNetState.cpp index 53409c0a5bc..0dbe58d227e 100644 --- a/src/xrPhysics/PHShellNetState.cpp +++ b/src/xrPhysics/PHShellNetState.cpp @@ -1,13 +1,13 @@ #include "stdafx.h" -#include "physicsshell.h" -#include "phinterpolation.h" -#include "phobject.h" -#include "phworld.h" -#include "phshell.h" +#include "PhysicsShell.h" +#include "PHInterpolation.h" +#include "PHObject.h" +#include "PHWorld.h" +#include "PHShell.h" void CPHShell::net_Import(NET_Packet& P) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) { (*i)->net_Import(P); @@ -16,7 +16,7 @@ void CPHShell::net_Import(NET_Packet& P) void CPHShell::net_Export(NET_Packet& P) { - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); for (; i != e; ++i) { (*i)->net_Export(P); diff --git a/src/xrPhysics/PHShellSplitter.cpp b/src/xrPhysics/PHShellSplitter.cpp index 8b8308073af..48fbb2d03aa 100644 --- a/src/xrPhysics/PHShellSplitter.cpp +++ b/src/xrPhysics/PHShellSplitter.cpp @@ -9,6 +9,7 @@ #include "Include/xrRender/Kinematics.h" #include "PHCollideValidator.h" #include "ph_valid_ode.h" + CPHShellSplitterHolder::CPHShellSplitterHolder(CPHShell* shell) { m_pShell = shell; @@ -31,7 +32,7 @@ shell_root CPHShellSplitterHolder::SplitJoint(u16 aspl) CPHShell* new_shell_desc = smart_cast(new_shell); new_shell_desc->mXFORM.set(m_pShell->mXFORM); new_shell_desc->m_object_in_root.set(m_pShell->m_object_in_root); - SPLITTER_I splitter = m_splitters.begin() + aspl; + auto splitter = m_splitters.begin() + aspl; u16 start_element = splitter->m_element; u16 start_joint = splitter->m_joint; @@ -71,7 +72,7 @@ void CPHShellSplitterHolder::PassEndSplitters( ELEMENT_STORAGE& source_elements = m_pShell->elements; ELEMENT_STORAGE& dest_elements = dest->elements; - ELEMENT_I i_elem = source_elements.begin(), e_elem = source_elements.begin() + spl_inf.m_start_el_num; + auto i_elem = source_elements.begin(), e_elem = source_elements.begin() + spl_inf.m_start_el_num; u16 shift_e = spl_inf.m_end_el_num - spl_inf.m_start_el_num; u16 shift_j = spl_inf.m_end_jt_num - spl_inf.m_start_jt_num; @@ -106,12 +107,12 @@ void CPHShellSplitterHolder::PassEndSplitters( // same for joints JOINT_STORAGE& source_joints = m_pShell->joints; - JOINT_I i_joint = source_joints.begin(), e_joint; + auto i_joint = source_joints.begin(); if (u16(-1) != spl_inf.m_start_jt_num) { R_ASSERT2(source_joints.size() >= spl_inf.m_start_jt_num && source_joints.size() >= spl_inf.m_end_jt_num, "wrong spl_inf"); - e_joint = source_joints.begin() + spl_inf.m_start_jt_num; + auto e_joint = source_joints.begin() + spl_inf.m_start_jt_num; for (; i_joint != e_joint; i_joint++) { CPHJointDestroyInfo* jointDestroyInfo = (*i_joint)->JointDestroyInfo(); @@ -153,7 +154,7 @@ void CPHShellSplitterHolder::PassEndSplitters( } //////correct data in fractures for elements allready added to dest with fractures from source/////// - ELEMENT_I i_dest_elem = dest_elements.begin(), e_dest_elem = dest_elements.end(); + auto i_dest_elem = dest_elements.begin(), e_dest_elem = dest_elements.end(); for (; i_dest_elem != e_dest_elem; ++i_dest_elem) { CPHFracturesHolder* fracturesHolder = (*i_dest_elem)->FracturesHolder(); @@ -177,7 +178,7 @@ void CPHShellSplitterHolder::PassEndSplitters( if (spl_inf.m_end_jt_num != u16(-1)) { - e_joint = source_joints.begin() + spl_inf.m_end_jt_num; + auto e_joint = source_joints.begin() + spl_inf.m_end_jt_num; for (; i_joint != e_joint; ++i_joint) { CPHJointDestroyInfo* jointDestroyInfo = (*i_joint)->JointDestroyInfo(); @@ -212,7 +213,7 @@ void CPHShellSplitterHolder::PassEndSplitters( } } - e_joint = source_joints.end(); + auto e_joint = source_joints.end(); for (; i_joint != e_joint; ++i_joint) { CPHJointDestroyInfo* jointDestroyInfo = (*i_joint)->JointDestroyInfo(); @@ -227,7 +228,7 @@ void CPHShellSplitterHolder::PassEndSplitters( } // at rest!! pass splitters it is very similar passing fractures // correct data for splitters before passed and find start splitter to pass - SPLITTER_I spl_e = m_splitters.end(), spl_i = m_splitters.begin(); + auto spl_e = m_splitters.end(), spl_i = m_splitters.begin(); for (; spl_i != spl_e; ++spl_i) { u16& elem = spl_i->m_element; @@ -235,19 +236,19 @@ void CPHShellSplitterHolder::PassEndSplitters( if (spl_i->m_type == CPHShellSplitter::splElement) { if (elem != u16(-1) && elem >= spl_inf.m_start_el_num) - break; // we at begining + break; // we at beginning } else { if (joint != u16(-1) && joint >= spl_inf.m_start_jt_num) - break; // we at begining + break; // we at beginning } if (elem != u16(-1) && elem > spl_inf.m_end_el_num) elem = elem - shift_e; if (joint != u16(-1) && joint > spl_inf.m_end_jt_num) joint = joint - shift_j; } - SPLITTER_I i_from = spl_i; + auto i_from = spl_i; // correct data for passing splitters and find last splitter to pass for (; spl_i != spl_e; ++spl_i) { @@ -256,12 +257,12 @@ void CPHShellSplitterHolder::PassEndSplitters( if (spl_i->m_type == CPHShellSplitter::splElement) { if (elem != u16(-1) && elem >= spl_inf.m_end_el_num) - break; // we after begining + break; // we after beginning } else { if (joint != u16(-1) && joint >= spl_inf.m_end_jt_num) - break; // we after begining + break; // we after beginning } if (elem != u16(-1)) elem = elem - passed_shift_e; @@ -269,7 +270,7 @@ void CPHShellSplitterHolder::PassEndSplitters( joint = joint - passed_shift_j; } - SPLITTER_I i_to = spl_i; + auto i_to = spl_i; // corect data for all rest splitters for (; spl_i != spl_e; ++spl_i) @@ -287,8 +288,7 @@ void CPHShellSplitterHolder::PassEndSplitters( } static ELEMENT_PAIR_VECTOR new_elements; -DEFINE_VECTOR(Fmatrix, TRANSFORM_VECTOR, TRANSFORM_I) -static TRANSFORM_VECTOR bones_bind_forms; +static xr_vector bones_bind_forms; shell_root CPHShellSplitterHolder::ElementSingleSplit( const element_fracture& split_elem, const CPHElement* source_element) { @@ -300,11 +300,11 @@ shell_root CPHShellSplitterHolder::ElementSingleSplit( const u16 start_joint = split_elem.second.m_start_jt_num; R_ASSERT(_valid(new_shell_last->mXFORM)); const u16 end_joint = split_elem.second.m_end_jt_num; - // it is not right for multiple joints attached to the unsplited part becource all these need to be reattached + // it is not right for multiple joints attached to the unsplitted part because all these need to be reattached if (start_joint != end_joint) { JOINT_STORAGE& joints = m_pShell->joints; - JOINT_I i = joints.begin() + start_joint, e = joints.begin() + end_joint; + auto i = joints.begin() + start_joint, e = joints.begin() + end_joint; for (; i != e; ++i) { CPHJoint* joint = (*i); @@ -377,28 +377,26 @@ shell_root CPHShellSplitterHolder::ElementSingleSplit( IC void correct_diapasones(ELEMENT_PAIR_VECTOR& element_pairs) { - ELEMENT_PAIR_I i, b = element_pairs.begin(), e = element_pairs.end(); + auto b = element_pairs.begin(), e = element_pairs.end(); - for (i = b; i != e; ++i) + for (auto i = b; i != e; ++i) { - ELEMENT_PAIR_I j = i + 1; + auto j = i + 1; for (; j != e; ++j) - { j->second.sub_diapasone(CShellSplitInfo(i->second)); - } } } void CPHShellSplitterHolder::SplitElement(u16 aspl, PHSHELL_PAIR_VECTOR& out_shels) { new_elements.clear(); - SPLITTER_I spl_i = (m_splitters.begin() + aspl); + auto spl_i = (m_splitters.begin() + aspl); CPHElement* E = m_pShell->elements[spl_i->m_element]; E->SplitProcess(new_elements); correct_diapasones(new_elements); - ELEMENT_PAIR_I i = new_elements.begin(), e = new_elements.end(); + auto i = new_elements.begin(), e = new_elements.end(); for (; i != e; ++i) { @@ -444,7 +442,7 @@ void CPHShellSplitterHolder::InitNewShell(CPHShell* shell) void CPHShellSplitterHolder::PhTune(dReal step) { - SPLITTER_I i = m_splitters.begin(), e = m_splitters.end(); + auto i = m_splitters.begin(), e = m_splitters.end(); for (; i != e; ++i) { switch (i->m_type) @@ -463,7 +461,7 @@ void CPHShellSplitterHolder::PhTune(dReal step) } void CPHShellSplitterHolder::PhDataUpdate(dReal step) { - SPLITTER_I i = m_splitters.begin(), e = m_splitters.end(); + auto i = m_splitters.begin(), e = m_splitters.end(); for (; i != e; ++i) { switch (i->m_type) @@ -518,7 +516,7 @@ CPHShellSplitter::CPHShellSplitter(CPHShellSplitter::EType type, u16 element, u1 void CPHShellSplitterHolder::AddToGeomMap(const id_geom& id_rootgeom) { m_geom_root_map.insert(id_rootgeom); } u16 CPHShellSplitterHolder::FindRootGeom(u16 bone_id) { - GEOM_MAP_I iter = m_geom_root_map.find(bone_id); + auto iter = m_geom_root_map.find(bone_id); if (iter == m_geom_root_map.end()) return u16(-1); diff --git a/src/xrPhysics/PHShellSplitter.h b/src/xrPhysics/PHShellSplitter.h index 2cd2fffc934..a5bd6f98a75 100644 --- a/src/xrPhysics/PHShellSplitter.h +++ b/src/xrPhysics/PHShellSplitter.h @@ -8,8 +8,8 @@ class CPHShellSplitter; class CPHShell; class CODEGeom; -typedef std::pair id_geom; -DEFINE_MAP(u16, CODEGeom*, GEOM_MAP, GEOM_MAP_I) +using id_geom = std::pair; +using GEOM_MAP = xr_map; class CPHShellSplitter { @@ -32,8 +32,8 @@ class CPHShellSplitter CPHShellSplitter(); }; -DEFINE_VECTOR(CPHShellSplitter, SPLITTER_STORAGE, SPLITTER_I) -typedef xr_vector::reverse_iterator SPLITTER_RI; +using SPLITTER_STORAGE = xr_vector; +using SPLITTER_RI = xr_vector::reverse_iterator; class CPHShellSplitterHolder : public CPHUpdateObject // call all Fractures and Breakable Joints Updates { @@ -53,6 +53,7 @@ class CPHShellSplitterHolder : public CPHUpdateObject // call all Fractures and void SplitElement(u16 aspl, PHSHELL_PAIR_VECTOR& out_shels); // void PassEndSplitters(const CShellSplitInfo& spl_inf, CPHShell* dest, u16 jt_add_shift, u16 el_add_shift); void InitNewShell(CPHShell* shell); // inits new active shell + public: CPHShellSplitterHolder(CPHShell* shell); virtual ~CPHShellSplitterHolder(); diff --git a/src/xrPhysics/PhysicsShell.cpp b/src/xrPhysics/PhysicsShell.cpp index 055e2b47f82..45db3b85a6c 100644 --- a/src/xrPhysics/PhysicsShell.cpp +++ b/src/xrPhysics/PhysicsShell.cpp @@ -115,7 +115,7 @@ CPhysicsShell* P_build_Shell( else pPhysicsShell = P_build_Shell(obj, not_active_state); - BONE_P_PAIR_IT i = p_bone_map->begin(), e = p_bone_map->end(); + auto i = p_bone_map->begin(), e = p_bone_map->end(); if (i != e) pPhysicsShell->SetPrefereExactIntegration(); for (; i != e; i++) @@ -154,12 +154,12 @@ CPhysicsShell* P_build_Shell(IPhysicsShellHolder* obj, bool not_active_state, U1 bone_map.clear(); CPhysicsShell* pPhysicsShell = 0; if (!fixed_bones.empty()) - for (U16It it = fixed_bones.begin(); it != fixed_bones.end(); it++) + for (auto it = fixed_bones.begin(); it != fixed_bones.end(); it++) bone_map.insert(std::make_pair(*it, physicsBone())); pPhysicsShell = P_build_Shell(obj, not_active_state, &bone_map); // fix bones - BONE_P_PAIR_IT i = bone_map.begin(), e = bone_map.end(); + auto i = bone_map.begin(), e = bone_map.end(); if (i != e) pPhysicsShell->SetPrefereExactIntegration(); for (; i != e; i++) diff --git a/src/xrPhysics/PhysicsShell.h b/src/xrPhysics/PhysicsShell.h index 8f7cf4dc723..bf97aab0d67 100644 --- a/src/xrPhysics/PhysicsShell.h +++ b/src/xrPhysics/PhysicsShell.h @@ -50,8 +50,8 @@ struct physicsBone element = NULL; } }; -DEFINE_MAP(u16, physicsBone, BONE_P_MAP, BONE_P_PAIR_IT); -typedef const BONE_P_MAP::iterator BONE_P_PAIR_CIT; +using BONE_P_MAP = xr_map; +using BONE_P_PAIR_CIT = const BONE_P_MAP::iterator; // ABSTRACT: class CPhysicsBase; extern XRPHYSICS_API void get_box(const CPhysicsBase* shell, const Fmatrix& form, Fvector& sz, Fvector& c); diff --git a/src/xrPhysics/ShellHit.cpp b/src/xrPhysics/ShellHit.cpp index cdfee71a491..fe6efef94c4 100644 --- a/src/xrPhysics/ShellHit.cpp +++ b/src/xrPhysics/ShellHit.cpp @@ -33,7 +33,7 @@ void CPHShell::ExplosionHit(const Fvector& pos, const Fvector& dir, float val, c return; EnableObject(0); // Fvector local_pos;local_pos.set(0.f,0.f,0.f); - ELEMENT_I i = elements.begin(), e = elements.end(); + auto i = elements.begin(), e = elements.end(); float impulse = val / _sqrt(_sqrt((float)elements.size())); for (; i != e; i++) { diff --git a/src/xrServerEntities/InfoPortionDefs.h b/src/xrServerEntities/InfoPortionDefs.h index 729f6030d12..555703156e6 100644 --- a/src/xrServerEntities/InfoPortionDefs.h +++ b/src/xrServerEntities/InfoPortionDefs.h @@ -1,13 +1,13 @@ #pragma once -typedef shared_str INFO_DATA; -DEFINE_VECTOR(INFO_DATA, KNOWN_INFO_VECTOR, KNOWN_INFO_VECTOR_IT); +using INFO_DATA = shared_str; +using KNOWN_INFO_VECTOR = xr_vector; class CFindByIDPred { + shared_str element; + public: CFindByIDPred(shared_str element_to_find) { element = element_to_find; } IC bool operator()(const INFO_DATA& data) const { return data == element; } -private: - shared_str element; }; diff --git a/src/xrServerEntities/ItemListTypes.h b/src/xrServerEntities/ItemListTypes.h index 92f95b65102..557ff06f246 100644 --- a/src/xrServerEntities/ItemListTypes.h +++ b/src/xrServerEntities/ItemListTypes.h @@ -54,6 +54,6 @@ class ListItem IC void SetIcon(int index) { icon_index = index; } }; -DEFINE_VECTOR(ListItem*, ListItemsVec, ListItemsIt); +using ListItemsVec = xr_vector; //--------------------------------------------------------------------------- #endif diff --git a/src/xrServerEntities/PHNetState.cpp b/src/xrServerEntities/PHNetState.cpp index 91bfc6a9f53..65b74d7c0e1 100644 --- a/src/xrServerEntities/PHNetState.cpp +++ b/src/xrServerEntities/PHNetState.cpp @@ -217,7 +217,7 @@ void SPHBonesData::net_Save(NET_Packet& P) P.w_vec3(get_min()); P.w_vec3(get_max()); P.w_u16((u16)bones.size()); // bones number; - PHNETSTATE_I i = bones.begin(), e = bones.end(); + auto i = bones.begin(), e = bones.end(); for (; e != i; i++) { (*i).net_Save(P, get_min(), get_max()); diff --git a/src/xrServerEntities/PHNetState.h b/src/xrServerEntities/PHNetState.h index bb07b526989..9dc4d79e377 100644 --- a/src/xrServerEntities/PHNetState.h +++ b/src/xrServerEntities/PHNetState.h @@ -43,7 +43,7 @@ struct SPHNetState void read(src& P, const Fvector& min, const Fvector& max); }; -DEFINE_VECTOR(SPHNetState, PHNETSTATE_VECTOR, PHNETSTATE_I); +using PHNETSTATE_VECTOR = xr_vector; struct SPHBonesData { @@ -53,7 +53,6 @@ struct SPHBonesData Fvector m_min; Fvector m_max; -public: SPHBonesData(); void net_Save(NET_Packet& P); void net_Load(NET_Packet& P); diff --git a/src/xrServerEntities/PropertiesListTypes.h b/src/xrServerEntities/PropertiesListTypes.h index dd497dc3b1a..774a47b71e4 100644 --- a/src/xrServerEntities/PropertiesListTypes.h +++ b/src/xrServerEntities/PropertiesListTypes.h @@ -46,7 +46,7 @@ enum EPropType struct xr_token; class PropValue; class PropItem; -DEFINE_VECTOR(PropItem*, PropItemVec, PropItemIt); +using PropItemVec = xr_vector; //------------------------------------------------------------------------------ #include "xrCore/ChooseTypes.H" @@ -140,7 +140,7 @@ class PropItem void* item; public: - DEFINE_VECTOR(PropValue*, PropValueVec, PropValueIt); + using PropValueVec = xr_vector; private: PropValueVec values; @@ -178,7 +178,7 @@ class PropItem } virtual ~PropItem() { - for (PropValueIt it = values.begin(); values.end() != it; ++it) + for (auto it = values.begin(); values.end() != it; ++it) xr_delete(*it); }; TProperties* Owner() { return m_Owner; } @@ -186,7 +186,7 @@ class PropItem void ResetValues() { - for (PropValueIt it = values.begin(); values.end() != it; ++it) + for (auto it = values.begin(); values.end() != it; ++it) (*it)->ResetValue(); CheckMixed(); } @@ -209,8 +209,8 @@ class PropItem m_Flags.set(flMixed, false); if (values.size() > 1) { - PropValueIt F = values.begin(); - PropValueIt it = F; + auto F = values.begin(); + auto it = F; ++it; for (; values.end() != it; ++it) { @@ -245,7 +245,7 @@ class PropItem { bool bChanged = false; m_Flags.set(flMixed, false); - for (PropValueIt it = values.begin(); values.end() != it; ++it) + for (auto it = values.begin(); values.end() != it; ++it) { T1* CV = smart_cast(*it); VERIFY(CV); @@ -278,7 +278,7 @@ class PropItem void OnChange() { - for (PropValueIt it = values.begin(); values.end() != it; ++it) + for (auto it = values.begin(); values.end() != it; ++it) if (!(*it)->OnChangeEvent.empty()) (*it)->OnChangeEvent(*it); } @@ -286,7 +286,7 @@ class PropItem template IC void OnBeforeEdit () { - for (PropValueIt it=values.begin(); values.end() != it; ++it){ + for (auto it=values.begin(); values.end() != it; ++it){ T1* CV = smart_cast(*it); VERIFY(CV); if (CV->OnChangeEvent) CV->OnChangeEvent(*it); } diff --git a/src/xrServerEntities/ShapeData.h b/src/xrServerEntities/ShapeData.h index 2c4dd24e0e9..2ab748dd9fc 100644 --- a/src/xrServerEntities/ShapeData.h +++ b/src/xrServerEntities/ShapeData.h @@ -13,17 +13,19 @@ struct CShapeData cfSphere = 0, cfBox }; + union shape_data { Fsphere sphere; Fmatrix box; }; + struct shape_def { u8 type; shape_data data; }; - DEFINE_VECTOR(shape_def, ShapeVec, ShapeIt); + using ShapeVec = xr_vector; ShapeVec shapes; }; diff --git a/src/xrServerEntities/alife_space.h b/src/xrServerEntities/alife_space.h index f1591c702c5..06a6f1d4546 100644 --- a/src/xrServerEntities/alife_space.h +++ b/src/xrServerEntities/alife_space.h @@ -165,14 +165,15 @@ extern const xr_token hit_types_token[]; IC LPCSTR g_cafHitType2String(EHitType tHitType) { return get_token_name(hit_types_token, tHitType); } #endif -DEFINE_VECTOR(int, INT_VECTOR, INT_IT); -DEFINE_VECTOR(_OBJECT_ID, OBJECT_VECTOR, OBJECT_IT); -DEFINE_VECTOR(CSE_ALifeInventoryItem*, ITEM_P_VECTOR, ITEM_P_IT); -DEFINE_VECTOR(CSE_ALifeItemWeapon*, WEAPON_P_VECTOR, WEAPON_P_IT); -DEFINE_VECTOR(CSE_ALifeSchedulable*, SCHEDULE_P_VECTOR, SCHEDULE_P_IT); - -DEFINE_MAP(_OBJECT_ID, CSE_ALifeDynamicObject*, D_OBJECT_P_MAP, D_OBJECT_P_PAIR_IT); -DEFINE_MAP(_STORY_ID, CSE_ALifeDynamicObject*, STORY_P_MAP, STORY_P_PAIR_IT); -}; +using INT_VECTOR = xr_vector; +using OBJECT_VECTOR = xr_vector<_OBJECT_ID>; +using OBJECT_IT = OBJECT_VECTOR::iterator; +using ITEM_P_VECTOR = xr_vector; +using WEAPON_P_VECTOR = xr_vector; +using SCHEDULE_P_VECTOR = xr_vector; + +using D_OBJECT_P_MAP = xr_map<_OBJECT_ID, CSE_ALifeDynamicObject*>; +using STORY_P_MAP = xr_map<_STORY_ID, CSE_ALifeDynamicObject*>; +} #endif // XRAY_ALIFE_SPACE diff --git a/src/xrServerEntities/gametype_chooser.h b/src/xrServerEntities/gametype_chooser.h index 498343b6fff..24c4cad8068 100644 --- a/src/xrServerEntities/gametype_chooser.h +++ b/src/xrServerEntities/gametype_chooser.h @@ -38,7 +38,7 @@ inline EGameIDs ParseStringToGameType(LPCSTR str) class PropValue; class PropItem; -DEFINE_VECTOR(PropItem*, PropItemVec, PropItemIt); +using PropItemVec = xr_vector; struct GameTypeChooser { diff --git a/src/xrServerEntities/smart_cast_impl1.h b/src/xrServerEntities/smart_cast_impl1.h index 301bcb733f6..bac443b9457 100644 --- a/src/xrServerEntities/smart_cast_impl1.h +++ b/src/xrServerEntities/smart_cast_impl1.h @@ -515,10 +515,9 @@ struct CHelper2 template IC static T1* smart_cast(T2* p) { - static_assert(!object_type_traits::is_const::value || object_type_traits::is_const::value, - "Cannot use smart_cast to convert const to non-const."); - typedef object_type_traits::remove_const::type _T1; - typedef object_type_traits::remove_const::type _T2; + static_assert(!std::is_const_v || std::is_const_v, "Cannot use smart cast to convert const to non const"); + typedef std::remove_const_t _T1; + typedef std::remove_const_t _T2; #ifdef DEBUG T1* temp = SmartDynamicCast::smart_cast<_T1>(const_cast<_T2*>(p)); T1* test = dynamic_cast(p); @@ -541,7 +540,7 @@ struct CHelper2 add_smart_cast_stats(typeid(T2*).name(), typeid(void*).name()); #endif if (!p) - return ((void*)0); + return nullptr; return (dynamic_cast(p)); } }; @@ -551,31 +550,28 @@ template IC T1 smart_cast(T2* p) { #ifdef PURE_DYNAMIC_CAST_COMPATIBILITY_CHECK - static_assert(object_type_traits::is_pointer::value, "Invalid target type for Dynamic Cast."); - static_assert(object_type_traits::is_void::type>::value || - std::is_polymorphic::type>::value, - "Invalid target type for Dynamic Cast"); - static_assert(std::is_polymorphic::value, "Invalid source type for Dynamic Cast."); + static_assert(std::is_pointer_v, "Invalid target type for dynamic_cast"); + static_assert(std::is_void_v> || std::is_polymorphic_v>, "Invalid target type for dynamic_cast"); + static_assert(std::is_polymorphic_v, "Invalid source type for dynamic_cast"); #endif #ifdef SMART_CAST_STATS_ALL add_smart_cast_stats_all(typeid(T2*).name(), typeid(T1).name()); #endif if (!p) return (reinterpret_cast(p)); - return (SmartDynamicCast::CHelper2::smart_cast::type>(p)); + return (SmartDynamicCast::CHelper2::smart_cast>(p)); } template IC T1 smart_cast(T2& p) { #ifdef PURE_DYNAMIC_CAST_COMPATIBILITY_CHECK - static_assert(object_type_traits::is_reference::value, "Invalid target type for Dynamic Cast."); - static_assert(std::is_polymorphic::type>::value, - "Invalid target type for Dynamic Cast."); - static_assert(std::is_polymorphic::value, "Invalid source type for Dynamic Cast."); + static_assert(std::is_reference_v, "Invalid target type for dynamic_cast"); + static_assert(std::is_polymorphic_v>, "Invalid target type_for_Dynamic_Cast"); + static_assert(std::is_polymorphic_v, "Invalid source type for dynamic_cast"); #endif #ifdef SMART_CAST_STATS_ALL - add_smart_cast_stats_all(typeid(T2*).name(), typeid(object_type_traits::remove_reference::type*).name()); + add_smart_cast_stats_all(typeid(T2*).name(), typeid(std::remove_reference_t*).name()); #endif return (*SmartDynamicCast::CHelper2::smart_cast::type>(&p)); } diff --git a/src/xrServerEntities/xrServer_Space.h b/src/xrServerEntities/xrServer_Space.h index ca7cdc406ce..dfe04f69162 100644 --- a/src/xrServerEntities/xrServer_Space.h +++ b/src/xrServerEntities/xrServer_Space.h @@ -27,11 +27,11 @@ enum EPOType epotSkeleton }; -DEFINE_VECTOR(u32, DWORD_VECTOR, DWORD_IT); -DEFINE_VECTOR(bool, BOOL_VECTOR, BOOL_IT); -DEFINE_VECTOR(float, FLOAT_VECTOR, FLOAT_IT); -DEFINE_VECTOR(LPSTR, LPSTR_VECTOR, LPSTR_IT); -DEFINE_VECTOR(Fvector, FVECTOR_VECTOR, FVECTOR_IT); +using DWORD_VECTOR = xr_vector; +using BOOL_VECTOR = xr_vector; +using FLOAT_VECTOR = xr_vector; +using LPSTR_VECTOR = xr_vector; +using FVECTOR_VECTOR = xr_vector; #ifdef XRGAME_EXPORTS #define DECLARE_ENTITY_DESTROY diff --git a/src/xrSound/Sound.h b/src/xrSound/Sound.h index a221981a59d..ba6b1c5b329 100644 --- a/src/xrSound/Sound.h +++ b/src/xrSound/Sound.h @@ -113,7 +113,6 @@ class ref_sound_data : public xr_resource u32 dwBytesTotal; float fTimeTotal; -public: ref_sound_data() throw(); ref_sound_data(LPCSTR fName, esound_type sound_type, int game_type); virtual ~ref_sound_data(); @@ -131,7 +130,6 @@ struct ref_sound { ref_sound_data_ptr _p; -public: ref_sound() {} ~ref_sound() {} CSound_source* _handle() const; @@ -247,10 +245,9 @@ class XRSOUND_API CSound_stats_ext u32 _rendered : 1; }; }; - DEFINE_VECTOR(SItem, item_vec, item_vec_it); + using item_vec = xr_vector; item_vec items; -public: void clear() { items.clear(); } void append(const SItem& itm) { items.push_back(itm); } }; diff --git a/src/xrSound/SoundRender_Environment.cpp b/src/xrSound/SoundRender_Environment.cpp index 4bc795302c8..02a88623af8 100644 --- a/src/xrSound/SoundRender_Environment.cpp +++ b/src/xrSound/SoundRender_Environment.cpp @@ -184,17 +184,17 @@ void SoundEnvironment_LIB::Unload() } int SoundEnvironment_LIB::GetID(LPCSTR name) { - for (SE_IT it = library.begin(); it != library.end(); it++) + for (auto it = library.begin(); it != library.end(); ++it) if (0 == _stricmp(name, *(*it)->name)) return int(it - library.begin()); return -1; } CSoundRender_Environment* SoundEnvironment_LIB::Get(LPCSTR name) { - for (SE_IT it = library.begin(); it != library.end(); it++) - if (0 == _stricmp(name, *(*it)->name)) - return *it; - return NULL; + for (const auto& it : library) + if (0 == _stricmp(name, *it->name)) + return it; + return nullptr; } CSoundRender_Environment* SoundEnvironment_LIB::Get(int id) { return library[id]; } CSoundRender_Environment* SoundEnvironment_LIB::Append(CSoundRender_Environment* parent) @@ -204,7 +204,7 @@ CSoundRender_Environment* SoundEnvironment_LIB::Append(CSoundRender_Environment* } void SoundEnvironment_LIB::Remove(LPCSTR name) { - for (SE_IT it = library.begin(); it != library.end(); it++) + for (auto it = library.begin(); it != library.end(); ++it) if (0 == _stricmp(name, *(*it)->name)) { xr_delete(*it); diff --git a/src/xrSound/SoundRender_Environment.h b/src/xrSound/SoundRender_Environment.h index bd6db5f31e1..eca111b923a 100644 --- a/src/xrSound/SoundRender_Environment.h +++ b/src/xrSound/SoundRender_Environment.h @@ -22,7 +22,7 @@ class XRSOUND_EDITOR_API CSoundRender_Environment : public CSound_environment float EnvironmentSize; // environment size in meters float EnvironmentDiffusion; // environment diffusion float AirAbsorptionHF; // change in level per meter at 5 kHz -public: + CSoundRender_Environment(void); ~CSoundRender_Environment(void); void set_identity(); @@ -36,7 +36,7 @@ class XRSOUND_EDITOR_API CSoundRender_Environment : public CSound_environment class XRSOUND_EDITOR_API SoundEnvironment_LIB { public: - DEFINE_VECTOR(CSoundRender_Environment*, SE_VEC, SE_IT); + using SE_VEC = xr_vector; private: SE_VEC library;