From 9617bde3ec3a6f3656998d007da3173700f62769 Mon Sep 17 00:00:00 2001 From: Nicolas Braud-Santoni Date: Thu, 5 May 2016 15:21:44 +0200 Subject: [PATCH] Cleaning up RLT_* macros ```c #define RLT_FIXED 1 #undef RLT_DYNAMIC #undef RLT_MAP ``` --- BBGE/Core.h | 42 ----------------------------------- BBGE/RenderObjectLayer.cpp | 45 -------------------------------------- 2 files changed, 87 deletions(-) diff --git a/BBGE/Core.h b/BBGE/Core.h index 63b02cc..88a1111 100644 --- a/BBGE/Core.h +++ b/BBGE/Core.h @@ -332,48 +332,17 @@ public: inline bool empty() { - #ifdef RLT_FIXED return objectCount == 0; - #endif - #ifdef RLT_DYNAMIC - return renderObjectList.empty(); - #endif - return false; } inline RenderObject *getFirst() { - #ifdef RLT_DYNAMIC - if (renderObjectList.empty()) return 0; - iter = renderObjectList.begin(); - return *iter; - #endif - #ifdef RLT_MAP - if (renderObjectMap.empty()) return 0; - iter = renderObjectMap.begin(); - return (*iter).second; - #endif - #ifdef RLT_FIXED iter = 0; return getNext(); - #endif } RenderObject *getNext() { - #ifdef RLT_DYNAMIC - if (iter == renderObjectList.end()) return 0; - iter++; - if (iter == renderObjectList.end()) return 0; - return *iter; - #endif - #ifdef RLT_MAP - if (iter == renderObjectMap.end()) return 0; - iter++; - if (iter == renderObjectMap.end()) return 0; - return (*iter).second; - #endif - #ifdef RLT_FIXED const int size = renderObjects.size(); int i; for (i = iter; i < size; i++) @@ -391,7 +360,6 @@ public: iter = i; return 0; } - #endif return 0; } @@ -427,20 +395,10 @@ protected: }; std::vector displayList; -#ifdef RLT_DYNAMIC - RenderObjectList renderObjectList; - RenderObjectList::iterator iter; -#endif -#ifdef RLT_MAP - RenderObjectMap renderObjectMap; - RenderObjectMap::iterator iter; -#endif -#ifdef RLT_FIXED RenderObjects renderObjects; int objectCount; int firstFreeIdx; int iter; -#endif }; class Core : public ActionMapper, public StateManager diff --git a/BBGE/RenderObjectLayer.cpp b/BBGE/RenderObjectLayer.cpp index a449ee2..3a96ae8 100644 --- a/BBGE/RenderObjectLayer.cpp +++ b/BBGE/RenderObjectLayer.cpp @@ -20,14 +20,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "Core.h" -#ifdef RLT_FIXED #define BASE_ARRAY_SIZE 100 // Size of an object array in a new layer -#endif RenderObjectLayer::RenderObjectLayer() -#ifdef RLT_FIXED : renderObjects(BASE_ARRAY_SIZE) -#endif { followCamera = NO_FOLLOW_CAMERA; visible = true; @@ -43,13 +39,11 @@ RenderObjectLayer::RenderObjectLayer() displayListValid = false; -#ifdef RLT_FIXED const int size = renderObjects.size(); for (int i = 0; i < size; i++) renderObjects[i] = 0; objectCount = 0; firstFreeIdx = 0; -#endif } RenderObjectLayer::~RenderObjectLayer() @@ -68,19 +62,12 @@ void RenderObjectLayer::setOptimizeStatic(bool opt) clearDisplayList(); } -#ifdef RLT_DYNAMIC -bool sortRenderObjectsByDepth(RenderObject *r1, RenderObject *r2) -{ - return r1->getSortDepth() < r2->getSortDepth(); -} -#endif void RenderObjectLayer::sort() { if (optimizeStatic && displayListValid) return; // Assume the order hasn't changed -#ifdef RLT_FIXED // Compress the list before sorting to boost speed. const int size = renderObjects.size(); int from, to; @@ -141,15 +128,10 @@ void RenderObjectLayer::sort() sortDepths[best] = d; } } -#endif -#ifdef RLT_DYNAMIC - renderObjectList.sort(sortRenderObjectsByDepth); -#endif } void RenderObjectLayer::add(RenderObject* r) { -#ifdef RLT_FIXED int size = renderObjects.size(); if (firstFreeIdx >= size) { @@ -166,20 +148,12 @@ void RenderObjectLayer::add(RenderObject* r) if (!renderObjects[firstFreeIdx]) break; } -#endif -#ifdef RLT_DYNAMIC - renderObjectList.push_back(r); -#endif -#ifdef RLT_MAP - renderObjectMap[intptr_t(r)] = r; -#endif clearDisplayList(); } void RenderObjectLayer::remove(RenderObject* r) { -#ifdef RLT_FIXED const int idx = r->getIdx(); if (idx < 0 || idx >= renderObjects.size()) { @@ -196,20 +170,12 @@ void RenderObjectLayer::remove(RenderObject* r) if (idx < firstFreeIdx) firstFreeIdx = idx; r->setIdx(-1); -#endif -#ifdef RLT_DYNAMIC - renderObjectList.remove(r); -#endif -#ifdef RLT_MAP - renderObjectMap[intptr_t(r)] = 0; -#endif clearDisplayList(); } void RenderObjectLayer::moveToFront(RenderObject *r) { -#ifdef RLT_FIXED const int size = renderObjects.size(); const int curIdx = r->getIdx(); int lastUsed; @@ -267,18 +233,12 @@ void RenderObjectLayer::moveToFront(RenderObject *r) while (renderObjects[firstFreeIdx]) firstFreeIdx++; } -#endif // RLT_FIXED -#ifdef RLT_DYNAMIC - renderObjectList.remove(r); - renderObjectList.push_back(r); -#endif clearDisplayList(); } void RenderObjectLayer::moveToBack(RenderObject *r) { -#ifdef RLT_FIXED const int size = renderObjects.size(); const int curIdx = r->getIdx(); int firstUsed; @@ -341,11 +301,6 @@ void RenderObjectLayer::moveToBack(RenderObject *r) break; } } -#endif // RLT_FIXED -#ifdef RLT_DYNAMIC - renderObjectList.remove(r); - renderObjectList.push_front(r); -#endif clearDisplayList(); }