Skip to content
Snippets Groups Projects
Commit 2e74e9ee authored by ShadowNinja's avatar ShadowNinja
Browse files

Move AreaStore container selection logic into getOptimalImplementation

parent 0079887b
No related branches found
No related tags found
No related merge requests found
......@@ -25,9 +25,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "irr_v3d.h"
#include "util/areastore.h"
#include "filesys.h"
#ifndef ANDROID
#include "cmake_config.h"
#endif
#include <fstream>
static inline void get_data_and_border_flags(lua_State *L, u8 start_i,
......@@ -294,11 +291,7 @@ int LuaAreaStore::l_from_file(lua_State *L)
LuaAreaStore::LuaAreaStore()
{
#if USE_SPATIAL
this->as = new SpatialAreaStore();
#else
this->as = new VectorAreaStore();
#endif
this->as = AreaStore::getOptimalImplementation();
}
LuaAreaStore::LuaAreaStore(const std::string &type)
......
......@@ -44,6 +44,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
AST_OVERLAPS_IN_DIMENSION((amine), (amaxe), (b), Y) && \
AST_OVERLAPS_IN_DIMENSION((amine), (amaxe), (b), Z))
AreaStore *AreaStore::getOptimalImplementation()
{
#if USE_SPATIAL
return new SpatialAreaStore();
#else
return new VectorAreaStore();
#endif
}
u16 AreaStore::size() const
{
return areas_map.size();
......
......@@ -52,7 +52,6 @@ struct Area {
std::string data;
};
std::vector<std::string> get_areastore_typenames();
class AreaStore {
protected:
......@@ -93,6 +92,8 @@ class AreaStore {
const Area *getArea(u32 id) const;
u16 size() const;
static AreaStore *getOptimalImplementation();
#if 0
bool deserialize(std::istream &is);
void serialize(std::ostream &is) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment