From: <cn...@us...> - 2008-12-30 21:25:59
|
Revision: 109 http://hgengine.svn.sourceforge.net/hgengine/?rev=109&view=rev Author: cnlohr Date: 2008-12-30 21:25:50 +0000 (Tue, 30 Dec 2008) Log Message: ----------- switch to MString Modified Paths: -------------- Mercury2/src/BMPLoader.cpp Mercury2/src/HGMDLMesh.h Mercury2/src/HGMDLModel.cpp Mercury2/src/ImageLoader.cpp Mercury2/src/ImageLoader.h Mercury2/src/MAutoPtr.h Mercury2/src/MercuryAsset.cpp Mercury2/src/MercuryAsset.h Mercury2/src/MercuryNode.cpp Mercury2/src/MercuryNode.h Mercury2/src/MercuryThreads.cpp Mercury2/src/MercuryThreads.h Mercury2/src/MercuryUtil.cpp Mercury2/src/MercuryUtil.h Mercury2/src/MercuryWindow.cpp Mercury2/src/MercuryWindow.h Mercury2/src/Win32Window.cpp Mercury2/src/Win32Window.h Mercury2/src/X11Window.cpp Mercury2/src/X11Window.h Modified: Mercury2/src/BMPLoader.cpp =================================================================== --- Mercury2/src/BMPLoader.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/BMPLoader.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -28,7 +28,7 @@ memset(tmp, 0, 4); // file->Read(tmp, sizeof(char) * 2); fread(tmp, sizeof(char) * 2, 1, file); - string type(tmp); + MString type(tmp); if (type != "BM") { Modified: Mercury2/src/HGMDLMesh.h =================================================================== --- Mercury2/src/HGMDLMesh.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/HGMDLMesh.h 2008-12-30 21:25:50 UTC (rev 109) @@ -8,7 +8,7 @@ public: void LoadFromFile(FILE* hgmdl); private: - string m_name; + MString m_name; bool m_cachable; }; Modified: Mercury2/src/HGMDLModel.cpp =================================================================== --- Mercury2/src/HGMDLModel.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/HGMDLModel.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -18,7 +18,8 @@ fingerPrint[4] = 0; fread(fingerPrint, 4, 1, hgmdl); - if (string(fingerPrint) != "MBMF") + MString p(fingerPrint); + if (p != "MBMF") { printf("Not a HGMDL file.\n"); return; Modified: Mercury2/src/ImageLoader.cpp =================================================================== --- Mercury2/src/ImageLoader.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/ImageLoader.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -1,5 +1,4 @@ #include <ImageLoader.h> -#include <string> #include <MercuryUtil.h> using namespace std; @@ -12,15 +11,15 @@ return *instance; } -bool ImageLoader::RegisterFactoryCallback(const std::string& type, Callback1R< FILE*, RawImageData* > functor) +bool ImageLoader::RegisterFactoryCallback(const MString& type, Callback1R< FILE*, RawImageData* > functor) { - string t = ToUpper( type ); - std::pair<std::string, Callback1R< FILE*, RawImageData* > > pp(t, functor); + MString t = ToUpper( type ); + std::pair<MString, Callback1R< FILE*, RawImageData* > > pp(t, functor); m_factoryCallbacks.push_back( pp ); return true; } -RawImageData* ImageLoader::LoadImage(const std::string& filename) +RawImageData* ImageLoader::LoadImage(const MString& filename) { FILE* f = fopen(filename.c_str(), "rb"); char fingerprint[4]; @@ -29,8 +28,8 @@ fread(fingerprint, sizeof(char)*3, 1, f); fseek(f, 0, SEEK_SET); - string t(fingerprint);// = ToUpper( type ); - std::list< std::pair< std::string, Callback1R< FILE*, RawImageData* > > >::iterator i; + MString t(fingerprint);// = ToUpper( type ); + std::list< std::pair< MString, Callback1R< FILE*, RawImageData* > > >::iterator i; for (i = m_factoryCallbacks.begin(); i != m_factoryCallbacks.end(); ++i) { if (i->first == t) Modified: Mercury2/src/ImageLoader.h =================================================================== --- Mercury2/src/ImageLoader.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/ImageLoader.h 2008-12-30 21:25:50 UTC (rev 109) @@ -1,7 +1,6 @@ #ifndef IMAGELOADER_H #define IMAGELOADER_H -#include <string> #include <RawImageData.h> #include <Callback.h> #include <list> @@ -11,11 +10,11 @@ { public: static ImageLoader& GetInstance(); - bool RegisterFactoryCallback(const std::string& type, Callback1R< FILE*, RawImageData* >); - RawImageData* LoadImage(const std::string& filename); + bool RegisterFactoryCallback(const MString& type, Callback1R< FILE*, RawImageData* >); + RawImageData* LoadImage(const MString& filename); private: - std::list< std::pair< std::string, Callback1R< FILE*, RawImageData* > > > m_factoryCallbacks; + std::list< std::pair< MString, Callback1R< FILE*, RawImageData* > > > m_factoryCallbacks; }; static InstanceCounter<ImageLoader> ILcounter("ImageLoader"); Modified: Mercury2/src/MAutoPtr.h =================================================================== --- Mercury2/src/MAutoPtr.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MAutoPtr.h 2008-12-30 21:25:50 UTC (rev 109) @@ -1,9 +1,6 @@ #ifndef MAUTOPTR_H #define MAUTOPTR_H -//#include <util.h> -//#include <stdlib.h> -//#include <stdio.h> #include <MercuryThreads.h> class RefBase Modified: Mercury2/src/MercuryAsset.cpp =================================================================== --- Mercury2/src/MercuryAsset.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryAsset.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -16,18 +16,18 @@ return *instance; } -bool AssetFactory::RegisterFactoryCallback(const std::string& type, Callback0R< MAutoPtr<MercuryAsset> > functor) +bool AssetFactory::RegisterFactoryCallback(const MString & type, Callback0R< MAutoPtr<MercuryAsset> > functor) { - string t = ToUpper( type ); - std::pair<std::string, Callback0R< MAutoPtr<MercuryAsset> > > pp(t, functor); + MString t = ToUpper( type ); + std::pair<MString , Callback0R< MAutoPtr<MercuryAsset> > > pp(t, functor); m_factoryCallbacks.push_back( pp ); return true; } -MAutoPtr<MercuryAsset> AssetFactory::Generate(const std::string& type) +MAutoPtr<MercuryAsset> AssetFactory::Generate(const MString& type) { - string t = ToUpper( type ); - std::list< std::pair< std::string, Callback0R< MAutoPtr<MercuryAsset> > > >::iterator i; + MString t = ToUpper( type ); + std::list< std::pair< MString, Callback0R< MAutoPtr<MercuryAsset> > > >::iterator i; for (i = m_factoryCallbacks.begin(); i != m_factoryCallbacks.end(); ++i) if (i->first == t) return i->second(); printf("WARNING: Asset type %s not found.\n", type.c_str()); Modified: Mercury2/src/MercuryAsset.h =================================================================== --- Mercury2/src/MercuryAsset.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryAsset.h 2008-12-30 21:25:50 UTC (rev 109) @@ -23,11 +23,11 @@ { public: static AssetFactory& GetInstance(); - bool RegisterFactoryCallback(const std::string& type, Callback0R< MAutoPtr<MercuryAsset> >); - MAutoPtr<MercuryAsset> Generate(const std::string& type); + bool RegisterFactoryCallback(const MString& type, Callback0R< MAutoPtr<MercuryAsset> >); + MAutoPtr<MercuryAsset> Generate(const MString& type); private: - std::list< std::pair< std::string, Callback0R< MAutoPtr<MercuryAsset> > > > m_factoryCallbacks; + std::list< std::pair< MString, Callback0R< MAutoPtr<MercuryAsset> > > > m_factoryCallbacks; }; static InstanceCounter<AssetFactory> AFcounter("AssetFactory"); Modified: Mercury2/src/MercuryNode.cpp =================================================================== --- Mercury2/src/MercuryNode.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryNode.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -123,18 +123,18 @@ } -bool NodeFactory::RegisterFactoryCallback(const std::string& type, Callback0R<MercuryNode*> functor) +bool NodeFactory::RegisterFactoryCallback(const MString& type, Callback0R<MercuryNode*> functor) { - string t = ToUpper( type ); - std::pair<std::string, Callback0R<MercuryNode*> > pp(t, functor); + MString t = ToUpper( type ); + std::pair<MString, Callback0R<MercuryNode*> > pp(t, functor); m_factoryCallbacks.push_back( pp ); return true; } -MercuryNode* NodeFactory::Generate(const std::string& type) +MercuryNode* NodeFactory::Generate(const MString& type) { - string t = ToUpper( type ); - std::list< std::pair< std::string, Callback0R<MercuryNode*> > >::iterator i; + MString t = ToUpper( type ); + std::list< std::pair< MString, Callback0R<MercuryNode*> > >::iterator i; for (i = m_factoryCallbacks.begin(); i != m_factoryCallbacks.end(); ++i) if (i->first == t) return i->second(); return NULL; Modified: Mercury2/src/MercuryNode.h =================================================================== --- Mercury2/src/MercuryNode.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryNode.h 2008-12-30 21:25:50 UTC (rev 109) @@ -5,6 +5,7 @@ #include <Callback.h> #include <typeinfo> #include <XMLParser.h> +#include <MercuryUtil.h> /** This is the basic node of the scene graph. It is not intended to be instanced. Each node exists as a single entity in the scene graph. @@ -67,11 +68,11 @@ { public: static NodeFactory& GetInstance(); - bool RegisterFactoryCallback(const std::string& type, Callback0R<MercuryNode*>); - MercuryNode* Generate(const std::string& type); + bool RegisterFactoryCallback(const MString& type, Callback0R<MercuryNode*>); + MercuryNode* Generate(const MString& type); private: - std::list< std::pair< std::string, Callback0R<MercuryNode*> > > m_factoryCallbacks; + std::list< std::pair< MString, Callback0R<MercuryNode*> > > m_factoryCallbacks; }; static InstanceCounter<NodeFactory> NFcounter("NodeFactory"); Modified: Mercury2/src/MercuryThreads.cpp =================================================================== --- Mercury2/src/MercuryThreads.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryThreads.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -14,7 +14,7 @@ #endif } -MercuryThread::MercuryThread( const string &name ) +MercuryThread::MercuryThread( const MString &name ) :m_name(name), m_haltOnDestroy(true), m_thread(0) { #if defined( WIN32 ) @@ -128,7 +128,7 @@ UnLock(); } -MercuryMutex::MercuryMutex( const string &name ) +MercuryMutex::MercuryMutex( const MString &name ) :m_name(name) { iLockCount = 0; Modified: Mercury2/src/MercuryThreads.h =================================================================== --- Mercury2/src/MercuryThreads.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryThreads.h 2008-12-30 21:25:50 UTC (rev 109) @@ -1,9 +1,13 @@ #ifndef _MERCURY_THREADS_H #define _MERCURY_THREADS_H +#ifdef HGENGINE +#include <MercuryString.h> +#else #include <string> +typedef std::string MString; +#endif -using namespace std; #if !defined(WIN32) #if !defined(_EE) @@ -20,7 +24,7 @@ { public: MercuryThread(); - MercuryThread( const string &name ); + MercuryThread( const MString &name ); ~MercuryThread(); ///Create a thread of function fn and pass it data *data. @@ -41,7 +45,7 @@ // inline void Exit() { pthread_exit(NULL); } inline void HaltOnDestroy(bool t) { m_haltOnDestroy = t; } private: - string m_name; + MString m_name; bool m_haltOnDestroy; #if defined(WIN32) @@ -62,7 +66,7 @@ { public: MercuryMutex( ); - MercuryMutex( const string &name ); + MercuryMutex( const MString &name ); ~MercuryMutex(); ///Wait for a mutex to unlock (0xFFFFFF is infinate on windows) @@ -77,7 +81,7 @@ ///Clean up a mutex. This is done automatically on destruction of mutex. int Close( ); private: - string m_name; + MString m_name; int iLockCount; #if defined( WIN32 ) Modified: Mercury2/src/MercuryUtil.cpp =================================================================== --- Mercury2/src/MercuryUtil.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryUtil.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -1,16 +1,19 @@ #include <MercuryUtil.h> +#include <stdint.h> -std::string ToUpper(const std::string& s) +MString ToUpper(const MString& s) { - std::string t = s; + MString t = s; + char * ti = (char*)t.c_str(); for (unsigned long i = 0; i < s.length(); ++i) { - t[i] = toupper(t[i]); + if( ti[i] >= 'a' && ti[i] <= 'z' ) + ti[i] -= ( 'a' - 'A' ); } return t; } -float StrToFloat(const std::string& s) +float StrToFloat(const MString & s) { float x; sscanf(s.c_str(), "%f", &x); Modified: Mercury2/src/MercuryUtil.h =================================================================== --- Mercury2/src/MercuryUtil.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryUtil.h 2008-12-30 21:25:50 UTC (rev 109) @@ -2,7 +2,8 @@ #define MERCURYUTIL_H #include <stdlib.h> -#include <string> +#include <MercuryString.h> + /*#ifndef NULL #define NULL 0 #endif*/ @@ -24,9 +25,9 @@ #define M_ALIGN(n) #endif -std::string ToUpper(const std::string& s); +MString ToUpper(const MString & s); -float StrToFloat(const std::string& s); +float StrToFloat(const MString & s); //This counter is used with singletons to //ensure proper destruction order of the @@ -36,7 +37,7 @@ class InstanceCounter { public: - InstanceCounter(const std::string& name) + InstanceCounter(const MString & name) :m_name(name) { if (m_count == 0) @@ -57,7 +58,7 @@ } private: static unsigned long m_count; - std::string m_name; + MString m_name; T* m_instance; }; Modified: Mercury2/src/MercuryWindow.cpp =================================================================== --- Mercury2/src/MercuryWindow.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryWindow.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -1,7 +1,6 @@ -#include <string.h> #include "MercuryWindow.h" -MercuryWindow::MercuryWindow(const string& title, int width, int height, int bits, int depthBits, bool fullscreen) +MercuryWindow::MercuryWindow(const MString& title, int width, int height, int bits, int depthBits, bool fullscreen) :m_title(title), m_width(width), m_height(height), m_bits(bits), m_depthBits(depthBits), m_fullscreen(fullscreen) { } Modified: Mercury2/src/MercuryWindow.h =================================================================== --- Mercury2/src/MercuryWindow.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/MercuryWindow.h 2008-12-30 21:25:50 UTC (rev 109) @@ -1,17 +1,14 @@ #ifndef MERCURYWINDOW_H #define MERCURYWINDOW_H -#include <string> #include <MercuryUtil.h> #include <list> #include <Callback.h> -using namespace std; - class MercuryWindow { public: - MercuryWindow(const string& title, int width, int height, int bits, int depthBits, bool fullscreen); + MercuryWindow(const MString& title, int width, int height, int bits, int depthBits, bool fullscreen); virtual ~MercuryWindow(); inline static MercuryWindow* MakeWindow() { @@ -27,13 +24,13 @@ return MercuryWindow::m_windowInstance; } - virtual void* GetProcAddress(const string& x) = 0; + virtual void* GetProcAddress(const MString& x) = 0; protected: static Callback0R< MercuryWindow* > genWindowClbk; static MercuryWindow* m_windowInstance; - string m_title; + MString m_title; int m_width, m_height, m_bits, m_depthBits; bool m_fullscreen; }; Modified: Mercury2/src/Win32Window.cpp =================================================================== --- Mercury2/src/Win32Window.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/Win32Window.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -8,7 +8,7 @@ return new Win32Window("Mercury2 Tests", 640, 480, 24, 16, false); } -LPCTSTR StringToLPCTSTR(const string& s) +LPCTSTR StringToLPCTSTR(const MString & s) { size_t length = s.length(); LPCTSTR str = new WCHAR[length+1]; @@ -17,7 +17,7 @@ return str; } -Win32Window::Win32Window(const string& title, int width, int height, int bits, int depthBits, bool fullscreen) +Win32Window::Win32Window(const MString& title, int width, int height, int bits, int depthBits, bool fullscreen) :m_hwnd(NULL), m_hdc(NULL), m_hglrc(NULL), m_hInstance(NULL), m_className(NULL), m_windowAtom(NULL), m_winTitle(NULL), MercuryWindow(title, width, height, bits, depthBits, fullscreen) { Modified: Mercury2/src/Win32Window.h =================================================================== --- Mercury2/src/Win32Window.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/Win32Window.h 2008-12-30 21:25:50 UTC (rev 109) @@ -2,7 +2,6 @@ #define WIN32WINDOW_H #include <windows.h> -#include <string> #include <MercuryWindow.h> #include <MScopedArray.h> @@ -10,7 +9,7 @@ class Win32Window : public MercuryWindow { public: - Win32Window(const string& title, int width, int height, int bits, int depthBits, bool fullscreen); + Win32Window(const MString& title, int width, int height, int bits, int depthBits, bool fullscreen); virtual ~Win32Window(); virtual bool SwapBuffers(); virtual bool PumpMessages(); Modified: Mercury2/src/X11Window.cpp =================================================================== --- Mercury2/src/X11Window.cpp 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/X11Window.cpp 2008-12-30 21:25:50 UTC (rev 109) @@ -2,7 +2,7 @@ Callback0R< MercuryWindow* > MercuryWindow::genWindowClbk(X11Window::GenX11Window); //Register window generation callback -X11Window::X11Window(const string& title, int width, int height, int bits, int depthBits, bool fullscreen) +X11Window::X11Window(const MString& title, int width, int height, int bits, int depthBits, bool fullscreen) :MercuryWindow(title, width, height, bits, depthBits, fullscreen), m_display(NULL) { m_display = XOpenDisplay(NULL); @@ -148,7 +148,7 @@ return true; } -void* X11Window::GetProcAddress(const string& x) +void* X11Window::GetProcAddress(const MString& x) { return NULL; } Modified: Mercury2/src/X11Window.h =================================================================== --- Mercury2/src/X11Window.h 2008-12-30 21:25:22 UTC (rev 108) +++ Mercury2/src/X11Window.h 2008-12-30 21:25:50 UTC (rev 109) @@ -9,7 +9,7 @@ class X11Window : public MercuryWindow { public: - X11Window(const string& title, int width, int height, int bits, int depthBits, bool fullscreen); + X11Window(const MString& title, int width, int height, int bits, int depthBits, bool fullscreen); virtual ~X11Window(); static MercuryWindow* GenX11Window(); @@ -17,7 +17,7 @@ virtual bool SwapBuffers(); virtual bool PumpMessages(); - virtual void* GetProcAddress(const string& x); + virtual void* GetProcAddress(const MString& x); private: Display* m_display; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |