Mantis: #18 - Move components from global namespace into their own namespace.

Moving classes from components/misc into Misc namespace.

Note: Misc namespace introduced conflict with ESM::Misc and MWClass::Misc
classes, so both of them are renamed to ESM::Miscellaneous
and MWClass::Miscellaneous.

Signed-off-by: Lukasz Gromanowski <lgromanowski@gmail.com>
actorid
Lukasz Gromanowski 14 years ago
parent 8a84201ba2
commit 90985e849e

@ -338,12 +338,12 @@ void OMW::Engine::go()
ogreCfg.insert(0, cfgUserDir); ogreCfg.insert(0, cfgUserDir);
//A local plugins.cfg will be used if it exist, otherwise look in the default path //A local plugins.cfg will be used if it exist, otherwise look in the default path
if(!isFile(plugCfg.c_str())) if(!Misc::isFile(plugCfg.c_str()))
{ {
plugCfg.insert(0, cfgDir); plugCfg.insert(0, cfgDir);
} }
mOgre.configure(!isFile(ogreCfg.c_str()), cfgUserDir, plugCfg, false); mOgre.configure(!Misc::isFile(ogreCfg.c_str()), cfgUserDir, plugCfg, false);
addResourcesDirectory (mDataDir / "Meshes"); addResourcesDirectory (mDataDir / "Meshes");
addResourcesDirectory (mDataDir / "Textures"); addResourcesDirectory (mDataDir / "Textures");

@ -84,7 +84,7 @@ bool parseOptions (int argc, char**argv, OMW::Engine& engine)
//If there is an openmw.cfg in the current path use that as global config //If there is an openmw.cfg in the current path use that as global config
//Otherwise try getPath //Otherwise try getPath
std::string cfgFile = "openmw.cfg"; std::string cfgFile = "openmw.cfg";
if(!isFile(cfgFile.c_str())) if(!Misc::isFile(cfgFile.c_str()))
{ {
cfgFile = Files::getPath (Files::Path_ConfigGlobal, "openmw", "openmw.cfg"); cfgFile = Files::getPath (Files::Path_ConfigGlobal, "openmw", "openmw.cfg");
} }

@ -42,7 +42,7 @@ namespace MWClass
ItemLevList::registerSelf(); ItemLevList::registerSelf();
Light::registerSelf(); Light::registerSelf();
Lockpick::registerSelf(); Lockpick::registerSelf();
Misc::registerSelf(); Miscellaneous::registerSelf();
Probe::registerSelf(); Probe::registerSelf();
Repair::registerSelf(); Repair::registerSelf();
Static::registerSelf(); Static::registerSelf();

@ -14,11 +14,11 @@
namespace MWClass namespace MWClass
{ {
void Misc::insertObj (const MWWorld::Ptr& ptr, MWRender::CellRenderImp& cellRender, void Miscellaneous::insertObj (const MWWorld::Ptr& ptr, MWRender::CellRenderImp& cellRender,
MWWorld::Environment& environment) const MWWorld::Environment& environment) const
{ {
ESMS::LiveCellRef<ESM::Misc, MWWorld::RefData> *ref = ESMS::LiveCellRef<ESM::Miscellaneous, MWWorld::RefData> *ref =
ptr.get<ESM::Misc>(); ptr.get<ESM::Miscellaneous>();
assert (ref->base != NULL); assert (ref->base != NULL);
const std::string &model = ref->base->model; const std::string &model = ref->base->model;
@ -31,39 +31,39 @@ namespace MWClass
} }
} }
std::string Misc::getName (const MWWorld::Ptr& ptr) const std::string Miscellaneous::getName (const MWWorld::Ptr& ptr) const
{ {
ESMS::LiveCellRef<ESM::Misc, MWWorld::RefData> *ref = ESMS::LiveCellRef<ESM::Miscellaneous, MWWorld::RefData> *ref =
ptr.get<ESM::Misc>(); ptr.get<ESM::Miscellaneous>();
return ref->base->name; return ref->base->name;
} }
boost::shared_ptr<MWWorld::Action> Misc::activate (const MWWorld::Ptr& ptr, boost::shared_ptr<MWWorld::Action> Miscellaneous::activate (const MWWorld::Ptr& ptr,
const MWWorld::Ptr& actor, const MWWorld::Environment& environment) const const MWWorld::Ptr& actor, const MWWorld::Environment& environment) const
{ {
return boost::shared_ptr<MWWorld::Action> ( return boost::shared_ptr<MWWorld::Action> (
new MWWorld::ActionTake (ptr)); new MWWorld::ActionTake (ptr));
} }
void Misc::insertIntoContainer (const MWWorld::Ptr& ptr, void Miscellaneous::insertIntoContainer (const MWWorld::Ptr& ptr,
MWWorld::ContainerStore<MWWorld::RefData>& containerStore) const MWWorld::ContainerStore<MWWorld::RefData>& containerStore) const
{ {
insertIntoContainerStore (ptr, containerStore.miscItems); insertIntoContainerStore (ptr, containerStore.miscItems);
} }
std::string Misc::getScript (const MWWorld::Ptr& ptr) const std::string Miscellaneous::getScript (const MWWorld::Ptr& ptr) const
{ {
ESMS::LiveCellRef<ESM::Misc, MWWorld::RefData> *ref = ESMS::LiveCellRef<ESM::Miscellaneous, MWWorld::RefData> *ref =
ptr.get<ESM::Misc>(); ptr.get<ESM::Miscellaneous>();
return ref->base->script; return ref->base->script;
} }
void Misc::registerSelf() void Miscellaneous::registerSelf()
{ {
boost::shared_ptr<Class> instance (new Misc); boost::shared_ptr<Class> instance (new Miscellaneous);
registerClass (typeid (ESM::Misc).name(), instance); registerClass (typeid (ESM::Miscellaneous).name(), instance);
} }
} }

@ -5,7 +5,7 @@
namespace MWClass namespace MWClass
{ {
class Misc : public MWWorld::Class class Miscellaneous : public MWWorld::Class
{ {
public: public:

@ -16,7 +16,7 @@ namespace MWWorld
ESMS::CellRefList<ESM::Ingredient, D> ingreds; ESMS::CellRefList<ESM::Ingredient, D> ingreds;
ESMS::CellRefList<ESM::Light, D> lights; ESMS::CellRefList<ESM::Light, D> lights;
ESMS::CellRefList<ESM::Tool, D> lockpicks; ESMS::CellRefList<ESM::Tool, D> lockpicks;
ESMS::CellRefList<ESM::Misc, D> miscItems; ESMS::CellRefList<ESM::Miscellaneous, D> miscItems;
ESMS::CellRefList<ESM::Probe, D> probes; ESMS::CellRefList<ESM::Probe, D> probes;
ESMS::CellRefList<ESM::Repair, D> repairs; ESMS::CellRefList<ESM::Repair, D> repairs;
ESMS::CellRefList<ESM::Weapon, D> weapons; ESMS::CellRefList<ESM::Weapon, D> weapons;

@ -135,7 +135,7 @@ namespace MWWorld
if (ESMS::LiveCellRef<ESM::Tool, RefData> *ref = cell.lockpicks.find (name)) if (ESMS::LiveCellRef<ESM::Tool, RefData> *ref = cell.lockpicks.find (name))
return Ptr (ref, &cell); return Ptr (ref, &cell);
if (ESMS::LiveCellRef<ESM::Misc, RefData> *ref = cell.miscItems.find (name)) if (ESMS::LiveCellRef<ESM::Miscellaneous, RefData> *ref = cell.miscItems.find (name))
return Ptr (ref, &cell); return Ptr (ref, &cell);
if (ESMS::LiveCellRef<ESM::NPC, RefData> *ref = cell.npcs.find (name)) if (ESMS::LiveCellRef<ESM::NPC, RefData> *ref = cell.npcs.find (name))
@ -198,7 +198,7 @@ namespace MWWorld
if (ESMS::LiveCellRef<ESM::Tool, RefData> *ref = searchViaHandle (handle, cell.lockpicks)) if (ESMS::LiveCellRef<ESM::Tool, RefData> *ref = searchViaHandle (handle, cell.lockpicks))
return Ptr (ref, &cell); return Ptr (ref, &cell);
if (ESMS::LiveCellRef<ESM::Misc, RefData> *ref = searchViaHandle (handle, cell.miscItems)) if (ESMS::LiveCellRef<ESM::Miscellaneous, RefData> *ref = searchViaHandle (handle, cell.miscItems))
return Ptr (ref, &cell); return Ptr (ref, &cell);
if (ESMS::LiveCellRef<ESM::NPC, RefData> *ref = searchViaHandle (handle, cell.npcs)) if (ESMS::LiveCellRef<ESM::NPC, RefData> *ref = searchViaHandle (handle, cell.npcs))

@ -3,6 +3,8 @@
namespace ESM namespace ESM
{ {
using namespace Misc;
ESM_Context ESMReader::getContext() ESM_Context ESMReader::getContext()
{ {
// Update the file position before returning // Update the file position before returning

@ -3,7 +3,7 @@
namespace ESM namespace ESM
{ {
void Misc::load(ESMReader &esm) void Miscellaneous::load(ESMReader &esm)
{ {
model = esm.getHNString("MODL"); model = esm.getHNString("MODL");
name = esm.getHNOString("FNAM"); name = esm.getHNOString("FNAM");

@ -11,7 +11,7 @@ namespace ESM
* carried, bought and sold. It also includes keys. * carried, bought and sold. It also includes keys.
*/ */
struct Misc struct Miscellaneous
{ {
struct MCDTstruct struct MCDTstruct
{ {

@ -100,7 +100,7 @@ namespace ESMS
CellRefList<ItemLevList, D> itemLists; CellRefList<ItemLevList, D> itemLists;
CellRefList<ESM::Light, D> lights; CellRefList<ESM::Light, D> lights;
CellRefList<Tool, D> lockpicks; CellRefList<Tool, D> lockpicks;
CellRefList<Misc, D> miscItems; CellRefList<Miscellaneous, D> miscItems;
CellRefList<NPC, D> npcs; CellRefList<NPC, D> npcs;
CellRefList<Probe, D> probes; CellRefList<Probe, D> probes;
CellRefList<Repair, D> repairs; CellRefList<Repair, D> repairs;

@ -52,7 +52,7 @@ namespace ESMS
RecListT<ItemLevList> itemLists; RecListT<ItemLevList> itemLists;
RecListT<Light> lights; RecListT<Light> lights;
RecListT<Tool> lockpicks; RecListT<Tool> lockpicks;
RecListT<Misc> miscItems; RecListT<Miscellaneous> miscItems;
RecListWithIDT<NPC> npcs; RecListWithIDT<NPC> npcs;
RecListT<LoadNPCC> npcChange; RecListT<LoadNPCC> npcChange;
RecListT<Probe> probes; RecListT<Probe> probes;

@ -4,9 +4,13 @@
#include <OgrePrerequisites.h> #include <OgrePrerequisites.h>
namespace Misc
{
bool isFile(const char *name) bool isFile(const char *name)
{ {
boost::filesystem::path cfg_file_path(name); boost::filesystem::path cfg_file_path(name);
return boost::filesystem::exists(cfg_file_path); return boost::filesystem::exists(cfg_file_path);
} }
}

@ -1,8 +1,11 @@
#ifndef __FILEOPS_H_ #ifndef MISC_FILEOPS_H
#define __FILEOPS_H_ #define MISC_FILEOPS_H
#include <string> #include <string>
namespace Misc
{
/// Check if a given path is an existing file (not a directory) /// Check if a given path is an existing file (not a directory)
bool isFile(const char *name); bool isFile(const char *name);
@ -10,4 +13,6 @@ bool isFile(const char *name);
std::string macBundlePath(); std::string macBundlePath();
#endif #endif
}
#endif #endif

@ -21,14 +21,17 @@
*/ */
#ifndef _SLICE_ARRAY_H_ #ifndef MISC_SLICE_ARRAY_H
#define _SLICE_ARRAY_H_ #define MISC_SLICE_ARRAY_H
// A simple array implementation containing a pointer and a // A simple array implementation containing a pointer and a
// length. Used for holding slices into a data buffer. // length. Used for holding slices into a data buffer.
#include <string.h> #include <string.h>
#include <string> #include <string>
namespace Misc
{
template <class T> template <class T>
struct SliceArray struct SliceArray
{ {
@ -74,4 +77,6 @@ typedef SliceArray<char> SString;
typedef SliceArray<int> IntArray; typedef SliceArray<int> IntArray;
typedef SliceArray<float> FloatArray; typedef SliceArray<float> FloatArray;
}
#endif #endif

@ -3,6 +3,9 @@
#include <string.h> #include <string.h>
#include <libs/platform/strings.h> #include <libs/platform/strings.h>
namespace Misc
{
bool begins(const char* str1, const char* str2) bool begins(const char* str1, const char* str2)
{ {
while(*str2) while(*str2)
@ -57,3 +60,5 @@ bool iends(const char* str1, const char* str2)
return strcasecmp(str2, str1+len1-len2) == 0; return strcasecmp(str2, str1+len1-len2) == 0;
} }
}

@ -1,5 +1,8 @@
#ifndef __STRINGOPS_H #ifndef MISC_STRINGOPS_H
#define __STRINGOPS_H #define MISC_STRINGOPS_H
namespace Misc
{
/// Returns true if str1 begins with substring str2 /// Returns true if str1 begins with substring str2
bool begins(const char* str1, const char* str2); bool begins(const char* str1, const char* str2);
@ -13,4 +16,6 @@ bool ibegins(const char* str1, const char* str2);
/// Case insensitive, returns true if str1 ends with substring str2 /// Case insensitive, returns true if str1 ends with substring str2
bool iends(const char* str1, const char* str2); bool iends(const char* str1, const char* str2);
}
#endif #endif

@ -46,7 +46,7 @@ public:
class Named : public Controlled class Named : public Controlled
{ {
public: public:
SString name; Misc::SString name;
void read(NIFFile *nif) void read(NIFFile *nif)
{ {

@ -37,7 +37,7 @@ public:
// internal (data is inside the nif itself) texture? // internal (data is inside the nif itself) texture?
bool external; bool external;
SString filename; // In case of external textures Misc::SString filename; // In case of external textures
NiPixelDataPtr data; // In case of internal textures NiPixelDataPtr data; // In case of internal textures
/* Pixel layout /* Pixel layout
@ -88,7 +88,7 @@ public:
class ShapeData : public Record class ShapeData : public Record
{ {
public: public:
FloatArray vertices, normals, colors, uvlist; Misc::FloatArray vertices, normals, colors, uvlist;
const Vector *center; const Vector *center;
float radius; float radius;
@ -123,7 +123,7 @@ class NiTriShapeData : public ShapeData
{ {
public: public:
// Triangles, three vertex indices per triangle // Triangles, three vertex indices per triangle
SliceArray<short> triangles; Misc::SliceArray<short> triangles;
void read(NIFFile *nif) void read(NIFFile *nif)
{ {
@ -377,7 +377,7 @@ public:
{ {
const BoneTrafo *trafo; const BoneTrafo *trafo;
const Vector4 *unknown; const Vector4 *unknown;
SliceArray<VertWeight> weights; Misc::SliceArray<VertWeight> weights;
}; };
const BoneTrafo *trafo; const BoneTrafo *trafo;

@ -65,7 +65,7 @@ public:
struct TextKey struct TextKey
{ {
float time; float time;
SString text; Misc::SString text;
}; };
std::vector<TextKey> list; std::vector<TextKey> list;
@ -93,7 +93,7 @@ public:
"MRK" - marker, only visible in the editor, not rendered in-game "MRK" - marker, only visible in the editor, not rendered in-game
"NCO" - no collision "NCO" - no collision
*/ */
SString string; Misc::SString string;
void read(NIFFile *nif) void read(NIFFile *nif)
{ {

@ -36,6 +36,7 @@
#include <iostream> #include <iostream>
using namespace std; using namespace std;
using namespace Nif; using namespace Nif;
using namespace Misc;
/* This file implements functions from the NIFFile class. It is also /* This file implements functions from the NIFFile class. It is also
where we stash all the functions we couldn't add as inline where we stash all the functions we couldn't add as inline

@ -128,24 +128,24 @@ class NIFFile
char getByte() { return getType<char>(); } char getByte() { return getType<char>(); }
template<class X> template<class X>
SliceArray<X> getArrayLen(int num) Misc::SliceArray<X> getArrayLen(int num)
{ return SliceArray<X>((const X*)inp->getPtr(num*sizeof(X)),num); } { return Misc::SliceArray<X>((const X*)inp->getPtr(num*sizeof(X)),num); }
template<class X> template<class X>
SliceArray<X> getArray() Misc::SliceArray<X> getArray()
{ {
int len = getInt(); int len = getInt();
return getArrayLen<X>(len); return getArrayLen<X>(len);
} }
SString getString() { return getArray<char>(); } Misc::SString getString() { return getArray<char>(); }
const Vector *getVector() { return getPtr<Vector>(); } const Vector *getVector() { return getPtr<Vector>(); }
const Matrix *getMatrix() { return getPtr<Matrix>(); } const Matrix *getMatrix() { return getPtr<Matrix>(); }
const Transformation *getTrafo() { return getPtr<Transformation>(); } const Transformation *getTrafo() { return getPtr<Transformation>(); }
const Vector4 *getVector4() { return getPtr<Vector4>(); } const Vector4 *getVector4() { return getPtr<Vector4>(); }
FloatArray getFloatLen(int num) Misc::FloatArray getFloatLen(int num)
{ return getArrayLen<float>(num); } { return getArrayLen<float>(num); }
// For fixed-size strings where you already know the size // For fixed-size strings where you already know the size

@ -24,6 +24,8 @@
#ifndef _NIF_RECORD_H_ #ifndef _NIF_RECORD_H_
#define _NIF_RECORD_H_ #define _NIF_RECORD_H_
#include <components/misc/slice_array.hpp>
namespace Nif namespace Nif
{ {
@ -88,7 +90,7 @@ struct Record
{ {
// Record type and type name // Record type and type name
int recType; int recType;
SString recName; Misc::SString recName;
Record() : recType(RC_MISSING) {} Record() : recType(RC_MISSING) {}

@ -50,6 +50,7 @@ using namespace std;
using namespace Ogre; using namespace Ogre;
using namespace Nif; using namespace Nif;
using namespace Mangle::VFS; using namespace Mangle::VFS;
using namespace Misc;
NIFLoader& NIFLoader::getSingleton() NIFLoader& NIFLoader::getSingleton()
{ {

Loading…
Cancel
Save